diff --git a/Dockerfile b/Dockerfile index ae82474..1e821c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,23 @@ -# Build stage (optional hier für jetzt reicht) +# Build stage FROM python:3.12-slim WORKDIR /app # Git und System-Tools installieren (ESSENTIUELL!) -RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* +RUN apt-get update && \ + apt-get install -y git && \ + rm -rf /var/lib/apt/lists/* && \ + adduser --disabled-password --gecos "" appuser #✅ NEU: Nutzer erstellen! -# Abhängigkeiten installieren -COPY requirements.txt . +# Abhängigkeiten installieren als app-user +RUN chown -R appuser:appuser /app + +USER appuser #✅ WICHTIG: Jetzt laeuft der Container als 'appuser'! + +COPY --chown=appuser:appuser requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -# Applikation kopieren -COPY app/ ./app +COPY --chown=appuser:appuser app/ ./app # Setze PYTHONPATH damit Imports funktionieren ENV PYTHONPATH=/app @@ -19,5 +25,5 @@ ENV PYTHONPATH=/app # Exponierter Port EXPOSE 8000 -# Starte den Server +# Starte den Server als Nicht-Root! CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file