generated from DAM/ts-TEMPLATE
- Add dual serve config (serve.json + serve.headscale.json)
- Add SECURITY.md with default passwords warning
- Add .env.example with clear REQUIRED / REFERENCE / CUSTOMIZE sections
- Rewrite README with clear Tailscale vs Headscale paths
- Harden .gitignore (env files, keys, Tailscale state)
- Update docker-compose.yml with clear section labels
- Make volume names service-specific ({{service}}-db-data)
- Ensure both db and app services depend on the Tailscale sidecar
71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
# {{Service}} with Tailscale Integration
|
|
|
|

|
|
|
|
This project sets up a {{Service}} 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. Start the stack:
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
4. Customize the app config per official documentation
|
|
5. Access {{Service}} at `http://{{service}}.<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 `{{service}}.example.com` with your actual domain
|
|
5. Start the stack:
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
6. Customs the app config per official documentation
|
|
7. Access {{Service}} at `http://{{service}}.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 {{service}}-ts
|
|
```
|
|
|
|
## Optional: Direct Host Access
|
|
|
|
Uncomment the ports section in `docker-compose.yml` if you need direct access without Tailscale:
|
|
```yaml
|
|
ports:
|
|
- {{port}}:{{port}}
|
|
```
|
|
|
|
## Links
|
|
put links to offical site, and git repo
|