generated from DAM/ts-TEMPLATE
- 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
67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
# BookStack with Tailscale Integration
|
|
|
|

|
|
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
docker compose restart bookstack-ts
|
|
```
|
|
|
|
## Optional: Direct Host Access
|
|
|
|
Uncomment the ports section in `docker-compose.yml` if you need direct access without Tailscale:
|
|
```yaml
|
|
ports:
|
|
- 80:80
|
|
```
|