mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-24 09:26:23 +00:00
- config.yaml: migrate to current headscale config schema (database/dns nested keys instead of legacy db_type/db_path/dns_config), add noise private key path, prefixes, and a DERP map (required at startup) - compose.yaml: bind-mount a fixed Caddyfile for headscale-ui so it serves from /app/admin instead of 404ing at /app - README: document NPM reverse proxy setup (websockets on, HTTP/2 off to avoid breaking the ts2021 noise protocol handshake), split Android/iOS vs laptop client instructions, add headscale-ui admin panel setup with API key generation, switch CLI examples to docker exec against the running container Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
36 lines
962 B
YAML
36 lines
962 B
YAML
services:
|
|
headscale:
|
|
image: ${HEADSCALE_IMAGE:-headscale/headscale:latest}
|
|
restart: ${HEADSCALE_RESTART:-unless-stopped}
|
|
volumes:
|
|
- ${VOL_PATH:-/data}/headscale/config:/etc/headscale
|
|
- ${VOL_PATH:-/data}/headscale/data:/var/lib/headscale
|
|
- ${VOL_PATH:-/data}/headscale/logs:/var/log/headscale
|
|
environment:
|
|
- TZ=${TZ:-America/Vancouver}
|
|
- HEADSCALE_LOG_LEVEL=${HEADSCALE_LOG_LEVEL:-info}
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
command:
|
|
- serve
|
|
|
|
headscale-ui:
|
|
image: ${HEADSCALE_UI_IMAGE:-goodieshq/headscale-admin:latest}
|
|
restart: ${HEADSCALE_UI_RESTART:-unless-stopped}
|
|
volumes:
|
|
- ${VOL_PATH:-/data}/headscale/config/Caddyfile:/etc/caddy/Caddyfile:ro
|
|
environment:
|
|
- TZ=${TZ:-America/Vancouver}
|
|
- HEADSCALE_URL=http://headscale:8080
|
|
networks:
|
|
- proxy
|
|
- internal
|
|
depends_on:
|
|
- headscale
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
internal:
|