From 0d60a5cb2ed3d63d57a5418e553d8f01202fe386 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Sun, 14 Jun 2026 22:13:29 +0200 Subject: [PATCH] komga + audiobookshelf: revert to root (user:1000 fallback) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live try-then-fallback: pinning user 1000:1000 crash-loops both — their named config/metadata volumes are Docker-created root-owned and the pinned process can't write them (komga: SQLite /config open fails; audiobookshelf: EACCES mkdir /metadata/logs; neither has a PUID-style root-init chown). Reverted to root; they rely on the setgid 2775 userdata dirs (files land group 1000 → FileBrowser browses/reads). Co-Authored-By: Claude Opus 4.8 (1M context) --- templates/audiobookshelf/docker-compose.yml | 8 ++++---- templates/komga/docker-compose.yml | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/templates/audiobookshelf/docker-compose.yml b/templates/audiobookshelf/docker-compose.yml index 009782c..8a1dd3a 100644 --- a/templates/audiobookshelf/docker-compose.yml +++ b/templates/audiobookshelf/docker-compose.yml @@ -10,16 +10,16 @@ # Storage layout (felhom userdata convention): # Hangoskönyvek → ${USERDATA_PATH}/media/audiobooks (írható) # Podcastok → ${USERDATA_PATH}/media/podcasts (írható) -# Run-identity: user 1000:1000 so files land group-writable for the shared content group -# (GID 1000); the userdata dirs are setgid 2775. If the image fails to start healthy as -# 1000, the controller/operator reverts to root and relies on setgid (see REPORT). +# Run-identity: ROOT (fallback). user "1000:1000" was tried but the image creates its /metadata named +# volume as root at init and fails (`EACCES mkdir /metadata/logs`) when pinned to 1000. So it runs as +# root and relies on the setgid 2775 userdata dirs (files land group 1000 → FileBrowser can browse/read). +# (Verified live; see REPORT.) services: audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:2.19.5 container_name: audiobookshelf restart: unless-stopped - user: "1000:1000" environment: - TZ=Europe/Budapest volumes: diff --git a/templates/komga/docker-compose.yml b/templates/komga/docker-compose.yml index dbfaaae..9d315a7 100644 --- a/templates/komga/docker-compose.yml +++ b/templates/komga/docker-compose.yml @@ -9,15 +9,16 @@ # # Storage layout (felhom userdata convention): # Képregénytár → ${USERDATA_PATH}/media/comics (írható) -# Run-identity: user 1000:1000 for the shared content group (GID 1000); userdata dirs are -# setgid 2775. Try-then-fallback to root if it won't start healthy as 1000 (see REPORT). +# Run-identity: ROOT (fallback). user "1000:1000" was tried but the gotson/komga image creates its +# SQLite /config DB as root at init and cannot open it when pinned to 1000 (no PUID-style chown) — +# the container crash-loops. So it runs as root and relies on the setgid 2775 userdata dirs: files it +# writes land group 1000 so FileBrowser + group members can READ/browse them. (Verified live; see REPORT.) services: komga: image: gotson/komga:1.20.0 container_name: komga restart: unless-stopped - user: "1000:1000" environment: - TZ=Europe/Budapest volumes: