FROM python:3.12-slim

WORKDIR /app

COPY requirements.txt .
RUN apt-get update && apt-get install -y --no-install-recommends tzdata && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir -r requirements.txt

# Anwendungscode
COPY app.py admin_bp.py crash_monitor.py extensions.py fussball_de.py \
     generate_bundle.py spielplan_crawler.py auto_crawler.py \
     log_service.py onboarding_bp.py teammanagement_bp.py version.py init_db.sql ./
COPY templates/ templates/

# Persistentes Datenverzeichnis anlegen
RUN mkdir -p /data/dist

# Pfade auf das persistente Volume zeigen lassen — alle überschreibbar per env
ENV PORT=5000
ENV ENV_FILE=/data/.env
ENV ADMIN_DB=/data/admin.db
ENV CRASH_FILE=/data/crash_count.json
ENV DATA_FILE=/data/dist/verein.json
ENV DATA_DIR=/data/dist
ENV DIST_DIR=/data/dist
ENV APP_DIR=/data/dist
ENV CRAWLER_SCRIPT=/app/spielplan_crawler.py
ENV GUNICORN_WORKERS=2
ENV GUNICORN_TIMEOUT=60

EXPOSE 5000

CMD ["sh", "-c", \
  "gunicorn \
    --bind 0.0.0.0:${PORT} \
    --workers ${GUNICORN_WORKERS} \
    --timeout ${GUNICORN_TIMEOUT} \
    --access-logfile - \
    --error-logfile - \
    app:app"]
