Matrix Docker Ansible eploy
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

233 Zeilen
22 KiB

  1. # SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev
  2. # SPDX-FileCopyrightText: 2024 Charles Wright
  3. # SPDX-FileCopyrightText: 2024 MDAD project contributors
  4. #
  5. # SPDX-License-Identifier: AGPL-3.0-or-later
  6. ---
  7. - name: (Deprecation) Catch and report renamed settings
  8. ansible.builtin.fail:
  9. msg: >-
  10. Your configuration contains a variable, which now has a different name.
  11. Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
  12. when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
  13. with_items:
  14. - {'old': 'matrix_synapse_email_riot_base_url', 'new': '<superseded by client_base_url>'}
  15. - {'old': 'matrix_synapse_container_expose_api_port', 'new': '<superseded by matrix_synapse_container_federation_api_plain_host_bind_port>'}
  16. - {'old': 'matrix_synapse_no_tls', 'new': '<removed>'}
  17. - {'old': 'matrix_enable_room_list_search', 'new': 'matrix_synapse_enable_room_list_search'}
  18. - {'old': 'matrix_alias_creation_rules', 'new': 'matrix_synapse_alias_creation_rules'}
  19. - {'old': 'matrix_room_list_publication_rules', 'new': 'matrix_synapse_room_list_publication_rules'}
  20. - {'old': 'matrix_synapse_rc_messages_per_second', 'new': '<per_second subkey of matrix_synapse_rc_message>'}
  21. - {'old': 'matrix_synapse_rc_message_burst_count', 'new': '<burst_count subkey of matrix_synapse_rc_message>'}
  22. - {'old': 'matrix_synapse_federation_rc_window_size', 'new': '<window_size subkey of matrix_synapse_rc_federation>'}
  23. - {'old': 'matrix_synapse_federation_rc_sleep_limit', 'new': '<sleep_limit subkey of matrix_synapse_rc_federation>'}
  24. - {'old': 'matrix_synapse_federation_rc_sleep_delay', 'new': '<sleep_delay subkey of matrix_synapse_rc_federation>'}
  25. - {'old': 'matrix_synapse_federation_rc_reject_limit', 'new': '<reject_limit subkey of matrix_synapse_rc_federation>'}
  26. - {'old': 'matrix_synapse_federation_rc_concurrent', 'new': '<concurrent subkey of matrix_synapse_rc_federation>'}
  27. - {'old': 'matrix_synapse_container_expose_client_api_port', 'new': '<superseded by matrix_synapse_container_client_api_host_bind_port>'}
  28. - {'old': 'matrix_synapse_container_expose_federation_api_port', 'new': '<superseded by matrix_synapse_container_federation_api_plain_host_bind_port>'}
  29. - {'old': 'matrix_synapse_container_expose_metrics_port', 'new': '<superseded by matrix_synapse_container_metrics_api_host_bind_port>'}
  30. - {'old': 'matrix_synapse_cache_factor', 'new': 'matrix_synapse_caches_global_factor'}
  31. - {'old': 'matrix_synapse_trusted_third_party_id_servers', 'new': '<deprecated in Synapse v0.99.4 and removed in Synapse v1.19.0>'}
  32. - {'old': 'matrix_synapse_use_presence', 'new': 'matrix_synapse_presence_enabled'}
  33. - {'old': 'matrix_synapse_version_arm64', 'new': '<superseded by matrix_synapse_version - see https://github.com/matrix-org/synapse/pull/11810>'}
  34. - {'old': 'matrix_synapse_enable_group_creation', 'new': '<removed in Synapse v1.61.0 - use the new Spaces feature instead>'}
  35. - {'old': 'matrix_synapse_account_threepid_delegates_email', 'new': '<removed in Synapse v1.66.0 - make sure to configure email settings for Synapse - see https://matrix-org.github.io/synapse/v1.66/upgrade.html#delegation-of-email-validation-no-longer-supported>'}
  36. - {'old': 'matrix_synapse_workers_frontend_proxy_workers_count', 'new': '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>'}
  37. - {'old': 'matrix_synapse_workers_frontend_proxy_workers_port_range_start', 'new': '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>'}
  38. - {'old': 'matrix_synapse_workers_frontend_proxy_workers_metrics_range_start', 'new': '<removed in favor of generic workers - see https://github.com/matrix-org/synapse/pull/13645>'}
  39. - {'old': 'matrix_synapse_ext_s3_storage_provider_path', 'new': 'matrix_synapse_ext_s3_storage_provider_base_path'}
  40. - {'old': 'matrix_synapse_send_federation', 'new': '<unnecessary - Synapse relies on federation_sender_instances now>'}
  41. - {'old': 'matrix_synapse_start_pushers', 'new': '<unnecessary - Synapse relies on pusher_instances now>'}
  42. - {'old': 'matrix_synapse_spam_checker', 'new': '<superseded by matrix_synapse_modules>'}
  43. - {'old': 'matrix_synapse_caches_autotuning_max_cache_memory_usage', 'new': 'matrix_synapse_cache_autotuning_max_cache_memory_usage'}
  44. - {'old': 'matrix_synapse_caches_autotuning_target_cache_memory_usage', 'new': 'matrix_synapse_cache_autotuning_target_cache_memory_usage'}
  45. - {'old': 'matrix_synapse_caches_autotuning_min_cache_ttl', 'new': 'matrix_synapse_cache_autotuning_min_cache_ttl'}
  46. - {'old': 'matrix_synapse_memtotal_kb', 'new': '<superseded by matrix_synapse_cache_size_calculations_memtotal_bytes>'}
  47. - {'old': 'matrix_synapse_docker_image_name_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'}
  48. - {'old': 'matrix_s3_goofys_docker_image_name_prefix', 'new': 'matrix_s3_goofys_container_image_registry_prefix'}
  49. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'}
  50. - {'old': 'matrix_s3_goofys_docker_image', 'new': 'matrix_s3_goofys_container_image'}
  51. - {'old': 'matrix_s3_goofys_docker_image_force_pull', 'new': 'matrix_s3_goofys_container_image_force_pull'}
  52. - {'old': 'matrix_s3_goofys_docker_image_registry_prefix', 'new': 'matrix_s3_goofys_container_image_registry_prefix'}
  53. - {'old': 'matrix_s3_goofys_docker_image_registry_prefix_upstream', 'new': 'matrix_s3_goofys_container_image_registry_prefix_upstream'}
  54. - {'old': 'matrix_s3_goofys_docker_image_registry_prefix_upstream_default', 'new': 'matrix_s3_goofys_container_image_registry_prefix_upstream_default'}
  55. - {'old': 'matrix_synapse_docker_image', 'new': 'matrix_synapse_container_image'}
  56. - {'old': 'matrix_synapse_docker_image_name', 'new': 'matrix_synapse_container_image_name'}
  57. - {'old': 'matrix_synapse_docker_image_tag', 'new': 'matrix_synapse_container_image_tag'}
  58. - {'old': 'matrix_synapse_docker_image_force_pull', 'new': 'matrix_synapse_container_image_force_pull'}
  59. - {'old': 'matrix_synapse_docker_image_registry_prefix', 'new': 'matrix_synapse_container_image_registry_prefix'}
  60. - {'old': 'matrix_synapse_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_container_image_registry_prefix_upstream'}
  61. - {'old': 'matrix_synapse_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_container_image_registry_prefix_upstream_default'}
  62. - {'old': 'matrix_synapse_docker_src_files_path', 'new': 'matrix_synapse_container_src_files_path'}
  63. - {'old': 'matrix_synapse_docker_image_customized', 'new': 'matrix_synapse_container_image_customized'}
  64. - {'old': 'matrix_synapse_docker_image_customized_build_nocache', 'new': 'matrix_synapse_container_image_customized_build_nocache'}
  65. - {'old': 'matrix_synapse_docker_image_customized_force_source', 'new': 'matrix_synapse_container_image_customized_force_source'}
  66. - {'old': 'matrix_synapse_docker_image_final', 'new': 'matrix_synapse_container_image_final'}
  67. - {'old': 'matrix_synapse_customized_docker_src_files_path', 'new': 'matrix_synapse_customized_container_src_files_path'}
  68. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image'}
  69. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_version', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_version'}
  70. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_force_pull', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_force_pull'}
  71. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix'}
  72. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream'}
  73. - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_rust_synapse_compress_state_container_image_registry_prefix_upstream_default'}
  74. - {'old': 'matrix_synapse_experimental_features_msc3202_device_masquerading_enabled', 'new': '<removed - this feature is enabled by default now'}
  75. - {'old': 'matrix_synapse_experimental_features_msc3861_enabled', 'new': 'matrix_synapse_matrix_authentication_service_enabled'}
  76. - {'old': 'matrix_synapse_experimental_features_msc3861_issuer', 'new': '<superseded by matrix_synapse_matrix_authentication_service_endpoint>'}
  77. - {'old': 'matrix_synapse_experimental_features_msc3861_client_id', 'new': '<removed>'}
  78. - {'old': 'matrix_synapse_experimental_features_msc3861_client_auth_method', 'new': '<removed>'}
  79. - {'old': 'matrix_synapse_experimental_features_msc3861_client_secret', 'new': '<removed>'}
  80. - {'old': 'matrix_synapse_experimental_features_msc3861_admin_token', 'new': '<removed>'}
  81. - {'old': 'matrix_synapse_experimental_features_msc3861_account_management_url', 'new': '<removed>'}
  82. - {'old': 'matrix_synapse_experimental_features_msc4133_enabled', 'new': '<removed - this feature is enabled by default now>'}
  83. - {'old': 'matrix_synapse_experimental_features_msc3266_enabled', 'new': '<removed - MSC3266 support was stabilized in Synapse v1.153.0 and the room summary API is now always enabled>'}
  84. - {'old': 'matrix_synapse_experimental_features_msc4140_enabled', 'new': 'matrix_synapse_delayed_events_enabled'}
  85. - {'old': 'matrix_synapse_experimental_features_msc4429_enabled', 'new': '<removed - Synapse does not actually support MSC4429 in any released version, so this flag never had any effect>'}
  86. - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': '<removed; see https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4637>'}
  87. - {'old': 'matrix_synapse_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
  88. - {'old': 'matrix_s3_goofys_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
  89. - {'old': 'matrix_synapse_rust_synapse_compress_state_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
  90. - {'old': 'matrix_synapse_reverse_proxy_companion_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
  91. - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml
  92. ansible.builtin.fail:
  93. msg: >-
  94. Your matrix_synapse_configuration_extension_yaml configuration contains a variable, which now has a different name.
  95. Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
  96. when: "item.old in matrix_synapse_configuration_extension"
  97. with_items:
  98. - {'old': 'federation_ip_range_blacklist', 'new': 'ip_range_blacklist'}
  99. - name: Fail if required Synapse settings not defined
  100. ansible.builtin.fail:
  101. msg: >-
  102. You need to define a required configuration setting (`{{ item.name }}`).
  103. when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
  104. with_items:
  105. - {'name': 'matrix_synapse_username', when: true}
  106. - {'name': 'matrix_synapse_uid', when: true}
  107. - {'name': 'matrix_synapse_gid', when: true}
  108. - {'name': 'matrix_synapse_container_network', when: true}
  109. - {'name': 'matrix_synapse_macaroon_secret_key', when: true}
  110. - {'name': 'matrix_synapse_database_host', when: true}
  111. - {'name': 'matrix_synapse_database_user', when: true}
  112. - {'name': 'matrix_synapse_database_password', when: true}
  113. - {'name': 'matrix_synapse_database_database', when: true}
  114. - {'name': 'matrix_synapse_container_labels_public_client_root_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_root_enabled }}"}
  115. - {'name': 'matrix_synapse_container_labels_public_client_root_redirection_url', when: "{{ matrix_synapse_container_labels_public_client_root_redirection_enabled }}"}
  116. - {'name': 'matrix_synapse_container_labels_public_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_api_enabled }}"}
  117. - {'name': 'matrix_synapse_container_labels_internal_client_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_api_enabled }}"}
  118. - {'name': 'matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled }}"}
  119. - {'name': 'matrix_synapse_container_labels_public_client_synapse_client_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_client_api_enabled }}"}
  120. - {'name': 'matrix_synapse_container_labels_public_client_synapse_admin_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_client_synapse_admin_api_enabled }}"}
  121. - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_hostname', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}
  122. - {'name': 'matrix_synapse_container_labels_public_federation_api_traefik_entrypoints', when: "{{ matrix_synapse_container_labels_public_federation_api_enabled }}"}
  123. - {'name': 'matrix_synapse_metrics_proxying_hostname', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}
  124. - {'name': 'matrix_synapse_metrics_proxying_path_prefix', when: "{{ matrix_synapse_metrics_proxying_enabled }}"}
  125. - {'name': 'matrix_synapse_matrix_authentication_service_endpoint', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}
  126. - {'name': 'matrix_synapse_matrix_authentication_service_secret', when: "{{ matrix_synapse_matrix_authentication_service_enabled }}"}
  127. - {'name': 'matrix_synapse_container_labels_traefik_compression_middleware_name', when: "{{ matrix_synapse_container_labels_traefik_compression_middleware_enabled }}"}
  128. - name: Fail if asking for more than 1 instance of single-instance workers
  129. ansible.builtin.fail:
  130. msg: >-
  131. `{{ item }}` cannot be more than 1. This is a single-instance worker.
  132. when: "lookup('vars', item, default='') | int > 1"
  133. with_items:
  134. - "matrix_synapse_workers_appservice_workers_count"
  135. - "matrix_synapse_workers_user_dir_workers_count"
  136. - "matrix_synapse_workers_background_workers_count"
  137. - "matrix_synapse_workers_stream_writer_typing_stream_workers_count"
  138. - "matrix_synapse_workers_stream_writer_to_device_stream_workers_count"
  139. - "matrix_synapse_workers_stream_writer_account_data_stream_workers_count"
  140. - "matrix_synapse_workers_stream_writer_receipts_stream_workers_count"
  141. - "matrix_synapse_workers_stream_writer_presence_stream_workers_count"
  142. - "matrix_synapse_workers_stream_writer_push_rules_stream_workers_count"
  143. - name: Fail if matrix-synapse-reverse-proxy-companion access log format is invalid
  144. ansible.builtin.fail:
  145. msg: >-
  146. `matrix_synapse_reverse_proxy_companion_access_log_format` must be one of:
  147. {{ matrix_synapse_reverse_proxy_companion_access_log_format_presets.keys() | sort | join(', ') }}
  148. when: "matrix_synapse_reverse_proxy_companion_access_log_format not in matrix_synapse_reverse_proxy_companion_access_log_format_presets"
  149. - name: Fail when mixing generic workers with new specialized workers
  150. ansible.builtin.fail:
  151. msg: >-
  152. Generic workers should not be mixed with the new specialized worker types (room workers, sync workers, client readers, and federation readers)
  153. when: matrix_synapse_workers_generic_workers_count | int > 0 and ((matrix_synapse_workers_room_workers_count | int + matrix_synapse_workers_sync_workers_count | int + matrix_synapse_workers_client_reader_workers_count | int + matrix_synapse_workers_federation_reader_workers_count | int) > 0)
  154. - when: matrix_synapse_container_image_customizations_templates_enabled | bool
  155. block:
  156. - name: Fail if required `matrix_synapse_container_image_customizations_templates_*` settings not defined
  157. ansible.builtin.fail:
  158. msg: >-
  159. You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_enabled`.
  160. when: "lookup('vars', item, default='') == ''"
  161. with_items:
  162. - matrix_synapse_container_image_customizations_templates_git_repository_url
  163. - matrix_synapse_container_image_customizations_templates_git_repository_branch
  164. - name: Fail if required `matrix_synapse_container_image_customizations_templates_git_repository_keyscan_*` settings not defined
  165. ansible.builtin.fail:
  166. msg: >-
  167. You need to define a required configuration setting (`{{ item }}`) when enabling `matrix_synapse_container_image_customizations_templates_git_repository_keyscan`.
  168. when: "matrix_synapse_container_image_customizations_templates_git_repository_keyscan_enabled | bool and lookup('vars', item, default='') == ''"
  169. with_items:
  170. - matrix_synapse_container_image_customizations_templates_git_repository_keyscan_hostname
  171. - name: Fail if known Synapse password provider modules are enabled when auth is delegated to Matrix Authentication Service
  172. ansible.builtin.fail:
  173. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it does not make sense to enable password provider modules, because it is not Synapse that is handling authentication. Please disable {{ item }} before enabling Matrix Authentication Service integration for Synapse. Synapse will refuse to start otherwise."
  174. when: matrix_synapse_matrix_authentication_service_enabled and lookup('vars', item, default='') | bool
  175. with_items:
  176. - matrix_synapse_ext_password_provider_rest_auth_enabled
  177. - matrix_synapse_ext_password_provider_shared_secret_auth_enabled
  178. - matrix_synapse_ext_password_provider_ldap_enabled
  179. - name: Fail if password config is enabled for Synapse when auth is delegated to Matrix Authentication Service
  180. ansible.builtin.fail:
  181. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it doesn't make sense to enable the password config (`matrix_synapse_password_config_enabled: true`), because it is not Synapse that is handling authentication. Please remove your `matrix_synapse_password_config_enabled: true` setting before enabling Matrix Authentication Service integration for Synapse. Synapse will refuse to start otherwise."
  182. when: matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_password_config_enabled
  183. - name: Fail if registration is enabled for Synapse when auth is delegated to Matrix Authentication Service
  184. ansible.builtin.fail:
  185. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it doesn't make sense to enable registration (`matrix_synapse_enable_registration: true`), because it is not Synapse that is handling authentication. Synapse will refuse to start otherwise."
  186. when: matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_enable_registration
  187. - name: Fail if registration CAPTCHA is enabled for Synapse when auth is delegated to Matrix Authentication Service
  188. ansible.builtin.fail:
  189. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it doesn't make sense to enable registration CAPTCHA (`matrix_synapse_enable_registration_captcha: true`), because it is not Synapse that is handling authentication. Synapse will refuse to start otherwise."
  190. when: matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_enable_registration_captcha
  191. - name: Fail if OpenID Connect is enabled for Synapse when auth is delegated to Matrix Authentication Service
  192. ansible.builtin.fail:
  193. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it doesn't make sense to enable OpenID Connect (`matrix_synapse_oidc_enabled: true`), because it is not Synapse that is handling authentication. Synapse will refuse to start otherwise."
  194. when: matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_oidc_enabled and not matrix_authentication_service_migration_in_progress
  195. - name: Fail if CAS config is enabled for Synapse when auth is delegated to Matrix Authentication Service
  196. ansible.builtin.fail:
  197. msg: "When Synapse is delegating authentication to Matrix Authentication Service (`matrix_synapse_matrix_authentication_service_enabled: true`), it doesn't make sense to enable CAS config (`matrix_synapse_cas_config_enabled: true`), because it is not Synapse that is handling authentication. Synapse will refuse to start otherwise."
  198. when: matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_cas_config_enabled
  199. - name: Fail if QR code login (MSC4108) is enabled while Matrix Authentication Service is not
  200. ansible.builtin.fail:
  201. msg: "When Synapse QR code login is enabled (MSC4108 via `matrix_synapse_experimental_features_msc4108_enabled`), Matrix Authentication Service integration (`matrix_synapse_matrix_authentication_service_enabled`) must also be enabled."
  202. when: matrix_synapse_experimental_features_msc4108_enabled and not matrix_synapse_matrix_authentication_service_enabled