networks: homelab: external: true services: caddy: image: caddy:latest ports: - target: 80 published: 80 mode: host - target: 443 published: 443 mode: host - target: 2019 published: 2019 mode: host networks: - homelab volumes: - ./Caddyfile:/etc/caddy/Caddyfile - /mnt/swarm-data/caddy/data:/data - /mnt/swarm-data/caddy/config:/config deploy: replicas: 1 placement: constraints: - node.role == p0 restart_policy: condition: on-failure delay: 5s max_attempts: 3