67 lines
1.6 KiB
Django/Jinja
67 lines
1.6 KiB
Django/Jinja
services:
|
|
caddy:
|
|
image: caddy:{{ caddy_version }}
|
|
container_name: caddy
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:{{ caddy_metrics_port }}/metrics || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
volumes:
|
|
- /srv/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
|
|
- /srv/caddy/data:/data
|
|
- /srv/caddy/config:/config
|
|
- /srv/caddy/sites:/srv/sites:ro
|
|
- /srv/goaccess/reports:/srv/goaccess/reports:ro
|
|
environment:
|
|
{% if enable_goaccess | default(true) %}
|
|
GOACCESS_USER: "{{ goaccess_user }}"
|
|
GOACCESS_HASH: "{{ caddy_goaccess_hash_stdout | replace('$', '$$') }}"
|
|
{% endif %}
|
|
networks:
|
|
- caddy
|
|
{% if enable_mail | default(true) %}
|
|
- webmail
|
|
{% endif %}
|
|
{% if enable_forgejo | default(true) %}
|
|
- git
|
|
{% endif %}
|
|
{% if enable_monitoring | default(true) %}
|
|
- monitoring
|
|
{% endif %}
|
|
{% if enable_tuwunel | default(true) %}
|
|
- tuwunel
|
|
{% endif %}
|
|
{% if enable_radicale | default(false) %}
|
|
- radicale
|
|
{% endif %}
|
|
|
|
networks:
|
|
caddy:
|
|
external: true
|
|
{% if enable_mail | default(true) %}
|
|
webmail:
|
|
external: true
|
|
{% endif %}
|
|
{% if enable_forgejo | default(true) %}
|
|
git:
|
|
external: true
|
|
{% endif %}
|
|
{% if enable_monitoring | default(true) %}
|
|
monitoring:
|
|
external: true
|
|
{% endif %}
|
|
{% if enable_tuwunel | default(true) %}
|
|
tuwunel:
|
|
external: true
|
|
{% endif %}
|
|
{% if enable_radicale | default(false) %}
|
|
radicale:
|
|
external: true
|
|
{% endif %}
|