# Basis-Image mit Python
FROM python:3.11-slim

# Arbeitsverzeichnis erstellen
WORKDIR /app

# System-Dependencies: DejaVu-Schriftarten für PDF-Export (Umlaute)
RUN apt-get update && apt-get install -y --no-install-recommends \
    fonts-dejavu-core \
    && rm -rf /var/lib/apt/lists/*

# 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 PEPPER=$PEPPER
ENV ADMIN_USERNAME=$ADMIN_USERNAME
ENV ADMIN_PASSWORD=$ADMIN_PASSWORD

# Nicht-root Benutzer aus Sicherheitsgründen
RUN useradd --create-home appuser && chown -R appuser:appuser /app
USER appuser

# Port für Gunicorn
EXPOSE 8000

# Startbefehl (Production: Gunicorn)
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--workers", "4", "app:app"]
