58 lines
1.3 KiB
Django/Jinja
58 lines
1.3 KiB
Django/Jinja
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" |