Add mautrix-whatsapp
This commit is contained in:
		@@ -5,3 +5,5 @@
 | 
			
		||||
- include: tasks/setup/setup_synapse_ext_shared_secret_auth.yml
 | 
			
		||||
 | 
			
		||||
- include: tasks/setup/setup_synapse_ext_mautrix_telegram.yml
 | 
			
		||||
 | 
			
		||||
- include: tasks/setup/setup_synapse_ext_mautrix_whatsapp.yml
 | 
			
		||||
 
 | 
			
		||||
@@ -34,11 +34,11 @@
 | 
			
		||||
  when: "matrix_mautrix_telegram_enabled"
 | 
			
		||||
 | 
			
		||||
- stat: "path={{ matrix_mautrix_telegram_base_path }}/registration.yaml"
 | 
			
		||||
  register: mautrix_registration_file
 | 
			
		||||
  register: mautrix_telegram_registration_file
 | 
			
		||||
 | 
			
		||||
- name: Generate matrix-mautrix-telegram registration.yaml if it doesn't exist
 | 
			
		||||
  shell: /usr/bin/docker run --rm --name matrix-mautrix-telegram-gen -v {{ matrix_mautrix_telegram_base_path }}:/data:z {{ matrix_docker_image_mautrix_telegram }} python3 -m mautrix_telegram -g -c /data/config.yaml -r /data/registration.yaml
 | 
			
		||||
  when: "matrix_mautrix_telegram_enabled and mautrix_registration_file.stat.exists == False"
 | 
			
		||||
  when: "matrix_mautrix_telegram_enabled and mautrix_telegram_registration_file.stat.exists == False"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    matrix_synapse_app_service_config_file_mautrix_telegram: '/app-registration/mautrix-telegram.yml'
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,68 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Ensure Mautrix Whatsapp image is pulled
 | 
			
		||||
  docker_image:
 | 
			
		||||
    name: "{{ matrix_docker_image_mautrix_whatsapp }}"
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
 | 
			
		||||
- name: Ensure Mautrix Whatsapp configuration path exists
 | 
			
		||||
  file:
 | 
			
		||||
    path: "{{ matrix_mautrix_whatsapp_base_path }}"
 | 
			
		||||
    state: directory
 | 
			
		||||
    mode: 0750
 | 
			
		||||
    owner: "{{ matrix_user_username }}"
 | 
			
		||||
    group: "{{ matrix_user_username }}"
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
 | 
			
		||||
- stat: "path={{ matrix_mautrix_whatsapp_base_path }}/config.yaml"
 | 
			
		||||
  register: mautrix_config_file
 | 
			
		||||
 | 
			
		||||
- name: Ensure Matrix Mautrix whatsapp config installed
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ role_path }}/templates/mautrix-whatsapp/config.yaml.j2"
 | 
			
		||||
    dest: "{{ matrix_mautrix_whatsapp_base_path }}/config.yaml"
 | 
			
		||||
    mode: 0644
 | 
			
		||||
    owner: "{{ matrix_user_username }}"
 | 
			
		||||
    group: "{{ matrix_user_username }}"
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled and mautrix_config_file.stat.exists == False"
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-mautrix-whatsapp.service installed
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ role_path }}/templates/systemd/matrix-mautrix-whatsapp.service.j2"
 | 
			
		||||
    dest: "/etc/systemd/system/matrix-mautrix-whatsapp.service"
 | 
			
		||||
    mode: 0644
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
 | 
			
		||||
- stat: "path={{ matrix_mautrix_whatsapp_base_path }}/registration.yaml"
 | 
			
		||||
  register: mautrix_whatsapp_registration_file
 | 
			
		||||
 | 
			
		||||
- name: Generate matrix-mautrix-whatsapp registration.yaml if it doesn't exist
 | 
			
		||||
  shell: /usr/bin/docker run --rm --name matrix-mautrix-whatsapp-gen -v {{ matrix_mautrix_whatsapp_base_path }}:/data:z {{ matrix_docker_image_mautrix_whatsapp }} /usr/bin/mautrix-whatsapp -g -c /data/config.yaml -r /data/registration.yaml
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled and mautrix_whatsapp_registration_file.stat.exists == False"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    matrix_synapse_app_service_config_file_mautrix_whatsapp: '/app-registration/mautrix-whatsapp.yml'
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    matrix_synapse_container_additional_volumes: >
 | 
			
		||||
      {{ matrix_synapse_container_additional_volumes }}
 | 
			
		||||
      +
 | 
			
		||||
      {{ [{'src': '{{ matrix_mautrix_whatsapp_base_path }}/registration.yaml', 'dst': '{{ matrix_synapse_app_service_config_file_mautrix_whatsapp }}', 'options': 'ro'}] }}
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    matrix_synapse_app_service_config_files: >
 | 
			
		||||
      {{ matrix_synapse_app_service_config_files }}
 | 
			
		||||
      +
 | 
			
		||||
      {{ ["{{ matrix_synapse_app_service_config_file_mautrix_whatsapp }}"] | to_nice_json  }}
 | 
			
		||||
  when: "matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Tasks related to getting rid of matrix-mautrix-whatsapp (if it was previously enabled)
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-mautrix-whatsapp.service doesn't exist
 | 
			
		||||
  file:
 | 
			
		||||
    path: "/etc/systemd/system/matrix-mautrix-whatsapp.service"
 | 
			
		||||
    state: absent
 | 
			
		||||
  when: "not matrix_mautrix_whatsapp_enabled"
 | 
			
		||||
@@ -37,3 +37,7 @@
 | 
			
		||||
- name: Ensure matrix-mautrix-telegram autoruns and is restarted
 | 
			
		||||
  service: name=matrix-mautrix-telegram enabled=yes state=restarted daemon_reload=yes
 | 
			
		||||
  when: matrix_mautrix_telegram_enabled
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-mautrix-whatsapp autoruns and is restarted
 | 
			
		||||
  service: name=matrix-mautrix-whatsapp enabled=yes state=restarted daemon_reload=yes
 | 
			
		||||
  when: matrix_mautrix_whatsapp_enabled
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user