@ -1,33 +1,38 @@
---
---
# If the matrix-synapse role is not used, `matrix_synapse_role_executed` won't exist.
# We don't want to fail in such cases.
- name : Fail if matrix-synapse role already executed
fail:
msg : >-
The matrix-bridge-mautrix-telegram role needs to execute before the matrix-synapse role.
when : "matrix_synapse_role_executed|default(False)"
- name : Ensure Mautrix Telegram image is pulled
- name : Ensure Mautrix Telegram image is pulled
docker_image:
docker_image:
name : "{{ matrix_mautrix_telegram_docker_image }}"
name : "{{ matrix_mautrix_telegram_docker_image }}"
when : "matrix_mautrix_telegram_enabled"
- name : Ensure Mautrix Telegram configuration path exists
- name : Ensure Mautrix Telegram base directory exists
file:
file:
path : "{{ matrix_mautrix_telegram_base_path }}"
path : "{{ matrix_mautrix_telegram_base_path }}"
state : directory
state : directory
mode : 0750
mode : 0750
owner : "{{ matrix_user_username }}"
owner : "{{ matrix_user_username }}"
group : "{{ matrix_user_username }}"
group : "{{ matrix_user_username }}"
when : "matrix_mautrix_telegram_enabled"
- name : Check if a mautrix-telegram configuration file exists
- name : Check if a mautrix-telegram configuration file exists
stat:
stat:
path : "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
path : "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
register : mautrix_telegram_config_file_stat
register : mautrix_telegram_config_file_stat
when : "matrix_mautrix_telegram_enabled"
- name : Ensure Matrix Mautrix telegram config installed
- name : Ensure Matrix Mautrix telegram config installed
template:
template:
src : "{{ role_path }}/templates/ ext/mautrix-telegram/ config.yaml.j2"
src : "{{ role_path }}/templates/ config.yaml.j2"
dest : "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
dest : "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
mode : 0644
mode : 0644
owner : "{{ matrix_user_username }}"
owner : "{{ matrix_user_username }}"
group : "{{ matrix_user_username }}"
group : "{{ matrix_user_username }}"
when : " matrix_mautrix_telegram_enabled and not mautrix_telegram_config_file_stat.stat.exists"
when : " not mautrix_telegram_config_file_stat.stat.exists"
- name : (Migration) Fix up old configuration
- name : (Migration) Fix up old configuration
lineinfile:
lineinfile:
@ -38,26 +43,24 @@
with_items:
with_items:
- {'regexp': '^(\s+)filename: \./mautrix-telegram.log', 'line': '\1filename : /data/mautrix-telegram.log'}
- {'regexp': '^(\s+)filename: \./mautrix-telegram.log', 'line': '\1filename : /data/mautrix-telegram.log'}
- {'regexp': '^(\s+)database:', 'line': '\1database : sqlite:////data/mautrix-telegram.db'}
- {'regexp': '^(\s+)database:', 'line': '\1database : sqlite:////data/mautrix-telegram.db'}
when : "ma trix_mautrix_telegram_enabled and ma utrix_telegram_config_file_stat.stat.exists"
when : "ma utrix_telegram_config_file_stat.stat.exists"
- name : Ensure matrix-mautrix-telegram.service installed
- name : Ensure matrix-mautrix-telegram.service installed
template:
template:
src : "{{ role_path }}/templates/ ext/mautrix-telegram/ systemd/matrix-mautrix-telegram.service.j2"
src : "{{ role_path }}/templates/ systemd/matrix-mautrix-telegram.service.j2"
dest : "/etc/systemd/system/matrix-mautrix-telegram.service"
dest : "/etc/systemd/system/matrix-mautrix-telegram.service"
mode : 0644
mode : 0644
register : matrix_mautrix_telegram_systemd_service_result
register : matrix_mautrix_telegram_systemd_service_result
when : "matrix_mautrix_telegram_enabled"
- name : Ensure systemd reloaded after matrix-mautrix-telegram.service installation
- name : Ensure systemd reloaded after matrix-mautrix-telegram.service installation
service:
service:
daemon_reload : yes
daemon_reload : yes
when : "matrix_mautrix_telegram_ enabled and matrix_mautrix_telegram_ systemd_service_result.changed"
when : "matrix_mautrix_telegram_ systemd_service_result.changed"
- name : Check if a mautrix-telegram registration file exists
- name : Check if a mautrix-telegram registration file exists
stat:
stat:
path : "{{ matrix_mautrix_telegram_base_path }}/registration.yaml"
path : "{{ matrix_mautrix_telegram_base_path }}/registration.yaml"
register : mautrix_telegram_registration_file_stat
register : mautrix_telegram_registration_file_stat
when : "matrix_mautrix_telegram_enabled"
- name : Generate matrix-mautrix-telegram registration.yaml if it doesn't exist
- name : Generate matrix-mautrix-telegram registration.yaml if it doesn't exist
shell:
shell:
@ -70,25 +73,22 @@
-v {{ matrix_mautrix_telegram_base_path }}:/data:z
-v {{ matrix_mautrix_telegram_base_path }}:/data:z
{{ matrix_mautrix_telegram_docker_image }}
{{ matrix_mautrix_telegram_docker_image }}
python3 -m mautrix_telegram -g -c /data/config.yaml -r /data/registration.yaml
python3 -m mautrix_telegram -g -c /data/config.yaml -r /data/registration.yaml
when : " matrix_mautrix_telegram_enabled and not mautrix_telegram_registration_file_stat.stat.exists"
when : " not mautrix_telegram_registration_file_stat.stat.exists"
- set_fact:
- set_fact:
matrix_synapse_app_service_config_file_mautrix_telegram : '/app-registration/mautrix-telegram.yml'
matrix_synapse_app_service_config_file_mautrix_telegram : '/app-registration/mautrix-telegram.yml'
when : "matrix_mautrix_telegram_enabled"
# If the matrix-synapse role is not used, these variables may not exist.
- set_fact:
- set_fact:
matrix_synapse_container_additional_volumes : >
matrix_synapse_container_additional_volumes : >
{{ matrix_synapse_container_additional_volumes }}
{{ matrix_synapse_container_additional_volumes |default([]) }}
+
+
{{ [ {'src' : '{{ matrix_mautrix_telegram_base_path }}/registration.yaml' , 'dst' : '{{ matrix_synapse_app_service_config_file_mautrix_telegram }}' , 'options' : 'ro' }] }}
{{ [ {'src' : '{{ matrix_mautrix_telegram_base_path }}/registration.yaml' , 'dst' : '{{ matrix_synapse_app_service_config_file_mautrix_telegram }}' , 'options' : 'ro' }] }}
when : "matrix_mautrix_telegram_enabled"
- set_fact:
matrix_synapse_app_service_config_files : >
matrix_synapse_app_service_config_files : >
{{ matrix_synapse_app_service_config_files }}
{{ matrix_synapse_app_service_config_files |default([]) }}
+
+
{{ [ "{{ matrix_synapse_app_service_config_file_mautrix_telegram }}" ] | to_nice_json }}
{{ [ "{{ matrix_synapse_app_service_config_file_mautrix_telegram }}" ] | to_nice_json }}
when : "matrix_mautrix_telegram_enabled"
- block:
- block:
- name : Fail if matrix-nginx-proxy role already executed
- name : Fail if matrix-nginx-proxy role already executed
@ -97,7 +97,7 @@
Trying to append Mautrix Telegram's reverse-proxying configuration to matrix-nginx-proxy,
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.
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,
To fix this, please change the order of roles in your plabook,
so that the matrix-nginx-proxy role would run after the matrix- synapse role.
so that the matrix-nginx-proxy role would run after the matrix- bridge-mautrix-telegram role.
when : "matrix_nginx_proxy_role_executed"
when : "matrix_nginx_proxy_role_executed"
- name : Generate Mautrix Telegram proxying configuration for matrix-nginx-proxy
- name : Generate Mautrix Telegram proxying configuration for matrix-nginx-proxy
@ -124,7 +124,7 @@
[ matrix_mautrix_telegram_matrix_nginx_proxy_configuration]
[ matrix_mautrix_telegram_matrix_nginx_proxy_configuration]
}}
}}
when : "matrix_ mautrix_telegram_enabled and matrix_ nginx_proxy_enabled|default(False)"
when : "matrix_ nginx_proxy_enabled|default(False)"
tags:
tags:
- always
- always
@ -135,14 +135,4 @@
reverse proxy.
reverse proxy.
Please make sure that you're proxying the `{{ matrix_mautrix_telegram_public_endpoint }}`
Please make sure that you're proxying the `{{ matrix_mautrix_telegram_public_endpoint }}`
URL endpoint to the matrix-mautrix-telegram container.
URL endpoint to the matrix-mautrix-telegram container.
when : "matrix_mautrix_telegram_enabled and matrix_nginx_proxy_enabled is not defined"
when : "matrix_nginx_proxy_enabled is not defined"
#
# Tasks related to getting rid of matrix-mautrix-telegram (if it was previously enabled)
#
- name : Ensure matrix-mautrix-telegram.service doesn't exist
file:
path : "/etc/systemd/system/matrix-mautrix-telegram.service"
state : absent
when : "not matrix_mautrix_telegram_enabled"