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