mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-31 15:27:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			194 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| {#
 | |
| SPDX-FileCopyrightText: 2024 Slavi Pantaleev
 | |
| 
 | |
| SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| #}
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_traefik_enabled %}
 | |
| traefik.enable=true
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_traefik_docker_network %}
 | |
| traefik.docker.network={{ matrix_hookshot_container_labels_traefik_docker_network }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.services.matrix-hookshot-webhooks.loadbalancer.server.port={{ matrix_hookshot_webhook_port }}
 | |
| traefik.http.services.matrix-hookshot-appservice.loadbalancer.server.port={{ matrix_hookshot_appservice_port }}
 | |
| traefik.http.services.matrix-hookshot-widgets.loadbalancer.server.port={{ matrix_hookshot_widgets_port }}
 | |
| traefik.http.services.matrix-hookshot-provisioning.loadbalancer.server.port={{ matrix_hookshot_provisioning_port }}
 | |
| traefik.http.services.matrix-hookshot-metrics.loadbalancer.server.port={{ matrix_hookshot_metrics_port }}
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_webhooks_enabled %}
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # Webhooks                                                 #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| 
 | |
| traefik.http.middlewares.matrix-hookshot-webhooks-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_webhook_endpoint }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-webhooks.rule={{ matrix_hookshot_container_labels_webhooks_traefik_rule }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-webhooks.middlewares=matrix-hookshot-webhooks-strip-prefix
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_webhooks_traefik_priority | int > 0 %}
 | |
| traefik.http.routers.matrix-hookshot-webhooks.priority={{ matrix_hookshot_container_labels_webhooks_traefik_priority }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-webhooks.service=matrix-hookshot-webhooks
 | |
| traefik.http.routers.matrix-hookshot-webhooks.entrypoints={{ matrix_hookshot_container_labels_webhooks_traefik_entrypoints }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-webhooks.tls={{ matrix_hookshot_container_labels_webhooks_traefik_tls | to_json }}
 | |
| {% if matrix_hookshot_container_labels_webhooks_traefik_tls %}
 | |
| traefik.http.routers.matrix-hookshot-webhooks.tls.certResolver={{ matrix_hookshot_container_labels_webhooks_traefik_tls_certResolver }}
 | |
| {% endif %}
 | |
| 
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # /Webhooks                                                #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| {% endif %}
 | |
| 
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_appservice_enabled %}
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # Appservice                                               #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| 
 | |
| traefik.http.middlewares.matrix-hookshot-appservice-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_appservice_endpoint }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-appservice.rule={{ matrix_hookshot_container_labels_appservice_traefik_rule }}
 | |
| traefik.http.routers.matrix-hookshot-appservice.middlewares=matrix-hookshot-appservice-strip-prefix
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_appservice_traefik_priority | int > 0 %}
 | |
| traefik.http.routers.matrix-hookshot-appservice.priority={{ matrix_hookshot_container_labels_appservice_traefik_priority }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-appservice.service=matrix-hookshot-appservice
 | |
| traefik.http.routers.matrix-hookshot-appservice.entrypoints={{ matrix_hookshot_container_labels_appservice_traefik_entrypoints }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-appservice.tls={{ matrix_hookshot_container_labels_appservice_traefik_tls | to_json }}
 | |
| {% if matrix_hookshot_container_labels_appservice_traefik_tls %}
 | |
| traefik.http.routers.matrix-hookshot-appservice.tls.certResolver={{ matrix_hookshot_container_labels_appservice_traefik_tls_certResolver }}
 | |
| {% endif %}
 | |
| 
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # /Appservice                                              #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| {% endif %}
 | |
| 
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_widgets_enabled %}
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # Widgets                                                  #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| 
 | |
| # Redirect `{PREFIX}/widgetapi/v1/static` to `{PREFIX}/widgetapi/v1/static/`.
 | |
| # Hookshot does it too, but does not obey the prefix, which leads people elsewhere.
 | |
| traefik.http.middlewares.matrix-hookshot-widgets-slashless-redirect.redirectregex.regex=({{ matrix_hookshot_widgets_endpoint | quote }}/v1/static)$
 | |
| traefik.http.middlewares.matrix-hookshot-widgets-slashless-redirect.redirectregex.replacement=${1}/
 | |
| 
 | |
| traefik.http.middlewares.matrix-hookshot-widgets-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_public_endpoint }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-widgets.rule={{ matrix_hookshot_container_labels_widgets_traefik_rule }}
 | |
| traefik.http.routers.matrix-hookshot-widgets.middlewares=matrix-hookshot-widgets-slashless-redirect,matrix-hookshot-widgets-strip-prefix
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_widgets_traefik_priority | int > 0 %}
 | |
| traefik.http.routers.matrix-hookshot-widgets.priority={{ matrix_hookshot_container_labels_widgets_traefik_priority }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-widgets.service=matrix-hookshot-widgets
 | |
| traefik.http.routers.matrix-hookshot-widgets.entrypoints={{ matrix_hookshot_container_labels_widgets_traefik_entrypoints }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-widgets.tls={{ matrix_hookshot_container_labels_widgets_traefik_tls | to_json }}
 | |
| {% if matrix_hookshot_container_labels_widgets_traefik_tls %}
 | |
| traefik.http.routers.matrix-hookshot-widgets.tls.certResolver={{ matrix_hookshot_container_labels_widgets_traefik_tls_certResolver }}
 | |
| {% endif %}
 | |
| 
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # /Widgets                                                 #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| {% endif %}
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_provisioning_enabled %}
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # Provisioning                                             #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| 
 | |
| traefik.http.middlewares.matrix-hookshot-provisioning-strip-prefix.stripprefix.prefixes={{ matrix_hookshot_provisioning_endpoint }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-provisioning.rule={{ matrix_hookshot_container_labels_provisioning_traefik_rule }}
 | |
| traefik.http.routers.matrix-hookshot-provisioning.middlewares=matrix-hookshot-provisioning-strip-prefix
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_provisioning_traefik_priority | int > 0 %}
 | |
| traefik.http.routers.matrix-hookshot-provisioning.priority={{ matrix_hookshot_container_labels_provisioning_traefik_priority }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-provisioning.service=matrix-hookshot-provisioning
 | |
| traefik.http.routers.matrix-hookshot-provisioning.entrypoints={{ matrix_hookshot_container_labels_provisioning_traefik_entrypoints }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-provisioning.tls={{ matrix_hookshot_container_labels_provisioning_traefik_tls | to_json }}
 | |
| {% if matrix_hookshot_container_labels_provisioning_traefik_tls %}
 | |
| traefik.http.routers.matrix-hookshot-provisioning.tls.certResolver={{ matrix_hookshot_container_labels_provisioning_traefik_tls_certResolver }}
 | |
| {% endif %}
 | |
| 
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # /Provisioning                                            #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| {% endif %}
 | |
| 
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_metrics_enabled %}
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # Metrics                                                  #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| 
 | |
| {% set metricsMiddlewares = ['matrix-hookshot-metrics-replace-path'] %}
 | |
| traefik.http.middlewares.matrix-hookshot-metrics-replace-path.replacepath.path=/metrics
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled %}
 | |
| {% set metricsMiddlewares = metricsMiddlewares + ['matrix-hookshot-metrics-basic-auth'] %}
 | |
| traefik.http.middlewares.matrix-hookshot-metrics-basic-auth.basicauth.users={{ matrix_hookshot_container_labels_metrics_middleware_basic_auth_users }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-metrics.rule={{ matrix_hookshot_container_labels_metrics_traefik_rule }}
 | |
| traefik.http.routers.matrix-hookshot-metrics.middlewares={{ metricsMiddlewares | join(',') }}
 | |
| 
 | |
| {% if matrix_hookshot_container_labels_metrics_traefik_priority | int > 0 %}
 | |
| traefik.http.routers.matrix-hookshot-metrics.priority={{ matrix_hookshot_container_labels_metrics_traefik_priority }}
 | |
| {% endif %}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-metrics.service=matrix-hookshot-metrics
 | |
| traefik.http.routers.matrix-hookshot-metrics.entrypoints={{ matrix_hookshot_container_labels_metrics_traefik_entrypoints }}
 | |
| 
 | |
| traefik.http.routers.matrix-hookshot-metrics.tls={{ matrix_hookshot_container_labels_metrics_traefik_tls | to_json }}
 | |
| {% if matrix_hookshot_container_labels_metrics_traefik_tls %}
 | |
| traefik.http.routers.matrix-hookshot-metrics.tls.certResolver={{ matrix_hookshot_container_labels_metrics_traefik_tls_certResolver }}
 | |
| {% endif %}
 | |
| 
 | |
| ############################################################
 | |
| #                                                          #
 | |
| # /Metrics                                                 #
 | |
| #                                                          #
 | |
| ############################################################
 | |
| {% endif %}
 | |
| 
 | |
| 
 | |
| {% endif %}
 | |
| 
 | |
| {{ matrix_hookshot_container_labels_additional_labels }}
 |