# ========================================== # ts-shiori — Tailscale sidecar + Shiori bookmark manager # ========================================== services: shiori-ts: image: tailscale/tailscale:latest hostname: shiori container_name: shiori-ts environment: - TS_AUTHKEY=${TS_AUTHKEY} - TS_LOGIN_SERVER=${TS_LOGIN_SERVER} - TS_STATE_DIR=/var/lib/tailscale - TS_SERVE_CONFIG=/config/serve.json - TS_EXTRA_ARGS=--login-server=${TS_LOGIN_SERVER} volumes: - ./tailscale/tailscale-data:/var/lib/tailscale - ./tailscale/config:/config - /dev/net/tun:/dev/net/tun cap_add: - net_admin restart: unless-stopped # ========================================== # Shiori app (single container, SQLite) # Uses the official ghcr.io/go-shiori/shiori image. # SQLite by default; data stored in a named volume. # ========================================== shiori: image: ghcr.io/go-shiori/shiori:v1.7.0 environment: - SHIORI_DIR=/srv/shiori volumes: - shiori-data:/srv/shiori depends_on: - shiori-ts network_mode: service:shiori-ts restart: unless-stopped volumes: shiori-data: