FROM python:3.14-alpine ENV DDNS_DATABASE=/data/ddns.sqlite3 WORKDIR /app COPY pyproject.toml README.md requirements.txt /app/ COPY karldns /app/karldns COPY scripts /app/karldns/assets/scripts RUN pip install --no-cache-dir -r requirements.txt . \ && addgroup -S karldns \ && adduser -S -G karldns -h /app karldns \ && mkdir -p /data \ && chown -R karldns:karldns /app /data USER karldns EXPOSE 8080 CMD ["karldns", "serve", "--host", "0.0.0.0", "--port", "8080"]