964aa0e84d
The newly extracted role also has native Traefik support, so we no longer need to rely on `matrix-nginx-proxy` for reverse-proxying to Ntfy. The new role uses port `80` inside the container (not `8080`, like before), because that's the default assumption of the officially published container image. Using a custom port (like `8080`), means the default healthcheck command (which hardcodes port `80`) doesn't work. Instead of fiddling to override the healthcheck command, we've decided to stick to the default port instead. This only affects the inside-the-container port, not any external ports. The new role also supports adding the network ranges of the container's multiple additional networks as "exempt hosts". Previously, only one network's address range was added to "exempt hosts".
121 lines
7.5 KiB
Django/Jinja
121 lines
7.5 KiB
Django/Jinja
{% if matrix_nginx_proxy_container_labels_traefik_enabled %}
|
|
traefik.enable=true
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_docker_network %}
|
|
traefik.docker.network={{ matrix_nginx_proxy_container_labels_traefik_docker_network }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_base_domain_enabled %}
|
|
# Base domain
|
|
traefik.http.routers.matrix-nginx-proxy-base-domain.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_base_domain_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-base-domain.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-base-domain.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_base_domain_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_base_domain_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-base-domain.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-base-domain.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_matrix_enabled %}
|
|
# Matrix Client
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-client.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_matrix_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-client.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-client.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_matrix_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_matrix_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-client.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-client.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
|
|
# Matrix Federation
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-federation.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_matrix_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-federation.service=matrix-nginx-proxy-federation
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-federation.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_matrix_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_matrix_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-federation.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-matrix-federation.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_proxy_matrix_federation_entrypoints }}
|
|
{% endif %}
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_buscarron_enabled %}
|
|
# Buscarron
|
|
traefik.http.routers.matrix-nginx-proxy-buscarron.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_buscarron_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-buscarron.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-buscarron.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_buscarron_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_buscarron_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-buscarron.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-buscarron.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_dimension_enabled %}
|
|
# Dimension
|
|
traefik.http.routers.matrix-nginx-proxy-dimension.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_dimension_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-dimension.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-dimension.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_dimension_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_dimension_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-dimension.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-dimension.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_etherpad_enabled %}
|
|
# Etherpad
|
|
traefik.http.routers.matrix-nginx-proxy-etherpad.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_etherpad_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-etherpad.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-etherpad.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_etherpad_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_etherpad_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-etherpad.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-etherpad.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_bot_go_neb_enabled %}
|
|
# Go NEB bot
|
|
traefik.http.routers.matrix-nginx-proxy-bot_go_neb.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_bot_go_neb_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-bot_go_neb.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-bot_go_neb.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_bot_go_neb_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_bot_go_neb_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-bot_go_neb.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-bot_go_neb.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_jitsi_enabled %}
|
|
# Jitsi
|
|
traefik.http.routers.matrix-nginx-proxy-jitsi.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_jitsi_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-jitsi.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-jitsi.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_jitsi_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_jitsi_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-jitsi.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-jitsi.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_sygnal_enabled %}
|
|
# Sygnal
|
|
traefik.http.routers.matrix-nginx-proxy-sygnal.rule={{ matrix_nginx_proxy_container_labels_traefik_proxy_sygnal_rule }}
|
|
traefik.http.routers.matrix-nginx-proxy-sygnal.service=matrix-nginx-proxy-web
|
|
traefik.http.routers.matrix-nginx-proxy-sygnal.tls={{ matrix_nginx_proxy_container_labels_traefik_proxy_sygnal_tls | to_json }}
|
|
{% if matrix_nginx_proxy_container_labels_traefik_proxy_sygnal_tls %}
|
|
traefik.http.routers.matrix-nginx-proxy-sygnal.tls.certResolver={{ matrix_nginx_proxy_container_labels_traefik_tls_certResolver }}
|
|
{% endif %}
|
|
traefik.http.routers.matrix-nginx-proxy-sygnal.entrypoints={{ matrix_nginx_proxy_container_labels_traefik_entrypoints }}
|
|
{% endif %}
|
|
|
|
|
|
traefik.http.services.matrix-nginx-proxy-web.loadbalancer.server.port=8080
|
|
|
|
{% if matrix_nginx_proxy_proxy_matrix_federation_api_enabled %}
|
|
traefik.http.services.matrix-nginx-proxy-federation.loadbalancer.server.port={{ matrix_nginx_proxy_proxy_matrix_federation_port }}
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{{ matrix_nginx_proxy_container_labels_additional_labels }}
|