headscale_lht/docker-compose.yml.example

61 lines
1.5 KiB
Text

name: headscale
services:
headscale:
image: headscale/headscale:v0.29.2
container_name: headscale
restart: unless-stopped
command: ["serve", "-c", "/etc/headscale/config.yaml"]
volumes:
- ./headscale/config:/etc/headscale:ro
- ./headscale/data:/var/lib/headscale
- ./headscale/run:/var/run/headscale
expose:
- "8080"
ports:
- "3478:3478/udp"
labels:
- me.tale.headplane.target=headscale
networks:
- headscale-net
headplane:
image: ghcr.io/tale/headplane:0.7.0
container_name: headplane
restart: unless-stopped
depends_on:
- headscale
volumes:
- ./headplane/config/config.yaml:/etc/headplane/config.yaml:ro
- ./headplane/data:/var/lib/headplane
- ./headscale/config:/etc/headscale:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
expose:
- "3000"
networks:
- headscale-net
traefik:
image: traefik:v3.7.9
container_name: traefik
restart: unless-stopped
command:
- --configFile=/etc/traefik/traefik.yml
healthcheck:
test: ["CMD", "traefik", "healthcheck", "--ping"]
interval: 5s
timeout: 2s
retries: 10
ports:
- "80:80"
- "443:443"
volumes:
- ./traefik/traefik.yml:/etc/traefik/traefik.yml:ro
- ./traefik/dynamic:/etc/traefik/dynamic:ro
- ./traefik/letsencrypt:/letsencrypt
networks:
- headscale-net
networks:
headscale-net:
driver: bridge