# KFE-Viewer als Container. Die KFE-Daten (lizenzpflichtig) sind nicht im Image enthalten,
# sondern werden zur Laufzeit nach /data gemountet – siehe compose.yaml bzw. README.
FROM python:3.13-alpine

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    KFE_DATA=/data \
    KFE_HOST=0.0.0.0 \
    KFE_PORT=8765 \
    KFE_NO_BROWSER=1

WORKDIR /app
COPY server.py index.html ./

RUN adduser -D -H -s /sbin/nologin kfe
USER kfe

EXPOSE 8765
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
  CMD python -c "import os,urllib.request; urllib.request.urlopen('http://127.0.0.1:%s/' % os.environ['KFE_PORT'], timeout=2)"

CMD ["python", "server.py"]
