# 1. Basis-Image FROM python:3.12-slim # 2. Setze den Arbeitsordner WORKDIR /app # 3. Environment Variables setzen (verhindert .pyc Dateien und Pufferung) ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # 4. Installiere uv RUN pip install --no-cache-dir uv # 5. Dependencies installieren COPY pyproject.toml . # --system flag installiert in das globale Python des Containers RUN uv pip install --system . # 6. Kopiere den Code COPY . . # 7. Erstelle einen Ordner für die persistente Datenbank RUN mkdir -p /app/data # 8. Expose Port EXPOSE 80 # 9. Startbefehl # Wir setzen den DB_PATH standardmäßig auf den data Ordner, falls er nicht überschrieben wird ENV DB_PATH="/app/data/hangman.db" CMD ["gunicorn", "main:app", "--bind", "0.0.0.0:80", "--workers", "4", "--worker-class", "uvicorn.workers.UvicornWorker"]