version: "3.9" services: headscale: image: headscale/headscale:latest container_name: headscale restart: always volumes: - ./headscale/config:/etc/headscale - ./headscale/data:/var/lib/headscale ports: - "8080:8080" - "3478:3478/udp" command: serve headscale-admin: build: . container_name: headscale-admin restart: always ports: - "9080:9080" environment: - HEADSCALE_URL=http://headscale:8080 - HEADSCALE_API_KEY=${HEADSCALE_API_KEY} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - LISTEN_ADDR=:9080 - DATA_DIR=/data - TLS_CERT_FILE=${TLS_CERT_FILE} - TLS_KEY_FILE=${TLS_KEY_FILE} volumes: - admin-data:/data - ${TLS_CERT_DIR:-./certs}:/certs:ro depends_on: - headscale volumes: admin-data: