# Vikunja with Tailscale Integration ![Vikunja with Tailscale](https://raw.githubusercontent.com/go-vikunja/vikunja/main/frontend/src/assets/logo.svg "Vikunja") This project sets up a Vikunja 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. Access Vikunja at `http://vikunja..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 3. Switch to the Headscale serve config: ```bash cp tailscale/config/serve.headscale.json tailscale/config/serve.json ``` 4. Edit `serve.json` and replace `vikunja.example.com` with your actual domain 5. Start the stack: ```bash docker compose up -d ``` 6. Access Vikunja at `http://vikunja.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 vikunja-ts ``` ## Optional: Direct Host Access Uncomment the ports section in `docker-compose.yml` if you need direct access without Tailscale: ```yaml ports: - 3456:3456 ```