headscale-tailscale-replace.../docker-compose.yml
시골약사 3c6723bcde 🔧 Fix Headplane UI configuration and enable external access
- Update docker-compose.yml: simplify environment variables
- Fix headplane-config/config.yaml with proper configuration:
  * Add required server section with correct cookie_secret (32 chars)
  * Configure headscale connection with API key
  * Enable external access via 192.168.0.151:3000/admin/
- Resolve configuration validation errors
- Headplane UI now fully accessible and functional

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-09 15:10:56 +09:00

51 lines
1.1 KiB
YAML

version: '3.8'
services:
headscale:
image: headscale/headscale:latest
container_name: headscale
restart: unless-stopped
command: serve
environment:
- TZ=Asia/Seoul
volumes:
- ./config:/etc/headscale
- ./data:/var/lib/headscale
- ./run:/var/run/headscale
ports:
- "8070:8080" # Headscale HTTP API (외부:내부)
- "9090:9090" # Metrics (optional)
networks:
- headscale-net
healthcheck:
test: ["CMD-SHELL", "nc -z localhost 8080 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
headplane:
image: ghcr.io/tale/headplane:latest
container_name: headplane
restart: unless-stopped
environment:
- TZ=Asia/Seoul
- HEADSCALE_URL=http://headscale:8080
- HEADSCALE_API_KEY=${HEADSCALE_API_KEY}
volumes:
- ./headplane-config:/etc/headplane
ports:
- "3000:3000" # Headplane Web UI
depends_on:
- headscale
networks:
- headscale-net
networks:
headscale-net:
driver: bridge
volumes:
headscale_config:
headscale_data:
headscale_run: