From 67b91eff46cd91b224a80676f3f63a22ab00d057 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Mon, 5 Oct 2026 02:32:08 -0700 Subject: [PATCH] fix(skaldsong): group_add the host docker gid so the app can write its root:docker state dirs The db/ and runs/ bind mounts are root:docker 2775 since the 2026-09-14 tree normalisation; the app runs as 1000:1000, so SQLite could not create its journal and every write returned 500 (found at v0.40.2). --- stacks/skaldsong/compose.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/stacks/skaldsong/compose.yaml b/stacks/skaldsong/compose.yaml index 97458c0..888421b 100644 --- a/stacks/skaldsong/compose.yaml +++ b/stacks/skaldsong/compose.yaml @@ -105,6 +105,14 @@ services: # is NOT bind-mounted → state wiped on every recreate. SKALDSONG_HOST_SQLITE_PATH: /app/state/db/skaldsong-ui.db SKALDSONG_HOST_RUNS_ROOT: /app/state/runs + # The state dirs below are root:docker 2775 (setgid, group-writable) since the 2026-09-14 docker-tree + # normalisation (playbooks/normalize-docker-tree.yaml), not lkraven-owned as first deployed. The app runs as + # uid 1000 with gid 1000 only, so SQLite could not create its -journal beside the db (every write 500'd, + # found 2026-10-05 at v0.40.2). Joining the host's docker GID makes the bind-mounted dirs writable and + # survives the next re-own. 112 = ana-docker's docker gid (this stack runs only there; new hosts pin 851). + # No docker socket is mounted here, so the membership grants file access on these two dirs only. + group_add: + - "112" volumes: # db/ and runs/ are separate bind-mounts so runs/ can later move to # a bigger volume without touching DB state.