networks: default: name: "proxy_network" services: headscale: image: headscale/headscale:v0.26.0 restart: unless-stopped ports: - "8080:8080" volumes: - ./headscale/config:/etc/headscale - ./headscale:/var/lib/headscale command: serve labels: caddy: headscale.nekomimi.pet caddy.reverse_proxy: "* {{upstreams 8080}}" sysctls: - net.ipv4.ip_forward=1 - net.ipv6.conf.all.forwarding=1 dns: - "1.1.1.1" - "8.8.8.8" headplane: image: ghcr.io/tale/headplane:0.6.0 container_name: headplane restart: unless-stopped volumes: - "./headplane/config/config.yaml:/etc/headplane/config.yaml" - "./headscale/config/config.yaml:/etc/headscale/config.yaml" - "./headplane:/var/lib/headplane" - "/var/run/docker.sock:/var/run/docker.sock:ro" labels: caddy: hui.nekomimi.pet caddy.reverse_proxy: "* {{upstreams 3000}}" litestream: container_name: litestream image: litestream/litestream:0.3.13 restart: unless-stopped volumes: - "./headscale:/var/lib/headscale" - "./litestream.yml:/etc/litestream.yml" env_file: - ./s3.env command: ["replicate"] caddy: image: "lucaslorentz/caddy-docker-proxy:ci-alpine" ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /srv/caddy/:/data restart: unless-stopped environment: - CADDY_INGRESS_NETWORKS=proxy_network