mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-11 09:56:07 +00:00
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.
81 lines
3.2 KiB
YAML
81 lines
3.2 KiB
YAML
---
|
|
|
|
# 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
|
|
docker_image:
|
|
name: "{{ matrix_mautrix_telegram_docker_image }}"
|
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
force_source: "{{ matrix_mautrix_telegram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mautrix_telegram_docker_image_force_pull }}"
|
|
|
|
- name: Ensure Mautrix Telegram base directory exists
|
|
file:
|
|
path: "{{ matrix_mautrix_telegram_base_path }}"
|
|
state: directory
|
|
mode: 0750
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_username }}"
|
|
|
|
- name: Check if a mautrix-telegram configuration file exists
|
|
stat:
|
|
path: "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
|
|
register: mautrix_telegram_config_file_stat
|
|
|
|
- name: Ensure Matrix Mautrix telegram config installed
|
|
template:
|
|
src: "{{ role_path }}/templates/config.yaml.j2"
|
|
dest: "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
|
|
mode: 0644
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_username }}"
|
|
when: "not mautrix_telegram_config_file_stat.stat.exists"
|
|
|
|
- name: (Migration) Fix up old configuration
|
|
lineinfile:
|
|
path: "{{ matrix_mautrix_telegram_base_path }}/config.yaml"
|
|
regexp: "{{ item.regexp }}"
|
|
line: "{{ item.line }}"
|
|
backrefs: yes
|
|
with_items:
|
|
- {'regexp': '^(\s+)filename: \./mautrix-telegram.log', 'line': '\1filename: /data/mautrix-telegram.log'}
|
|
- {'regexp': '^(\s+)database:', 'line': '\1database: sqlite:////data/mautrix-telegram.db'}
|
|
when: "mautrix_telegram_config_file_stat.stat.exists"
|
|
|
|
- name: Ensure matrix-mautrix-telegram.service installed
|
|
template:
|
|
src: "{{ role_path }}/templates/systemd/matrix-mautrix-telegram.service.j2"
|
|
dest: "/etc/systemd/system/matrix-mautrix-telegram.service"
|
|
mode: 0644
|
|
register: matrix_mautrix_telegram_systemd_service_result
|
|
|
|
- name: Ensure systemd reloaded after matrix-mautrix-telegram.service installation
|
|
service:
|
|
daemon_reload: yes
|
|
when: "matrix_mautrix_telegram_systemd_service_result.changed"
|
|
|
|
- name: Check if a mautrix-telegram registration file exists
|
|
stat:
|
|
path: "{{ matrix_mautrix_telegram_base_path }}/registration.yaml"
|
|
register: mautrix_telegram_registration_file_stat
|
|
|
|
- name: Generate matrix-mautrix-telegram registration.yaml if it doesn't exist
|
|
shell:
|
|
cmd: >-
|
|
/usr/bin/docker run
|
|
--rm
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
|
--cap-drop=ALL
|
|
--name matrix-mautrix-telegram-gen
|
|
-v {{ matrix_mautrix_telegram_base_path }}:/data:z
|
|
{{ matrix_mautrix_telegram_docker_image }}
|
|
python3 -m mautrix_telegram -g -c /data/config.yaml -r /data/registration.yaml
|
|
when: "not mautrix_telegram_registration_file_stat.stat.exists"
|
|
|