services: server: image: gitgud.foo/xbazzi/caddy-pimped:latest ports: - 80:80 - 5443:443 networks: - caddy_net - caddy_controller environment: - CADDY_DOCKER_MODE=server - CADDY_CONTROLLER_NETWORK=10.200.254.0/24 volumes: {% for volume in item.volumes %} - {{ volume }} {% endfor %} deploy: mode: replicated replicas: {{ item.replicas }} restart_policy: condition: {{ item.restart_condition }} labels: caddy.email: admin@xbazzi.com {% for key, val in item.labels.items() %} {{ key }}: "{{ val }}" {% endfor %} placement: constraints: {% for constraint in item.constraints %} - {{ constraint }} {% endfor %} controller: image: gitgud.foo/xbazzi/caddy-pimped:latest networks: - caddy_controller - caddy_net environment: - CADDY_DOCKER_MODE=controller - CADDY_CONTROLLER_NETWORK=10.200.254.0/24 volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: placement: constraints: {% for constraint in item.constraints %} - {{ constraint }} {% endfor %} networks: caddy_net: external: true caddy_controller: driver: overlay ipam: driver: default config: - subnet: "10.200.254.0/24"