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.
This commit is contained in:
ginnoir
2026-06-06 23:06:30 -05:00
parent 2aa8122cd3
commit bf68f5a3da
+10 -3
View File
@@ -15,8 +15,10 @@
# "tagOwners": { "tag:share": ["autogroup:admin"] }.
#
# To share a NEW service:
# 1. add a `serve-<svc>.json` (Proxy -> http://<container>:<port>)
# 2. add a `ts-<svc>` service block below (copy ts-roms), join the svc network
# 1. add a `serve-<svc>.json` here (Proxy -> http://<container>:<port>) AND
# mirror it to /config/share/serve-<svc>.json on valhalla (see bind note below)
# 2. add a `ts-<svc>` service block below (copy ts-roms), join the svc network,
# bind /config/share/serve-<svc>.json -> /config/serve.json
# 3. add that network under `networks:` as external
# 4. push, then admin console -> Machines -> <svc>-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: