From 09e7ebba1ce387aeb8302ea4593a237d438791d7 Mon Sep 17 00:00:00 2001 From: KI-Sparringpartner Date: Mon, 3 Aug 2026 16:32:30 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20BUILD=20FIX:=20Non-Root-User=20k?= =?UTF-8?q?orrekt=20platzieren=20(USER=20direkt=20nach=20erstellung)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e821c4..a6219a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,20 +3,20 @@ FROM python:3.12-slim WORKDIR /app -# Git und System-Tools installieren (ESSENTIUELL!) +# Git und System-Tools installieren + User erstellen RUN apt-get update && \ - apt-get install -y git && \ + apt-get install -y git curl && \ rm -rf /var/lib/apt/lists/* && \ - adduser --disabled-password --gecos "" appuser #✅ NEU: Nutzer erstellen! + adduser --disabled-password --gecos "" appuser #✅ USER ZUERST ERSTELLEN! -# Abhängigkeiten installieren als app-user -RUN chown -R appuser:appuser /app +# AB HIER ALLE AKTIONEN ALS appuser DURCHFUHREN: +USER appuser -USER appuser #✅ WICHTIG: Jetzt laeuft der Container als 'appuser'! - -COPY --chown=appuser:appuser requirements.txt . +# Abhängigkeiten installieren (als appuser!) +COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt +# Applikation kopieren mit korrekten Besitzern: COPY --chown=appuser:appuser app/ ./app # Setze PYTHONPATH damit Imports funktionieren @@ -25,5 +25,5 @@ ENV PYTHONPATH=/app # Exponierter Port EXPOSE 8000 -# Starte den Server als Nicht-Root! +# Starte den Server als Non-Root! CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file