mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-29 22:37:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| 
 | |
| - name: Ensure Mautrix Whatsapp image is pulled
 | |
|   docker_image:
 | |
|     name: "{{ matrix_mautrix_whatsapp_docker_image }}"
 | |
|   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"
 | |
| 
 | |
| - name: Check if a mautrix-whatsapp configuration file exists
 | |
|   stat:
 | |
|     path: "{{ matrix_mautrix_whatsapp_base_path }}/config.yaml"
 | |
|   register: mautrix_whatsapp_config_file_stat
 | |
|   when: "matrix_mautrix_whatsapp_enabled"
 | |
| 
 | |
| - name: Ensure Matrix Mautrix whatsapp config installed
 | |
|   template:
 | |
|     src: "{{ role_path }}/templates/ext/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 not mautrix_whatsapp_config_file_stat.stat.exists"
 | |
| 
 | |
| - name: Ensure matrix-mautrix-whatsapp.service installed
 | |
|   template:
 | |
|     src: "{{ role_path }}/templates/ext/mautrix-whatsapp/systemd/matrix-mautrix-whatsapp.service.j2"
 | |
|     dest: "/etc/systemd/system/matrix-mautrix-whatsapp.service"
 | |
|     mode: 0644
 | |
|   register: matrix_mautrix_whatsapp_systemd_service_result
 | |
|   when: "matrix_mautrix_whatsapp_enabled"
 | |
| 
 | |
| - name: Ensure systemd reloaded after matrix-mautrix-whatsapp.service installation
 | |
|   service:
 | |
|     daemon_reload: yes
 | |
|   when: "matrix_mautrix_whatsapp_enabled and matrix_mautrix_whatsapp_systemd_service_result.changed"
 | |
| 
 | |
| - name: Check if a mautrix-whatsapp registration file exists
 | |
|   stat:
 | |
|     path: "{{ matrix_mautrix_whatsapp_base_path }}/registration.yaml"
 | |
|   register: mautrix_whatsapp_registration_file_stat
 | |
|   when: "matrix_mautrix_whatsapp_enabled"
 | |
| 
 | |
| - name: Generate matrix-mautrix-whatsapp 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-whatsapp-gen
 | |
|       -v {{ matrix_mautrix_whatsapp_base_path }}:/data:z
 | |
|       {{ matrix_mautrix_whatsapp_docker_image }}
 | |
|       /usr/bin/mautrix-whatsapp -g -c /data/config.yaml -r /data/registration.yaml
 | |
|   when: "matrix_mautrix_whatsapp_enabled and not mautrix_whatsapp_registration_file_stat.stat.exists"
 | |
| 
 | |
| - set_fact:
 | |
|     matrix_synapse_app_service_config_file_mautrix_whatsapp: '/app-registration/mautrix-whatsapp.yml'
 | |
|   when: "matrix_mautrix_whatsapp_enabled"
 | |
| 
 | |
| - 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"
 |