| @@ -3967,6 +3967,10 @@ matrix_synapse_reverse_proxy_companion_container_labels_traefik_docker_network: | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" | matrix_synapse_reverse_proxy_companion_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" | matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_hostname: "{{ matrix_server_fqn_matrix }}" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_enabled: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_url != '' }}" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname: "{{ matrix_server_fqn_matrix }}" | matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname: "{{ matrix_server_fqn_matrix }}" | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_hostname: "{{ matrix_server_fqn_matrix }}" | matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_hostname: "{{ matrix_server_fqn_matrix }}" | ||||
| @@ -71,6 +71,17 @@ matrix_synapse_reverse_proxy_companion_container_labels_traefik_docker_network: | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_traefik_entrypoints: web-secure | matrix_synapse_reverse_proxy_companion_container_labels_traefik_entrypoints: web-secure | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver: default | matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver: default | ||||
| # Controls whether labels will be added for handling the root (/) path | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_enabled: true | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_hostname: '' | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_rule: "Host(`{{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_hostname }}`) && Path(`/`)" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_priority: 0 | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_entrypoints: "{{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_entrypoints }}" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_tls: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_entrypoints != 'web' }}" | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_tls_certResolver: "{{ matrix_synapse_reverse_proxy_companion_container_labels_traefik_tls_certResolver }}" # noqa var-naming | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_enabled: false | |||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_url: "" | |||||
| # Controls whether labels will be added that expose the Client-Server API. | # Controls whether labels will be added that expose the Client-Server API. | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_api_enabled: true | matrix_synapse_reverse_proxy_companion_container_labels_client_api_enabled: true | ||||
| matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname: '' | matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname: '' | ||||
| @@ -7,7 +7,12 @@ | |||||
| when: "item.when | bool and vars[item.name] == ''" | when: "item.when | bool and vars[item.name] == ''" | ||||
| with_items: | with_items: | ||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_network', when: true} | - {'name': 'matrix_synapse_reverse_proxy_companion_container_network', when: true} | ||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_hostname', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_enabled }}"} | |||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_url', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_enabled }}"} | |||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_api_enabled }}"} | - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_client_api_traefik_hostname', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_client_api_enabled }}"} | ||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_hostname', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_federation_api_enabled }}"} | - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_hostname', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_federation_api_enabled }}"} | ||||
| - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_federation_api_enabled }}"} | - {'name': 'matrix_synapse_reverse_proxy_companion_container_labels_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_reverse_proxy_companion_container_labels_federation_api_enabled }}"} | ||||
| @@ -9,6 +9,44 @@ traefik.http.services.matrix-synapse-reverse-proxy-companion-client-api.loadbala | |||||
| traefik.http.services.matrix-synapse-reverse-proxy-companion-federation-api.loadbalancer.server.port=8048 | traefik.http.services.matrix-synapse-reverse-proxy-companion-federation-api.loadbalancer.server.port=8048 | ||||
| {# | |||||
| Root path (/) | |||||
| #} | |||||
| {% if matrix_synapse_reverse_proxy_companion_container_labels_client_root_enabled %} | |||||
| {% set client_root_middlewares = [] %} | |||||
| {% if matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_enabled %} | |||||
| {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-reverse-proxy-companion-client-root-redirect'] %} | |||||
| traefik.http.middlewares.matrix-synapse-reverse-proxy-companion-client-root-redirect.redirectregex.regex=(.*) | |||||
| traefik.http.middlewares.matrix-synapse-reverse-proxy-companion-client-root-redirect.redirectregex.replacement={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_redirection_url }} | |||||
| {% else %} | |||||
| {% set client_root_middlewares = client_root_middlewares + ['matrix-synapse-reverse-proxy-companion-client-root-replacepath'] %} | |||||
| traefik.http.middlewares.matrix-synapse-reverse-proxy-companion-client-root-replacepath.replacepath.path=/_matrix/static/ | |||||
| {% endif %} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.rule={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_rule }} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.middlewares={{ client_root_middlewares | join(',') }} | |||||
| {% if matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_priority | int > 0 %} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.priority={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_priority }} | |||||
| {% endif %} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.service=matrix-synapse-reverse-proxy-companion-client-api | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.entrypoints={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_entrypoints }} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.tls={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_tls | to_json }} | |||||
| {% if matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_tls %} | |||||
| traefik.http.routers.matrix-synapse-reverse-proxy-companion-client-root.tls.certResolver={{ matrix_synapse_reverse_proxy_companion_container_labels_client_root_traefik_tls_certResolver }} | |||||
| {% endif %} | |||||
| {% endif %} | |||||
| {# | |||||
| /Root path (/) | |||||
| #} | |||||
| {# | {# | ||||
| Client-API | Client-API | ||||
| #} | #} | ||||