generated from DAM/ts-TEMPLATE
f652eea021c2be9350a67bfe4905841b4d03dbdd
- Add SECURITY.md (matches template)
- Add tailscale/config/serve.headscale.json (HTTP-only variant)
- Default serve.json to Tailscale generic with ${TS_CERT_DOMAIN}
- Use linuxserver env var names (DB_USERNAME not DB_USER)
- Use named Docker volumes for cross-platform portability
- Both db and app use network_mode: service:bookstack-ts
- Rewrite README with Tailscale vs Headscale structure
- Rename db service to bookstack-db to avoid collisions with other ts-* repos
BookStack with Tailscale Integration
This project sets up a BookStack instance with Tailscale VPN integration using Docker Compose.
Quick Start (Tailscale)
- Copy the example environment file and fill in your values:
cp .env.example .env - Edit
.envand set:TS_AUTHKEY— your Tailscale auth key
- Generate a BookStack
APP_KEY(32-char base64) — see https://bookstack.com/installation/generate-appkey - Start the stack:
docker compose up -d - Access BookStack at
http://bookstack.<your-tailnet>.ts.net
Headscale
If you're using Headscale instead of Tailscale:
- Copy the example environment file:
cp .env.example .env - Edit
.envand set:TS_AUTHKEY— your Headscale auth keyTS_LOGIN_SERVER— your Headscale server URL
- Switch to the Headscale serve config:
cp tailscale/config/serve.headscale.json tailscale/config/serve.json - Edit
serve.jsonand replacebookstack.example.comwith your actual domain - Start the stack:
docker compose up -d - Access BookStack at
http://bookstack.yourdomain.com
Configuration
See .env.example for all available options.
Switching Serve Configs
| Environment | File to use | Notes |
|---|---|---|
| Tailscale (default) | tailscale/config/serve.json |
Supports HTTP + HTTPS with certs |
| Headscale | tailscale/config/serve.headscale.json |
HTTP only |
After changing the serve config, restart the sidecar:
docker compose restart bookstack-ts
Optional: Direct Host Access
Uncomment the ports section in docker-compose.yml if you need direct access without Tailscale:
ports:
- 80:80
Description
Languages
Markdown
100%