00383a73ac
Until now, if `--tags=setup-synapse` was used, bridge tasks would not run and bridges would fail to register with the `matrix-synapse` role. This means that Synapse's configuration would be generated with an empty list of appservices (`app_service_config_files: []`). .. and then bridges would fail, because Synapse would not be aware of there being any bridges. From now on, bridges always run their init tasks and always register with Synapse. For the Telegram bridge, the same applies to registering with matrix-nginx-proxy. Previously, running `--tags=setup-nginx-proxy` would get rid of the Telegram endpoint configuration for the same reason. Not anymore.
64 lines
2.9 KiB
YAML
64 lines
2.9 KiB
YAML
- set_fact:
|
|
matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-mautrix-telegram'] }}"
|
|
when: matrix_mautrix_telegram_enabled|bool
|
|
|
|
# If the matrix-synapse role is not used, these variables may not exist.
|
|
- set_fact:
|
|
matrix_synapse_container_extra_arguments: >
|
|
{{ matrix_synapse_container_extra_arguments|default([]) }}
|
|
+
|
|
{{ ["--mount type=bind,src={{ matrix_mautrix_telegram_base_path }}/registration.yaml,dst=/matrix-mautrix-telegram-registration.yaml,ro"] }}
|
|
|
|
matrix_synapse_app_service_config_files: >
|
|
{{ matrix_synapse_app_service_config_files|default([]) }}
|
|
+
|
|
{{ ["/matrix-mautrix-telegram-registration.yaml"] }}
|
|
when: matrix_mautrix_telegram_enabled|bool
|
|
|
|
- block:
|
|
- name: Fail if matrix-nginx-proxy role already executed
|
|
fail:
|
|
msg: >-
|
|
Trying to append Mautrix Telegram's 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-bridge-mautrix-telegram role.
|
|
when: matrix_nginx_proxy_role_executed|default(False)|bool
|
|
|
|
- name: Generate Mautrix Telegram proxying configuration for matrix-nginx-proxy
|
|
set_fact:
|
|
matrix_mautrix_telegram_matrix_nginx_proxy_configuration: |
|
|
location {{ matrix_mautrix_telegram_public_endpoint }} {
|
|
{% 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-telegram:8080";
|
|
proxy_pass http://$backend;
|
|
{% else %}
|
|
{# Generic configuration for use outside of our container setup #}
|
|
proxy_pass http://127.0.0.1:9006;
|
|
{% endif %}
|
|
}
|
|
|
|
- name: Register Mautrix Telegram 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_telegram_matrix_nginx_proxy_configuration]
|
|
}}
|
|
tags:
|
|
- always
|
|
when: matrix_mautrix_telegram_enabled|bool
|
|
|
|
- name: Warn about reverse-proxying if matrix-nginx-proxy not used
|
|
debug:
|
|
msg: >-
|
|
NOTE: You've enabled the Mautrix Telegram bridge but are not using the matrix-nginx-proxy
|
|
reverse proxy.
|
|
Please make sure that you're proxying the `{{ matrix_mautrix_telegram_public_endpoint }}`
|
|
URL endpoint to the matrix-mautrix-telegram container.
|
|
You can expose the container's port using the `matrix_mautrix_telegram_container_http_host_bind_port` variable.
|
|
when: "matrix_mautrix_telegram_enabled|bool and matrix_nginx_proxy_enabled is not defined"
|