ntfy/stack.production.yml

41 lines
1.3 KiB
YAML

version: '3.8'
services:
headscale:
image: git.nixc.us/colin/headscale:production
volumes:
- headscale:/etc/headscale/
networks:
- traefik
environment:
SERVER_URL: "https://headscale.nixc.us"
LISTEN_ADDR: "0.0.0.0:8080"
METRICS_LISTEN_ADDR: "0.0.0.0:9090"
GRPC_LISTEN_ADDR: "0.0.0.0:50443"
DB_TYPE: "sqlite3"
DB_PATH: "/etc/headscale/db.sqlite"
deploy:
placement:
constraints:
- node.hostname == macmini3
labels:
us.nixc.autodeploy: "true"
traefik.enable: "true"
traefik.http.routers.production-headscale_headscale.rule: "Host(`headscale.nixc.us`)"
traefik.http.routers.production-headscale_headscale.entrypoints: "websecure"
traefik.http.routers.production-headscale_headscale.tls: "true"
traefik.http.routers.production-headscale_headscale.tls.certresolver: "letsencryptresolver"
traefik.http.routers.production-headscale_headscale.service: "production-headscale_headscale"
traefik.http.services.production-headscale_headscale.loadbalancer.server.port: "8080"
traefik.docker.network: "traefik"
replicas: 1
restart_policy:
condition: on-failure
volumes:
headscale:
networks:
traefik:
external: true
default:
driver: overlay