# Basis-Image mit Python FROM python:3.11-slim # Arbeitsverzeichnis erstellen WORKDIR /app # Port für Gunicorn EXPOSE 8000 # Kopiere die requirements-Datei und installiere die Abhängigkeiten COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Kopiere den gesamten Projektinhalt in das Arbeitsverzeichnis COPY . . # Umgebungsvariablen von Coolify / docker-compose übernehmen (zur Laufzeit) ENV DB_HOST=$DB_HOST ENV DB_PORT=$DB_PORT ENV DB_USER=$DB_USER ENV DB_PASSWORD=$DB_PASSWORD ENV DB_DATABASE=$DB_DATABASE ENV SECRET_KEY=$SECRET_KEY ENV MAX_ATTEMPTS=$MAX_ATTEMPTS ENV DAILY_RESET_UTC=$DAILY_RESET_UTC # Nicht-root Benutzer aus Sicherheitsgründen RUN useradd --create-home appuser && chown -R appuser:appuser /app USER appuser # Startbefehl (Production: Gunicorn) CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--workers", "2", "--timeout", "120", "wsgi:app"]