| @@ -15,9 +15,11 @@ matrix_mautrix_wsproxy_data_path: "{{ matrix_mautrix_wsproxy_base_path }}/data" | |||||
| matrix_mautrix_wsproxy_homeserver_address: "{{ matrix_homeserver_container_url }}" | matrix_mautrix_wsproxy_homeserver_address: "{{ matrix_homeserver_container_url }}" | ||||
| matrix_mautrix_wsproxy_homeserver_domain: "{{ matrix_domain }}" | matrix_mautrix_wsproxy_homeserver_domain: "{{ matrix_domain }}" | ||||
| matrix_mautrix_wsproxy_appservice_address: "http://matrix-mautrix-wsproxy:29331" | |||||
| matrix_mautrix_wsproxy_port: 29931 | matrix_mautrix_wsproxy_port: 29931 | ||||
| matrix_mautrix_wsproxy_appservice_address: "http://matrix-mautrix-wsproxy:{{ matrix_mautrix_wsproxy_port }}" | |||||
| # A list of extra arguments to pass to the container | # A list of extra arguments to pass to the container | ||||
| matrix_mautrix_wsproxy_container_extra_arguments: [] | matrix_mautrix_wsproxy_container_extra_arguments: [] | ||||
| @@ -51,55 +51,6 @@ | |||||
| owner: "{{ matrix_user_username }}" | owner: "{{ matrix_user_username }}" | ||||
| group: "{{ matrix_user_groupname }}" | group: "{{ matrix_user_groupname }}" | ||||
| - 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 plabook, | |||||
| so that the matrix-nginx-proxy role would run after the matrix-wspoxy role. | |||||
| when: matrix_nginx_proxy_role_executed|default(False)|bool and matrix_mautrix_wsproxy_enabled|bool | |||||
| - name: Generate Wsproxy proxying configuration for matrix-nginx-proxy | |||||
| set_fact: | |||||
| matrix_mautrix_wsproxy_matrix_nginx_proxy_configuration: | | |||||
| location ~ ^/(_matrix/client/unstable/fi.mau.syncproxy/.*) { | |||||
| {% 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 }}/$1"; | |||||
| proxy_pass http://$backend; | |||||
| proxy_set_header Upgrade $http_upgrade; | |||||
| proxy_set_header Connection "upgrade"; | |||||
| {% else %} | |||||
| {# Generic configuration for use outside of our container setup #} | |||||
| proxy_pass http://127.0.0.1:{{ matrix_mautrix_wsproxy_port }}/$1; | |||||
| proxy_set_header Upgrade $http_upgrade; | |||||
| proxy_set_header Connection "upgrade"; | |||||
| {% endif %} | |||||
| } | |||||
| when: matrix_mautrix_wsproxy_enabled|bool | |||||
| - name: Register Wsproxy's 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_bot_maubot_matrix_nginx_proxy_configuration] | |||||
| }} | |||||
| when: matrix_mautrix_wsproxy_enabled|bool | |||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | |||||
| debug: | |||||
| msg: >- | |||||
| NOTE: You've enabled mautrix-wsproxy but are not using the matrix-nginx-proxy | |||||
| reverse proxy. | |||||
| Please make sure that you're proxying the `/_matrix/client/unstable/fi.mau.syncproxy` | |||||
| URL endpoint to the mautrix-wsproxy container. | |||||
| when: "matrix_mautrix_wsproxy_enabled|bool and matrix_nginx_proxy_enabled is not defined" | |||||
| - name: Ensure matrix-mautrix-wsproxy.service installed | - name: Ensure matrix-mautrix-wsproxy.service installed | ||||
| template: | template: | ||||
| src: "{{ role_path }}/templates/systemd/matrix-mautrix-wsproxy.service.j2" | src: "{{ role_path }}/templates/systemd/matrix-mautrix-wsproxy.service.j2" | ||||
| @@ -181,6 +181,13 @@ | |||||
| mode: 0644 | mode: 0644 | ||||
| when: matrix_nginx_proxy_base_domain_serving_enabled|bool | when: matrix_nginx_proxy_base_domain_serving_enabled|bool | ||||
| - name: Ensure Matrix wsproxy-proxy configuration for base domain 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_mautrix_wsproxy_enabled|bool | |||||
| # | # | ||||
| # Tasks related to setting up matrix-nginx-proxy | # Tasks related to setting up matrix-nginx-proxy | ||||
| # | # | ||||
| @@ -308,6 +315,12 @@ | |||||
| state: absent | state: absent | ||||
| when: "not matrix_nginx_proxy_base_domain_serving_enabled|bool" | when: "not matrix_nginx_proxy_base_domain_serving_enabled|bool" | ||||
| - name: Ensure Matrix wsproxy-proxy configuration for base domain deleted | |||||
| template: | |||||
| path: "{{ matrix_nginx_proxy_confd_path }}/matrix-mautrix-wsproxy.conf" | |||||
| state: absent | |||||
| when: "not matrix_mautrix_wsproxy_enabled|bool" | |||||
| - name: Ensure Matrix nginx-proxy configuration for main config override deleted | - name: Ensure Matrix nginx-proxy configuration for main config override deleted | ||||
| file: | file: | ||||
| path: "{{ matrix_nginx_proxy_base_path }}/nginx.conf" | path: "{{ matrix_nginx_proxy_base_path }}/nginx.conf" | ||||
| @@ -26,11 +26,11 @@ | |||||
| {% if matrix_nginx_proxy_enabled %} | {% if matrix_nginx_proxy_enabled %} | ||||
| {# Use the embedded DNS resolver in Docker containers to discover the service #} | {# Use the embedded DNS resolver in Docker containers to discover the service #} | ||||
| resolver 127.0.0.11 valid=5s; | resolver 127.0.0.11 valid=5s; | ||||
| set $backend "matrix-mautrix-wsproxy:29331"; | |||||
| set $backend "matrix-mautrix-wsproxy:{{ matrix_mautrix_wsproxy_port }}"; | |||||
| proxy_pass http://$backend; | proxy_pass http://$backend; | ||||
| {% else %} | {% else %} | ||||
| {# Generic configuration for use outside of our container setup #} | {# Generic configuration for use outside of our container setup #} | ||||
| proxy_pass http://127.0.0.1:29331; | |||||
| proxy_pass http://127.0.0.1:{{ matrix_mautrix_wsproxy_port }}; | |||||
| {% endif %} | {% endif %} | ||||
| proxy_set_header Host $host; | proxy_set_header Host $host; | ||||