19 lines
573 B
Docker
19 lines
573 B
Docker
# Trainingsplan - Container-Image (slim Python, Standardbibliothek nur).
|
|
FROM python:3.13-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# App-Dateien (kein Build-Schritt, kein Framework)
|
|
COPY server.py index.html styles.css app.js config.json ./
|
|
|
|
# State-Verzeichnis als Volume (Daten ueberleben Container-Neustart)
|
|
VOLUME ["/app/data"]
|
|
ENV TRAINING_STATE_DIR=/app/data
|
|
ENV PORT=8080
|
|
|
|
EXPOSE 8080
|
|
|
|
HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
|
|
CMD python3 -c "import urllib.request;urllib.request.urlopen('http://127.0.0.1:8080/api/meta',timeout=2)" || exit 1
|
|
|
|
CMD ["python3", "server.py"] |