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
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"]
