mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-30 23:07:57 +01:00 
			
		
		
		
	GoMatrixHosting v0.5.5
This commit is contained in:
		
							
								
								
									
										10
									
								
								roles/matrix-client-hydrogen/tasks/init.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								roles/matrix-client-hydrogen/tasks/init.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # See https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1070 | ||||
| # and https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/1ab507349c752042d26def3e95884f6df8886b74#commitcomment-51108407 | ||||
| - name: Fail if trying to self-build on Ansible < 2.8 | ||||
|   fail: | ||||
|     msg: "To self-build the Hydrogen image, you should use Ansible 2.8 or higher. See docs/ansible.md" | ||||
|   when: "ansible_version.major == 2 and ansible_version.minor < 8 and matrix_client_hydrogen_container_image_self_build and matrix_client_hydrogen_enabled" | ||||
|  | ||||
| - set_fact: | ||||
|     matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-client-hydrogen.service'] }}" | ||||
|   when: matrix_client_hydrogen_enabled|bool | ||||
							
								
								
									
										15
									
								
								roles/matrix-client-hydrogen/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								roles/matrix-client-hydrogen/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| - import_tasks: "{{ role_path }}/tasks/init.yml" | ||||
|   tags: | ||||
|     - always | ||||
|  | ||||
| - import_tasks: "{{ role_path }}/tasks/validate_config.yml" | ||||
|   when: "run_setup|bool and matrix_client_hydrogen_enabled|bool" | ||||
|   tags: | ||||
|     - setup-all | ||||
|     - setup-client-hydrogen | ||||
|  | ||||
| - import_tasks: "{{ role_path }}/tasks/setup.yml" | ||||
|   when: run_setup|bool | ||||
|   tags: | ||||
|     - setup-all | ||||
|     - setup-client-hydrogen | ||||
							
								
								
									
										22
									
								
								roles/matrix-client-hydrogen/tasks/self_check.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								roles/matrix-client-hydrogen/tasks/self_check.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| --- | ||||
|  | ||||
| - set_fact: | ||||
|     matrix_client_hydrogen_url_endpoint_public: "https://{{ matrix_server_fqn_hydrogen }}" | ||||
|  | ||||
| - name: Check Hydrogen | ||||
|   uri: | ||||
|     url: "{{ matrix_client_hydrogen_url_endpoint_public }}" | ||||
|     follow_redirects: none | ||||
|     validate_certs: "{{ matrix_client_hydrogen_self_check_validate_certificates }}" | ||||
|   register: matrix_client_hydrogen_self_check_result | ||||
|   check_mode: no | ||||
|   ignore_errors: true | ||||
|  | ||||
| - name: Fail if Hydrogen not working | ||||
|   fail: | ||||
|     msg: "Failed checking Hydrogen is up at `{{ matrix_server_fqn_hydrogen }}` (checked endpoint: `{{ matrix_client_hydrogen_url_endpoint_public }}`). Is Hydrogen running? Is port 443 open in your firewall? Full error: {{ matrix_client_hydrogen_self_check_result }}" | ||||
|   when: "matrix_client_hydrogen_self_check_result.failed or 'json' not in matrix_client_hydrogen_self_check_result" | ||||
|  | ||||
| - name: Report working Hydrogen | ||||
|   debug: | ||||
|     msg: "Hydrogen at `{{ matrix_server_fqn_hydrogen }}` is working (checked endpoint: `{{ matrix_client_hydrogen_url_endpoint_public }}`)" | ||||
							
								
								
									
										119
									
								
								roles/matrix-client-hydrogen/tasks/setup.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								roles/matrix-client-hydrogen/tasks/setup.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,119 @@ | ||||
| --- | ||||
|  | ||||
| # | ||||
| # Tasks related to setting up Hydrogen | ||||
| # | ||||
|  | ||||
| - name: Ensure Hydrogen paths exists | ||||
|   file: | ||||
|     path: "{{ item.path }}" | ||||
|     state: directory | ||||
|     mode: 0750 | ||||
|     owner: "{{ matrix_user_username }}" | ||||
|     group: "{{ matrix_user_groupname }}" | ||||
|   with_items: | ||||
|     - { path: "{{ matrix_client_hydrogen_data_path }}", when: true } | ||||
|     - { path: "{{ matrix_client_hydrogen_docker_src_files_path }}", when: "{{ matrix_client_hydrogen_container_image_self_build }}" } | ||||
|   when: matrix_client_hydrogen_enabled|bool and item.when | ||||
|  | ||||
| - name: Ensure Hydrogen Docker image is pulled | ||||
|   docker_image: | ||||
|    name: "{{ matrix_client_hydrogen_docker_image }}" | ||||
|    source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" | ||||
|    force_source: "{{ matrix_client_hydrogen_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_client_hydrogen_docker_image_force_pull }}" | ||||
|   when: matrix_client_hydrogen_enabled|bool and not matrix_client_hydrogen_container_image_self_build | ||||
|  | ||||
| - name: Ensure Hydrogen repository is present on self-build | ||||
|   git: | ||||
|     repo: "{{ matrix_client_hydrogen_container_image_self_build_repo }}" | ||||
|     dest: "{{ matrix_client_hydrogen_docker_src_files_path }}" | ||||
|     version: "{{ matrix_client_hydrogen_docker_image.split(':')[1] }}" | ||||
|     force: "yes" | ||||
|   register: matrix_client_hydrogen_git_pull_results | ||||
|   when: "matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_container_image_self_build|bool" | ||||
|  | ||||
| - name: Ensure Hydrogen configuration installed | ||||
|   copy: | ||||
|     content: "{{ matrix_client_hydrogen_configuration|to_nice_json }}" | ||||
|     dest: "{{ matrix_client_hydrogen_docker_src_files_path }}/assets/config.json" | ||||
|     mode: 0644 | ||||
|     owner: "{{ matrix_user_username }}" | ||||
|     group: "{{ matrix_user_groupname }}" | ||||
|   when: "matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_container_image_self_build|bool" | ||||
|  | ||||
| - name: Ensure Hydrogen additional config files installed | ||||
|   template: | ||||
|     src: "{{ item.src }}" | ||||
|     dest: "{{ matrix_client_hydrogen_data_path }}/{{ item.name }}" | ||||
|     mode: 0644 | ||||
|     owner: "{{ matrix_user_username }}" | ||||
|     group: "{{ matrix_user_groupname }}" | ||||
|   with_items: | ||||
|     - {src: "{{ role_path }}/templates/nginx.conf.j2", name: "nginx.conf"} | ||||
|   when: "matrix_client_hydrogen_enabled|bool and item.src is not none" | ||||
|  | ||||
| - name: Ensure Hydrogen Docker image is built | ||||
|   docker_image: | ||||
|     name: "{{ matrix_client_hydrogen_docker_image }}" | ||||
|     source: build | ||||
|     force_source: "{{ matrix_client_hydrogen_git_pull_results.changed }}" | ||||
|     build: | ||||
|       dockerfile: Dockerfile | ||||
|       path: "{{ matrix_client_hydrogen_docker_src_files_path }}" | ||||
|       pull: yes | ||||
|   when: "matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_container_image_self_build|bool" | ||||
|  | ||||
| - name: Ensure matrix-client-hydrogen.service installed | ||||
|   template: | ||||
|     src: "{{ role_path }}/templates/systemd/matrix-client-hydrogen.service.j2" | ||||
|     dest: "{{ matrix_systemd_path }}/matrix-client-hydrogen.service" | ||||
|     mode: 0644 | ||||
|   register: matrix_client_hydrogen_systemd_service_result | ||||
|   when: matrix_client_hydrogen_enabled|bool | ||||
|  | ||||
| - name: Ensure systemd reloaded after matrix-client-hydrogen.service installation | ||||
|   service: | ||||
|     daemon_reload: yes | ||||
|   when: "matrix_client_hydrogen_enabled and matrix_client_hydrogen_systemd_service_result.changed" | ||||
|  | ||||
| # | ||||
| # Tasks related to getting rid of Hydrogen (if it was previously enabled) | ||||
| # | ||||
|  | ||||
| - name: Check existence of matrix-client-hydrogen.service | ||||
|   stat: | ||||
|     path: "{{ matrix_systemd_path }}/matrix-client-hydrogen.service" | ||||
|   register: matrix_client_hydrogen_service_stat | ||||
|   when: "not matrix_client_hydrogen_enabled|bool" | ||||
|  | ||||
| - name: Ensure matrix-client-hydrogen is stopped | ||||
|   service: | ||||
|     name: matrix-client-hydrogen | ||||
|     state: stopped | ||||
|     daemon_reload: yes | ||||
|   register: stopping_result | ||||
|   when: "not matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_service_stat.stat.exists" | ||||
|  | ||||
| - name: Ensure matrix-client-hydrogen.service doesn't exist | ||||
|   file: | ||||
|     path: "{{ matrix_systemd_path }}/matrix-client-hydrogen.service" | ||||
|     state: absent | ||||
|   when: "not matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_service_stat.stat.exists" | ||||
|  | ||||
| - name: Ensure systemd reloaded after matrix-client-hydrogen.service removal | ||||
|   service: | ||||
|     daemon_reload: yes | ||||
|   when: "not matrix_client_hydrogen_enabled|bool and matrix_client_hydrogen_service_stat.stat.exists" | ||||
|  | ||||
| - name: Ensure Hydrogen paths doesn't exist | ||||
|   file: | ||||
|     path: "{{ matrix_client_hydrogen_data_path }}" | ||||
|     state: absent | ||||
|   when: "not matrix_client_hydrogen_enabled|bool" | ||||
|  | ||||
| - name: Ensure Hydrogen Docker image doesn't exist | ||||
|   docker_image: | ||||
|     name: "{{ matrix_client_hydrogen_docker_image }}" | ||||
|     state: absent | ||||
|   when: "not matrix_client_hydrogen_enabled|bool" | ||||
							
								
								
									
										9
									
								
								roles/matrix-client-hydrogen/tasks/validate_config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								roles/matrix-client-hydrogen/tasks/validate_config.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| --- | ||||
|  | ||||
| - name: Fail if required Hydrogen settings not defined | ||||
|   fail: | ||||
|     msg: > | ||||
|       You need to define a required configuration setting (`{{ item }}`) to use Hydrogen. | ||||
|   when: "(vars[item] == '' or vars[item] is none) and matrix_client_hydrogen_container_image_self_build|bool" | ||||
|   with_items: | ||||
|     - "matrix_client_hydrogen_default_hs_url" | ||||
		Reference in New Issue
	
	Block a user