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