From a909320033cbbd000eeafddf63e54c64206d9817 Mon Sep 17 00:00:00 2001 From: Andreas Katzenberger Date: Wed, 15 Apr 2026 16:10:46 +0200 Subject: [PATCH] Run as non root user --- Dockerfile | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0f29ebd..553b868 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN apk add --no-cache gcc musl-dev # Arbeitsverzeichnis für den Build-Prozess WORKDIR /build -# C-Code kopieren +# nur C-Code kopieren COPY deployment.c . # Code kompilieren (-O2 optimiert die Performance der Binärdatei) @@ -24,24 +24,23 @@ WORKDIR /app RUN apk update && apk upgrade --no-cache # Non-Root User anlegen -# RUN addgroup -S appgroup -# RUN adduser -S appuser -G appgroup +RUN addgroup -S appgroup +RUN adduser -S appuser -G appgroup # Verzeichnis für Ausgabe anlegen RUN mkdir -p /output # Dem User die Rechte für die Ordner /app und /output geben -# RUN chown -R appuser:appgroup /app /output +RUN chown -R appuser:appgroup /app /output # nur die fertige Binärdatei aus der "builder"-Stage kopieren -COPY --from=builder /build/deployment /app/ -# COPY --from=builder --chown=appuser:appgroup /build/deployment /app/ +COPY --from=builder --chown=appuser:appgroup /build/deployment /app/ # 3. Data Volume für die Ausgabe mounten VOLUME ["/output"] # 4. Ab hier läuft alles als sicherer Non-Root User -# USER appuser +USER appuser # 5. Healthcheck implementieren # Da das C-Programm alle 10 Sekunden etwas schreibt, prüfen wir alle 15 Sekunden,