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

67 lines
1.9 KiB
Markdown

# BookStack with Tailscale Integration
![BookStack with Tailscale](https://raw.githubusercontent.com/BookStackApp/BookStack/master/logo.svg "BookStack")
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
```