diff --git a/roles/matrix-bridge-mautrix-wsproxy/tasks/init.yml b/roles/matrix-bridge-mautrix-wsproxy/tasks/init.yml index 3f37d7045..eb64dae89 100644 --- a/roles/matrix-bridge-mautrix-wsproxy/tasks/init.yml +++ b/roles/matrix-bridge-mautrix-wsproxy/tasks/init.yml @@ -14,3 +14,52 @@ + {{ ["/matrix-mautrix-wsproxy-registration.yaml"] }} when: matrix_mautrix_wsproxy_enabled|bool + + +- block: + - name: Fail if matrix-nginx-proxy role already executed + fail: + msg: >- + Trying to append Mautrix Wsproxy reverse-proxying configuration to matrix-nginx-proxy, + but it's pointless since the matrix-nginx-proxy role had already executed. + To fix this, please change the order of roles in your playbook, + so that the matrix-nginx-proxy role would run after the matrix-bridge-mautrix-wsproxy role. + when: matrix_nginx_proxy_role_executed|default(False)|bool + + - name: Generate Mautrix Wsproxy proxying configuration for matrix-nginx-proxy + set_fact: + matrix_mautrix_wsproxy_matrix_nginx_proxy_configuration: | + location ~ ^/(_matrix/wsproxy/.*) { + {% if matrix_nginx_proxy_enabled|default(False) %} + {# Use the embedded DNS resolver in Docker containers to discover the service #} + resolver 127.0.0.11 valid=5s; + set $backend "matrix-mautrix-wsproxy:{{ matrix_mautrix_wsproxy_port }}"; + proxy_pass http://$backend; + {% else %} + {# Generic configuration for use outside of our container setup #} + proxy_pass http://127.0.0.1:{{ matrix_mautrix_wsproxy_port }}; + {% endif %} + } + + - name: Register Mautrix Wsproxy proxying configuration with matrix-nginx-proxy + set_fact: + matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks: | + {{ + matrix_nginx_proxy_proxy_matrix_additional_server_configuration_blocks|default([]) + + + [matrix_mautrix_wsproxy_matrix_nginx_proxy_configuration] + }} + tags: + - always + when: matrix_mautrix_wsproxy_enabled|bool + +- name: Warn about reverse-proxying if matrix-nginx-proxy not used + debug: + msg: >- + NOTE: You've enabled the Mautrix wsproxy bridge but are not using the matrix-nginx-proxy + reverse proxy. + Please make sure that you're proxying the `{{ matrix_mautrix_wsproxy_public_endpoint }}` + URL endpoint to the matrix-mautrix-wsproxy container. + You can expose the container's port using the `matrix_mautrix_wsproxy_container_http_host_bind_port` variable. + when: "matrix_mautrix_wsproxy_enabled|bool and matrix_nginx_proxy_enabled is not defined" + diff --git a/roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml b/roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml index 4c83b2b63..ec786d2c7 100644 --- a/roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml +++ b/roles/matrix-nginx-proxy/tasks/setup_nginx_proxy.yml @@ -143,12 +143,12 @@ mode: 0644 when: matrix_nginx_proxy_proxy_sygnal_enabled|bool -- name: Ensure Matrix nginx-proxy configuration for mautrix wsproxy exists - template: - src: "{{ role_path }}/templates/nginx/conf.d/matrix-mautrix-wsproxy.conf.j2" - dest: "{{ matrix_nginx_proxy_confd_path }}/matrix-mautrix-wsproxy.conf" - mode: 0644 - when: matrix_nginx_proxy_proxy_mautrix_wsproxy_enabled|bool +#- name: Ensure Matrix nginx-proxy configuration for mautrix wsproxy exists +# template: +# src: "{{ role_path }}/templates/nginx/conf.d/matrix-mautrix-wsproxy.conf.j2" +# dest: "{{ matrix_nginx_proxy_confd_path }}/matrix-mautrix-wsproxy.conf" +# mode: 0644 +# when: matrix_nginx_proxy_proxy_mautrix_wsproxy_enabled|bool - name: Ensure Matrix nginx-proxy configuration for Matrix domain exists template: @@ -290,11 +290,11 @@ state: absent when: "not matrix_nginx_proxy_proxy_sygnal_enabled|bool" -- name: Ensure Matrix nginx-proxy configuration for mautrix wsproxy deleted - file: - path: "{{ matrix_nginx_proxy_confd_path }}/matrix-mautrix-wsproxy.conf" - state: absent - when: "not matrix_nginx_proxy_proxy_mautrix_wsproxy_enabled|bool" +#- name: Ensure Matrix nginx-proxy configuration for mautrix wsproxy deleted +# file: +# path: "{{ matrix_nginx_proxy_confd_path }}/matrix-mautrix-wsproxy.conf" +# state: absent +# when: "not matrix_nginx_proxy_proxy_mautrix_wsproxy_enabled|bool" - name: Ensure Matrix nginx-proxy homepage for base domain deleted file: