Files
portainer-core/stacks/headscale.yml
T
jpmschweitzerandClaude Opus 4.5 75c3950dd8 feat: add Docker healthchecks, remove Uptime Kuma
- Add healthcheck configurations to 13 stacks for Portainer status monitoring
- Remove Uptime Kuma service (replaced by Docker healthchecks)
- Clean up stale Heimdall references
- Update documentation and service counts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 12:05:05 +01:00

64 lines
1.8 KiB
YAML

version: '3.8'
# Headscale - Self-Hosted Tailscale Control Server
# Phase 2: Networking & External Access
# Ports: 8085 (Web/API), 9090 (Metrics)
# GPU: No
# Storage: SSD (config and database)
services:
headscale:
image: headscale/headscale:latest
container_name: headscale
restart: unless-stopped
ports:
- "8085:8080" # Web/API port
- "9090:9090" # Metrics port (optional)
volumes:
- /home/jpmschweitzer/docker-data/headscale/config:/etc/headscale
- /home/jpmschweitzer/docker-data/headscale/data:/var/lib/headscale
command: serve
environment:
- TZ=Europe/Amsterdam
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:8080/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
networks:
- docker-dataplane
networks:
docker-dataplane:
external: true
name: docker-dataplane
# Setup Instructions:
# 1. Create directories:
# mkdir -p ~/docker-data/headscale/{config,data}
#
# 2. Generate config:
# docker exec headscale headscale config generate > ~/docker-data/headscale/config/config.yaml
#
# 3. Edit config (important settings):
# - server_url: http://tower-of-joy:8085 (or your IP)
# - db_type: sqlite3
# - db_path: /var/lib/headscale/db.sqlite
#
# 4. Restart container: docker restart headscale
#
# 5. Create user: docker exec headscale headscale users create homelab
#
# 6. Generate pre-auth key:
# docker exec headscale headscale preauthkeys create --user homelab --expiration 24h
#
# 7. Connect devices:
# - Install Tailscale client on devices
# - Run: tailscale up --login-server=http://tower-of-joy:8085 --authkey=<key>
#
# Verify:
# - Health check: curl http://localhost:8085/health
# - List users: docker exec headscale headscale users list
# - List nodes: docker exec headscale headscale nodes list