generated from DAM/ts-TEMPLATE
Bookmark manager (Go, single binary). Single container, SQLite in a named volume. Default admin (shiori/gopher) is auto-created on first run. Known issue: Shiori v1.7.0's SPA wizard detection panics with HTTP 500 on the first /api/bookmarks request when no session exists. The setup wizard does NOT appear on first visit — log in with the default credentials above and change the password immediately. Port 8080 inside the sidecar namespace. Optional SHIORI_HTTP_SECRET_KEY env var would persist sessions across restarts (not enabled by default).
40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
# ==========================================
|
|
# 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: |