Python-Server ohne Abhängigkeiten, der die dBase/FoxPro-Dateien des originalen KFE-Viewers (KFE.DBF, VORTEXT, GRUPPEN, Parameter, Muster-LVs) direkt einliest, plus Single-Page-Frontend mit Live-Suche, Facettenfiltern, einstellbarer Kalkulation (Lohnsätze, Materialzuschlag, DEL-Notiz), Detailansicht und Merkliste mit CSV-Export. Docker-Image enthält nur die App; die lizenzpflichtigen KFE-Daten werden zur Laufzeit nach /data gemountet und sind nicht Teil des Repos. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
679 B
Docker
22 lines
679 B
Docker
# 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"]
|