From bf68f5a3dab53a00543fb647731439b592f6ee86 Mon Sep 17 00:00:00 2001 From: ginnoir Date: Sat, 6 Jun 2026 23:06:30 -0500 Subject: [PATCH] fix(share): absolute host bind for serve config Portainer's git-stack checkout does not materialize sibling repo files at the relative bind path, so ./serve-roms.json mounted as an empty auto-created directory and tailscale serve failed ('is a directory'). Switch to an absolute /config/share/serve-roms.json bind (matching every other stack's /config convention); the file is mirrored on the host. --- stacks/share/docker-compose.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/stacks/share/docker-compose.yml b/stacks/share/docker-compose.yml index a00a857..31a9949 100644 --- a/stacks/share/docker-compose.yml +++ b/stacks/share/docker-compose.yml @@ -15,8 +15,10 @@ # "tagOwners": { "tag:share": ["autogroup:admin"] }. # # To share a NEW service: -# 1. add a `serve-.json` (Proxy -> http://:) -# 2. add a `ts-` service block below (copy ts-roms), join the svc network +# 1. add a `serve-.json` here (Proxy -> http://:) AND +# mirror it to /config/share/serve-.json on valhalla (see bind note below) +# 2. add a `ts-` service block below (copy ts-roms), join the svc network, +# bind /config/share/serve-.json -> /config/serve.json # 3. add that network under `networks:` as external # 4. push, then admin console -> Machines -> -share -> Share -> friend email @@ -37,7 +39,12 @@ services: - TS_EXTRA_ARGS=--advertise-tags=tag:share volumes: - /config/share/ts-roms:/var/lib/tailscale - - ./serve-roms.json:/config/serve.json:ro + # Absolute host bind: Portainer's git-stack checkout does NOT materialize + # sibling repo files at the relative bind path (Docker then auto-creates a + # DIRECTORY and serve fails with "is a directory"). The serve config is + # canonical in this repo (serve-roms.json) and mirrored to the host path + # below — update both when it changes (same model as Caddyfile). + - /config/share/serve-roms.json:/config/serve.json:ro networks: roms: