Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

200 lines
8.1 KiB

  1. # SPDX-FileCopyrightText: 2022 - 2024 Nikita Chernyi
  2. # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
  3. # SPDX-FileCopyrightText: 2023 Luke D Iremadze
  4. # SPDX-FileCopyrightText: 2023 Samuel Meenzen
  5. # SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
  6. #
  7. # SPDX-License-Identifier: AGPL-3.0-or-later
  8. ---
  9. # postmoogle is an email to Matrix bridge using its bot user
  10. # Project source code URL: https://github.com/etkecc/postmoogle
  11. matrix_postmoogle_enabled: true
  12. matrix_postmoogle_container_image_self_build: false
  13. matrix_postmoogle_container_repo: "https://github.com/etkecc/postmoogle.git"
  14. matrix_postmoogle_container_repo_version: "{{ 'main' if matrix_postmoogle_version == 'latest' else matrix_postmoogle_version }}"
  15. matrix_postmoogle_container_src_files_path: "{{ matrix_base_data_path }}/postmoogle/docker-src"
  16. # renovate: datasource=docker depName=ghcr.io/etkecc/postmoogle
  17. matrix_postmoogle_version: v0.9.28
  18. matrix_postmoogle_container_image: "{{ matrix_postmoogle_container_image_registry_prefix }}etkecc/postmoogle:{{ matrix_postmoogle_version }}"
  19. matrix_postmoogle_container_image_registry_prefix: "{{ 'localhost/' if matrix_postmoogle_container_image_self_build else matrix_postmoogle_container_image_registry_prefix_upstream }}"
  20. matrix_postmoogle_container_image_registry_prefix_upstream: "{{ matrix_postmoogle_container_image_registry_prefix_upstream_default }}"
  21. matrix_postmoogle_container_image_registry_prefix_upstream_default: "ghcr.io/"
  22. matrix_postmoogle_container_image_force_pull: "{{ matrix_postmoogle_container_image.endswith(':latest') }}"
  23. matrix_postmoogle_base_path: "{{ matrix_base_data_path }}/postmoogle"
  24. matrix_postmoogle_config_path: "{{ matrix_postmoogle_base_path }}/config"
  25. matrix_postmoogle_data_path: "{{ matrix_postmoogle_base_path }}/data"
  26. matrix_postmoogle_container_network: ""
  27. matrix_postmoogle_container_additional_networks: "{{ matrix_postmoogle_container_additional_networks_auto + matrix_postmoogle_container_additional_networks_custom }}"
  28. matrix_postmoogle_container_additional_networks_auto: []
  29. matrix_postmoogle_container_additional_networks_custom: []
  30. # A list of extra arguments to pass to the container
  31. matrix_postmoogle_container_extra_arguments: []
  32. # List of systemd services that matrix-postmoogle.service depends on
  33. matrix_postmoogle_systemd_required_services_list: "{{ matrix_postmoogle_systemd_required_services_list_default + matrix_postmoogle_systemd_required_services_list_auto + matrix_postmoogle_systemd_required_services_list_custom }}"
  34. matrix_postmoogle_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  35. matrix_postmoogle_systemd_required_services_list_auto: []
  36. matrix_postmoogle_systemd_required_services_list_custom: []
  37. # List of systemd services that matrix-postmoogle.service wants
  38. matrix_postmoogle_systemd_wanted_services_list: []
  39. # Database-related configuration fields.
  40. #
  41. # To use SQLite, stick to these defaults.
  42. #
  43. # To use Postgres:
  44. # - change the engine (`matrix_postmoogle_database_engine: 'postgres'`)
  45. # - adjust your database credentials via the `matrix_postmoogle_database_*` variables
  46. matrix_postmoogle_database_engine: 'sqlite'
  47. matrix_postmoogle_sqlite_database_path_local: "{{ matrix_postmoogle_data_path }}/bot.db"
  48. matrix_postmoogle_sqlite_database_path_in_container: "/data/bot.db"
  49. matrix_postmoogle_database_username: 'postmoogle'
  50. matrix_postmoogle_database_password: 'some-password'
  51. matrix_postmoogle_database_hostname: ''
  52. matrix_postmoogle_database_port: 5432
  53. matrix_postmoogle_database_name: 'postmoogle'
  54. matrix_postmoogle_database_sslmode: disable
  55. matrix_postmoogle_database_connection_string: 'postgres://{{ matrix_postmoogle_database_username }}:{{ matrix_postmoogle_database_password }}@{{ matrix_postmoogle_database_hostname }}:{{ matrix_postmoogle_database_port }}/{{ matrix_postmoogle_database_name }}?sslmode={{ matrix_postmoogle_database_sslmode }}'
  56. matrix_postmoogle_storage_database: "{{
  57. {
  58. 'sqlite': matrix_postmoogle_sqlite_database_path_in_container,
  59. 'postgres': matrix_postmoogle_database_connection_string,
  60. }[matrix_postmoogle_database_engine]
  61. }}"
  62. matrix_postmoogle_database_dialect: "{{
  63. {
  64. 'sqlite': 'sqlite3',
  65. 'postgres': 'postgres',
  66. }[matrix_postmoogle_database_engine]
  67. }}"
  68. # The bot's username. This user needs to be created manually beforehand.
  69. # Also see `matrix_postmoogle_password` or `matrix_postmoogle_sharedsecret`
  70. matrix_postmoogle_login: "postmoogle"
  71. # The password that the bot uses to authenticate.
  72. matrix_postmoogle_password: ''
  73. # Alternative to password - shared secret requires matrix_postmoogle_login to be MXID
  74. matrix_postmoogle_sharedsecret: ''
  75. matrix_postmoogle_homeserver: ""
  76. # Command prefix
  77. matrix_postmoogle_prefix: '!pm'
  78. # Max email size in megabytes, including attachments
  79. matrix_postmoogle_maxsize: '1024'
  80. # Optional SMTP relay mode
  81. matrix_postmoogle_relay_host: ''
  82. matrix_postmoogle_relay_port: ''
  83. matrix_postmoogle_relay_username: ''
  84. matrix_postmoogle_relay_password: ''
  85. # A list of admins
  86. # Example set of rules:
  87. # matrix_postmoogle_admins:
  88. # - '@alice:example.com'
  89. # - '@bob:example.com'
  90. # - '@bot.*:example.com'
  91. # - '@*:example.net'
  92. matrix_postmoogle_admins: "{{ [matrix_admin] if matrix_admin else [] }}"
  93. # Sentry DSN. Deprecated, use matrix_postmoogle_monitoring_sentry_dsn
  94. matrix_postmoogle_sentry: ''
  95. # Sentry integration
  96. matrix_postmoogle_monitoring_sentry_dsn: "{{ matrix_postmoogle_sentry }}"
  97. matrix_postmoogle_monitoring_sentry_rate: 20
  98. # healthchecks.io integration
  99. matrix_postmoogle_monitoring_healthchecks_uuid: ''
  100. matrix_postmoogle_monitoring_healthchecks_duration: 60
  101. # Log level
  102. matrix_postmoogle_loglevel: 'INFO'
  103. # deprecated, use matrix_postmoogle_domains
  104. matrix_postmoogle_domain: "{{ matrix_server_fqn_matrix }}"
  105. matrix_postmoogle_domains:
  106. - "{{ matrix_postmoogle_domain }}" # backward compatibility
  107. # Password (passphrase) to encrypt account data
  108. matrix_postmoogle_data_secret: ""
  109. # in-container ports
  110. matrix_postmoogle_port: '2525'
  111. matrix_postmoogle_tls_port: '25587'
  112. # on-host ports
  113. matrix_postmoogle_smtp_host_bind_port: '25'
  114. matrix_postmoogle_submission_host_bind_port: '587'
  115. ### SSL
  116. ## on-host SSL dir
  117. matrix_postmoogle_ssl_path: ""
  118. ## in-container SSL paths
  119. # matrix_postmoogle_tls_cert is the SSL certificates' certificates.
  120. # This var is likely set via group_vars/matrix_servers, so you don't need to set certs manually.
  121. # If you do need to set it manually, note that this is an in-container path.
  122. # To mount a certificates volumes into the container, use matrix_postmoogle_ssl_path
  123. # Example value: /ssl/live/{{ matrix_postmoogle_domain }}/fullchain.pem
  124. matrix_postmoogle_tls_cert: ""
  125. # matrix_postmoogle_tls_key is the SSL certificates' keys.
  126. # This var is likely set via group_vars/matrix_servers, so you don't need to set keys manually.
  127. # If you do need to set it manually, note that this is an in-container path.
  128. # To mount a certificates volumes into the container, use matrix_postmoogle_ssl_path
  129. # Example value: /ssl/live/{{ matrix_postmoogle_domain }}/privkey.pem
  130. matrix_postmoogle_tls_key: ""
  131. # Mandatory TLS, even on plain SMTP port
  132. matrix_postmoogle_tls_required: false
  133. # trusted proxies
  134. matrix_postmoogle_proxies: []
  135. # known forwarders
  136. matrix_postmoogle_mailboxes_forwarded: []
  137. # reserved mailboxes
  138. matrix_postmoogle_mailboxes_reserved: []
  139. # mailbox activation flow
  140. matrix_postmoogle_mailboxes_activation: none
  141. # Additional environment variables to pass to the postmoogle container
  142. #
  143. # Example:
  144. # matrix_postmoogle_environment_variables_extension: |
  145. # postmoogle_TEXT_DONE=Done
  146. matrix_postmoogle_environment_variables_extension: ''
  147. # matrix_postmoogle_restart_necessary controls whether the service
  148. # will be restarted (when true) or merely started (when false) by the
  149. # systemd service manager role (when conditional restart is enabled).
  150. #
  151. # This value is automatically computed during installation based on whether
  152. # any configuration files, the systemd service file, or the container image changed.
  153. # The default of `false` means "no restart needed" — appropriate when the role's
  154. # installation tasks haven't run (e.g., due to --tags skipping them).
  155. matrix_postmoogle_restart_necessary: false