Matrix Docker Ansible eploy
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

195 lines
13 KiB

  1. # SPDX-FileCopyrightText: 2025 MDAD project contributors
  2. # SPDX-FileCopyrightText: 2025 Slavi Pantaleev
  3. #
  4. # SPDX-License-Identifier: AGPL-3.0-or-later
  5. ---
  6. # conduwuit is a very cool, featureful fork of conduit (https://gitlab.com/famedly/conduit).
  7. # Project source code URL: https://github.com/girlbossceo/conduwuit
  8. # See: https://conduwuit.puppyirl.gay/
  9. matrix_conduwuit_enabled: true
  10. matrix_conduwuit_hostname: ''
  11. matrix_conduwuit_docker_image: "{{ matrix_conduwuit_docker_image_registry_prefix }}girlbossceo/conduwuit:{{ matrix_conduwuit_docker_image_tag }}"
  12. matrix_conduwuit_docker_image_tag: v0.4.6-8f7ade4c22533a3177bfd8f175e178573ba6c1d4
  13. matrix_conduwuit_docker_image_force_pull: "{{ matrix_conduwuit_docker_image.endswith(':latest') }}"
  14. matrix_conduwuit_docker_image_registry_prefix: "{{ matrix_conduwuit_docker_image_registry_prefix_upstream }}"
  15. matrix_conduwuit_docker_image_registry_prefix_upstream: "{{ matrix_conduwuit_docker_image_registry_prefix_upstream_default }}"
  16. matrix_conduwuit_docker_image_registry_prefix_upstream_default: ghcr.io/
  17. matrix_conduwuit_base_path: "{{ matrix_base_data_path }}/conduwuit"
  18. matrix_conduwuit_config_path: "{{ matrix_conduwuit_base_path }}/config"
  19. matrix_conduwuit_data_path: "{{ matrix_conduwuit_base_path }}/data"
  20. matrix_conduwuit_config_port_number: 6167
  21. matrix_conduwuit_tmp_directory_size_mb: 500
  22. # List of systemd services that matrix-conduwuit.service depends on
  23. matrix_conduwuit_systemd_required_services_list: "{{ matrix_conduwuit_systemd_required_services_list_default + matrix_conduwuit_systemd_required_services_list_auto + matrix_conduwuit_systemd_required_services_list_custom }}"
  24. matrix_conduwuit_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  25. matrix_conduwuit_systemd_required_services_list_auto: []
  26. matrix_conduwuit_systemd_required_services_list_custom: []
  27. # List of systemd services that matrix-conduwuit.service wants
  28. matrix_conduwuit_systemd_wanted_services_list: []
  29. # Controls how long to sleep for after starting the matrix-synapse container.
  30. #
  31. # Delaying, so that the homeserver can manage to fully start and various services
  32. # that depend on it (`matrix_conduwuit_systemd_required_services_list` and `matrix_conduwuit_systemd_wanted_services_list`)
  33. # may only start after the homeserver is up and running.
  34. #
  35. # This can be set to 0 to remove the delay.
  36. matrix_conduwuit_systemd_service_post_start_delay_seconds: 3
  37. # The base container network. It will be auto-created by this role if it doesn't exist already.
  38. matrix_conduwuit_container_network: ""
  39. # A list of additional container networks that the container would be connected to.
  40. # The role does not create these networks, so make sure they already exist.
  41. # Use this to expose this container to another reverse proxy, which runs in a different container network.
  42. matrix_conduwuit_container_additional_networks: "{{ matrix_conduwuit_container_additional_networks_auto + matrix_conduwuit_container_additional_networks_custom }}"
  43. matrix_conduwuit_container_additional_networks_auto: []
  44. matrix_conduwuit_container_additional_networks_custom: []
  45. # matrix_conduwuit_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  46. # See `../templates/labels.j2` for details.
  47. #
  48. # To inject your own other container labels, see `matrix_conduwuit_container_labels_additional_labels`.
  49. matrix_conduwuit_container_labels_traefik_enabled: true
  50. matrix_conduwuit_container_labels_traefik_docker_network: "{{ matrix_conduwuit_container_network }}"
  51. matrix_conduwuit_container_labels_traefik_entrypoints: web-secure
  52. matrix_conduwuit_container_labels_traefik_tls_certResolver: default # noqa var-naming
  53. # Controls whether labels will be added for handling the root (/) path on a public Traefik entrypoint.
  54. matrix_conduwuit_container_labels_public_client_root_enabled: true
  55. matrix_conduwuit_container_labels_public_client_root_traefik_hostname: "{{ matrix_conduwuit_hostname }}"
  56. matrix_conduwuit_container_labels_public_client_root_traefik_rule: "Host(`{{ matrix_conduwuit_container_labels_public_client_root_traefik_hostname }}`) && Path(`/`)"
  57. matrix_conduwuit_container_labels_public_client_root_traefik_priority: 0
  58. matrix_conduwuit_container_labels_public_client_root_traefik_entrypoints: "{{ matrix_conduwuit_container_labels_traefik_entrypoints }}"
  59. matrix_conduwuit_container_labels_public_client_root_traefik_tls: "{{ matrix_conduwuit_container_labels_public_client_root_traefik_entrypoints != 'web' }}"
  60. matrix_conduwuit_container_labels_public_client_root_traefik_tls_certResolver: "{{ matrix_conduwuit_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  61. matrix_conduwuit_container_labels_public_client_root_redirection_enabled: false
  62. matrix_conduwuit_container_labels_public_client_root_redirection_url: ""
  63. # Controls whether labels will be added that expose the Client-Server API on a public Traefik entrypoint.
  64. matrix_conduwuit_container_labels_public_client_api_enabled: true
  65. matrix_conduwuit_container_labels_public_client_api_traefik_hostname: "{{ matrix_conduwuit_hostname }}"
  66. matrix_conduwuit_container_labels_public_client_api_traefik_path_prefix: /_matrix
  67. matrix_conduwuit_container_labels_public_client_api_traefik_rule: "Host(`{{ matrix_conduwuit_container_labels_public_client_api_traefik_hostname }}`) && PathPrefix(`{{ matrix_conduwuit_container_labels_public_client_api_traefik_path_prefix }}`)"
  68. matrix_conduwuit_container_labels_public_client_api_traefik_priority: 0
  69. matrix_conduwuit_container_labels_public_client_api_traefik_entrypoints: "{{ matrix_conduwuit_container_labels_traefik_entrypoints }}"
  70. matrix_conduwuit_container_labels_public_client_api_traefik_tls: "{{ matrix_conduwuit_container_labels_public_client_api_traefik_entrypoints != 'web' }}"
  71. matrix_conduwuit_container_labels_public_client_api_traefik_tls_certResolver: "{{ matrix_conduwuit_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  72. # Controls whether labels will be added that expose the Client-Server API on the internal Traefik entrypoint.
  73. # This is similar to `matrix_conduwuit_container_labels_public_client_api_enabled`, but the entrypoint and intent is different.
  74. matrix_conduwuit_container_labels_internal_client_api_enabled: false
  75. matrix_conduwuit_container_labels_internal_client_api_traefik_path_prefix: "{{ matrix_conduwuit_container_labels_public_client_api_traefik_path_prefix }}"
  76. matrix_conduwuit_container_labels_internal_client_api_traefik_rule: "PathPrefix(`{{ matrix_conduwuit_container_labels_internal_client_api_traefik_path_prefix }}`)"
  77. matrix_conduwuit_container_labels_internal_client_api_traefik_priority: "{{ matrix_conduwuit_container_labels_public_client_api_traefik_priority }}"
  78. matrix_conduwuit_container_labels_internal_client_api_traefik_entrypoints: ""
  79. # Controls whether labels will be added that expose the Server-Server API (Federation API) on a public Traefik entrypoint.
  80. matrix_conduwuit_container_labels_public_federation_api_enabled: "{{ matrix_conduwuit_config_allow_federation }}"
  81. matrix_conduwuit_container_labels_public_federation_api_traefik_hostname: "{{ matrix_conduwuit_hostname }}"
  82. matrix_conduwuit_container_labels_public_federation_api_traefik_path_prefix: /_matrix
  83. matrix_conduwuit_container_labels_public_federation_api_traefik_rule: "Host(`{{ matrix_conduwuit_container_labels_public_federation_api_traefik_hostname }}`) && PathPrefix(`{{ matrix_conduwuit_container_labels_public_federation_api_traefik_path_prefix }}`)"
  84. matrix_conduwuit_container_labels_public_federation_api_traefik_priority: 0
  85. matrix_conduwuit_container_labels_public_federation_api_traefik_entrypoints: ''
  86. # TLS is force-enabled here, because the spec (https://spec.matrix.org/v1.9/server-server-api/#tls) says that the federation API must use HTTPS.
  87. matrix_conduwuit_container_labels_public_federation_api_traefik_tls: true
  88. matrix_conduwuit_container_labels_public_federation_api_traefik_tls_certResolver: "{{ matrix_conduwuit_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  89. # Controls whether labels will be added that expose the `/_conduwuit` path prefix on a public Traefik entrypoint.
  90. matrix_conduwuit_container_labels_public_conduwuit_api_enabled: true
  91. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_hostname: "{{ matrix_conduwuit_hostname }}"
  92. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_path_prefix: /_conduwuit
  93. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_rule: "Host(`{{ matrix_conduwuit_container_labels_public_conduwuit_api_traefik_hostname }}`) && PathPrefix(`{{ matrix_conduwuit_container_labels_public_conduwuit_api_traefik_path_prefix }}`)"
  94. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_priority: 0
  95. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_entrypoints: "{{ matrix_conduwuit_container_labels_traefik_entrypoints }}"
  96. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_tls: "{{ matrix_conduwuit_container_labels_public_conduwuit_api_traefik_entrypoints != 'web' }}"
  97. matrix_conduwuit_container_labels_public_conduwuit_api_traefik_tls_certResolver: "{{ matrix_conduwuit_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  98. # matrix_conduwuit_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  99. # See `../templates/labels.j2` for details.
  100. #
  101. # Example:
  102. # matrix_conduwuit_container_labels_additional_labels: |
  103. # my.label=1
  104. # another.label="here"
  105. matrix_conduwuit_container_labels_additional_labels: ''
  106. # Extra arguments for the Docker container
  107. matrix_conduwuit_container_extra_arguments: []
  108. # Specifies which template files to use when configuring conduwuit.
  109. # If you'd like to have your own different configuration, feel free to copy and paste
  110. # the original files into your inventory (e.g. in `inventory/host_vars/matrix.example.com/`)
  111. # and then change the specific host's `vars.yml` file like this:
  112. # matrix_conduwuit_template_conduwuit_config: "{{ playbook_dir }}/inventory/host_vars/matrix.example.com/conduwuit.toml.j2"
  113. matrix_conduwuit_template_conduwuit_config: "{{ role_path }}/templates/conduwuit.toml.j2"
  114. # Max size for uploads, in bytes
  115. matrix_conduwuit_config_server_name: "{{ matrix_domain }}"
  116. # Max size for uploads, in bytes
  117. matrix_conduwuit_config_max_request_size: 20_000_000
  118. # Enables registration. If set to false, no users can register on this server.
  119. matrix_conduwuit_config_allow_registration: false
  120. # Controls the `yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse` setting.
  121. # This is only used when `matrix_conduwuit_config_allow_registration` is set to true and no registration token is configured.
  122. matrix_conduwuit_config_yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse: false
  123. # Controls the `registration_token` setting.
  124. # When registration is enabled (`matrix_conduwuit_config_allow_registration`) you:
  125. # - either need to set a token to protect registration from abuse
  126. # - or you need to enable the `yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse` setting
  127. # (see `matrix_conduwuit_config_yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse`),
  128. # to allow registration without any form of 2nd-step.
  129. matrix_conduwuit_config_registration_token: ''
  130. # Controls the `new_user_displayname_suffix` setting.
  131. # This is the suffix that will be added to the displayname of new users.
  132. # Upstream defaults this to "🏳️‍⚧️", but we keep this consistent across all homeserver implementations and do not enable a suffix.
  133. matrix_conduwuit_config_new_user_displayname_suffix: ""
  134. # Controls the `allow_check_for_updates` setting.
  135. matrix_conduwuit_config_allow_check_for_updates: false
  136. # Controls the `emergency_password` setting.
  137. matrix_conduwuit_config_emergency_password: ''
  138. # Controls the `allow_federation` setting.
  139. matrix_conduwuit_config_allow_federation: true
  140. matrix_conduwuit_trusted_servers:
  141. - "matrix.org"
  142. matrix_conduwuit_config_log: "info,state_res=warn,rocket=off,_=off,sled=off"
  143. # TURN integration.
  144. # See: https://conduwuit.puppyirl.gay/turn.html
  145. matrix_conduwuit_config_turn_uris: []
  146. matrix_conduwuit_config_turn_secret: ''
  147. matrix_conduwuit_config_turn_username: ''
  148. matrix_conduwuit_config_turn_password: ''
  149. # Controls whether the self-check feature should validate SSL certificates.
  150. matrix_conduwuit_self_check_validate_certificates: true
  151. # Additional environment variables to pass to the container.
  152. #
  153. # Environment variables take priority over settings in the configuration file.
  154. #
  155. # Example:
  156. # matrix_conduwuit_environment_variables_extension: |
  157. # CONDUWUIT_MAX_REQUEST_SIZE=50000000
  158. # CONDUWUIT_REQUEST_TIMEOUT=60
  159. matrix_conduwuit_environment_variables_extension: ''