Files
ts-bookstack/README.md
peskyadmin f652eea021 feat: bring ts-bookstack up to current template spec
- 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
2026-08-02 21:46:17 -04:00

1.9 KiB

BookStack with Tailscale Integration

BookStack with Tailscale

This project sets up a BookStack instance with Tailscale VPN integration using Docker Compose.

Quick Start (Tailscale)

  1. Copy the example environment file and fill in your values:
    cp .env.example .env
    
  2. Edit .env and set:
    • TS_AUTHKEY — your Tailscale auth key
  3. Generate a BookStack APP_KEY (32-char base64) — see https://bookstack.com/installation/generate-appkey
  4. Start the stack:
    docker compose up -d
    
  5. Access BookStack at http://bookstack.<your-tailnet>.ts.net

Headscale

If you're using Headscale instead of Tailscale:

  1. Copy the example environment file:
    cp .env.example .env
    
  2. Edit .env and set:
    • TS_AUTHKEY — your Headscale auth key
    • TS_LOGIN_SERVER — your Headscale server URL
  3. Switch to the Headscale serve config:
    cp tailscale/config/serve.headscale.json tailscale/config/serve.json
    
  4. Edit serve.json and replace bookstack.example.com with your actual domain
  5. Start the stack:
    docker compose up -d
    
  6. 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