From 942924199eac6c33b2054d40b6edb1c3da2bf7f9 Mon Sep 17 00:00:00 2001 From: rene Date: Thu, 23 Apr 2026 18:52:51 +0200 Subject: [PATCH] Revert Dockerfile USER appuser (Synology DSM ACL inkompatibel) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Synology DSM verwendet ACLs (+) auf Docker-Volumes die Vorrang vor Linux- Basisrechten haben. chown/gosu funktioniert nicht gegen DSM-ACLs. Container läuft weiterhin als root im geschlossenen Docker-Netz. --- Dockerfile | 10 ++-------- backend/entrypoint.sh | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 backend/entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 8d22fa4..5707b44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,9 +8,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ ffmpeg \ && rm -rf /var/lib/apt/lists/* -# Non-root user für sichereren Betrieb -RUN adduser --disabled-password --gecos "" appuser - # Python-Dependencies zuerst (Docker Layer Cache) COPY backend/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt @@ -18,11 +15,8 @@ RUN pip install --no-cache-dir -r requirements.txt # App-Code COPY backend/ . -# Media-Verzeichnis mit korrekten Rechten für appuser -RUN mkdir -p /data/media/dogs /data/media/diary /data/media/poison \ - && chown -R appuser:appuser /data /app - -USER appuser +# Media-Verzeichnis +RUN mkdir -p /data/media/dogs /data/media/diary /data/media/poison EXPOSE 8000 diff --git a/backend/entrypoint.sh b/backend/entrypoint.sh new file mode 100644 index 0000000..99d71c4 --- /dev/null +++ b/backend/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/sh +set -e +# Volume-Rechte bei jedem Start korrigieren, dann zu appuser wechseln +chown -R appuser:appuser /data 2>/dev/null || true +exec gosu appuser "$@"