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.
 
 

234 lines
10 KiB

  1. # SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi
  2. # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
  3. # SPDX-FileCopyrightText: 2022 MDAD project contributors
  4. # SPDX-FileCopyrightText: 2022 Marko Weltzer
  5. # SPDX-FileCopyrightText: 2023 Samuel Meenzen
  6. # SPDX-FileCopyrightText: 2024 Suguru Hirahara
  7. #
  8. # SPDX-License-Identifier: AGPL-3.0-or-later
  9. ---
  10. # Honoroit is a helpdesk bot
  11. # Project source code URL: https://github.com/etkecc/honoroit
  12. matrix_bot_honoroit_enabled: true
  13. # The hostname at which Honoroit is served.
  14. matrix_bot_honoroit_hostname: ''
  15. # The path at which Honoroit is exposed.
  16. # This value must either be `/` or not end with a slash (e.g. `/honoroit`).
  17. matrix_bot_honoroit_path_prefix: /
  18. # The path at which Honoroit will expose metrics
  19. # This value must either be `/` or not end with a slash (e.g. `/metrics`).
  20. matrix_bot_honoroit_metrics_path: /metrics
  21. matrix_bot_honoroit_container_image_self_build: false
  22. matrix_bot_honoroit_docker_repo: "https://github.com/etkecc/honoroit.git"
  23. matrix_bot_honoroit_docker_repo_version: "{{ matrix_bot_honoroit_version }}"
  24. matrix_bot_honoroit_docker_src_files_path: "{{ matrix_base_data_path }}/honoroit/docker-src"
  25. # renovate: datasource=docker depName=ghcr.io/etkecc/honoroit
  26. matrix_bot_honoroit_version: v0.9.27
  27. matrix_bot_honoroit_docker_image: "{{ matrix_bot_honoroit_docker_image_registry_prefix }}etkecc/honoroit:{{ matrix_bot_honoroit_version }}"
  28. matrix_bot_honoroit_docker_image_registry_prefix: "{{ 'localhost/' if matrix_bot_honoroit_container_image_self_build else matrix_bot_honoroit_docker_image_registry_prefix_upstream }}"
  29. matrix_bot_honoroit_docker_image_registry_prefix_upstream: "{{ matrix_bot_honoroit_docker_image_registry_prefix_upstream_default }}"
  30. matrix_bot_honoroit_docker_image_registry_prefix_upstream_default: "ghcr.io/"
  31. matrix_bot_honoroit_docker_image_force_pull: "{{ matrix_bot_honoroit_docker_image.endswith(':latest') }}"
  32. matrix_bot_honoroit_base_path: "{{ matrix_base_data_path }}/honoroit"
  33. matrix_bot_honoroit_config_path: "{{ matrix_bot_honoroit_base_path }}/config"
  34. matrix_bot_honoroit_data_path: "{{ matrix_bot_honoroit_base_path }}/data"
  35. matrix_bot_honoroit_data_store_path: "{{ matrix_bot_honoroit_data_path }}/store"
  36. # The base container network. It will be auto-created by this role if it doesn't exist already.
  37. matrix_bot_honoroit_container_network: ""
  38. # A list of additional container networks that the container would be connected to.
  39. # The role does not create these networks, so make sure they already exist.
  40. # Use this to expose this container to another reverse proxy, which runs in a different container network.
  41. matrix_bot_honoroit_container_additional_networks: []
  42. # matrix_bot_honoroit_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  43. # See `../templates/labels.j2` for details.
  44. #
  45. # To inject your own other container labels, see `matrix_bot_honoroit_container_labels_additional_labels`.
  46. matrix_bot_honoroit_container_labels_traefik_enabled: true
  47. matrix_bot_honoroit_container_labels_traefik_docker_network: "{{ matrix_bot_honoroit_container_network }}"
  48. matrix_bot_honoroit_container_labels_traefik_hostname: "{{ matrix_bot_honoroit_hostname }}"
  49. # The path prefix must either be `/` or not end with a slash (e.g. `/honoroit`).
  50. matrix_bot_honoroit_container_labels_traefik_path_prefix: "{{ matrix_bot_honoroit_path_prefix }}"
  51. matrix_bot_honoroit_container_labels_traefik_metrics_path: "{{ '' if matrix_bot_honoroit_path_prefix == '/' else matrix_bot_honoroit_path_prefix }}{{ matrix_bot_honoroit_metrics_path }}"
  52. matrix_bot_honoroit_container_labels_traefik_metrics_rule: "Host(`{{ matrix_bot_honoroit_container_labels_traefik_hostname }}`) && Path(`{{ matrix_bot_honoroit_container_labels_traefik_metrics_path }}`)"
  53. matrix_bot_honoroit_container_labels_traefik_priority: 0
  54. matrix_bot_honoroit_container_labels_traefik_entrypoints: web-secure
  55. matrix_bot_honoroit_container_labels_traefik_tls: "{{ matrix_bot_honoroit_container_labels_traefik_entrypoints != 'web' }}"
  56. matrix_bot_honoroit_container_labels_traefik_tls_certResolver: default # noqa var-naming
  57. # Controls which additional headers to attach to all HTTP responses.
  58. # To add your own headers, use `matrix_bot_honoroit_container_labels_traefik_additional_response_headers_custom`
  59. matrix_bot_honoroit_container_labels_traefik_additional_response_headers: "{{ matrix_bot_honoroit_container_labels_traefik_additional_response_headers_auto | combine(matrix_bot_honoroit_container_labels_traefik_additional_response_headers_custom) }}"
  60. matrix_bot_honoroit_container_labels_traefik_additional_response_headers_auto: {}
  61. matrix_bot_honoroit_container_labels_traefik_additional_response_headers_custom: {}
  62. # matrix_bot_honoroit_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  63. # See `../templates/labels.j2` for details.
  64. #
  65. # Example:
  66. # matrix_bot_honoroit_container_labels_additional_labels: |
  67. # my.label=1
  68. # another.label="here"
  69. matrix_bot_honoroit_container_labels_additional_labels: ''
  70. # A list of extra arguments to pass to the container
  71. matrix_bot_honoroit_container_extra_arguments: []
  72. # List of systemd services that matrix-bot-honoroit.service depends on
  73. matrix_bot_honoroit_systemd_required_services_list: "{{ matrix_bot_honoroit_systemd_required_services_list_default + matrix_bot_honoroit_systemd_required_services_list_auto + matrix_bot_honoroit_systemd_required_services_list_custom }}"
  74. matrix_bot_honoroit_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  75. matrix_bot_honoroit_systemd_required_services_list_auto: []
  76. matrix_bot_honoroit_systemd_required_services_list_custom: []
  77. # List of systemd services that matrix-bot-honoroit.service wants
  78. matrix_bot_honoroit_systemd_wanted_services_list: []
  79. # Database-related configuration fields.
  80. #
  81. # To use SQLite, stick to these defaults.
  82. #
  83. # To use Postgres:
  84. # - change the engine (`matrix_bot_honoroit_database_engine: 'postgres'`)
  85. # - adjust your database credentials via the `matrix_bot_honoroit_database_*` variables
  86. matrix_bot_honoroit_database_engine: 'sqlite'
  87. matrix_bot_honoroit_sqlite_database_path_local: "{{ matrix_bot_honoroit_data_path }}/bot.db"
  88. matrix_bot_honoroit_sqlite_database_path_in_container: "/data/bot.db"
  89. matrix_bot_honoroit_database_username: 'honoroit'
  90. matrix_bot_honoroit_database_password: 'some-password'
  91. matrix_bot_honoroit_database_hostname: ''
  92. matrix_bot_honoroit_database_port: 5432
  93. matrix_bot_honoroit_database_name: 'honoroit'
  94. matrix_bot_honoroit_database_sslmode: disable
  95. matrix_bot_honoroit_database_connection_string: 'postgres://{{ matrix_bot_honoroit_database_username }}:{{ matrix_bot_honoroit_database_password }}@{{ matrix_bot_honoroit_database_hostname }}:{{ matrix_bot_honoroit_database_port }}/{{ matrix_bot_honoroit_database_name }}?sslmode={{ matrix_bot_honoroit_database_sslmode }}'
  96. matrix_bot_honoroit_storage_database: "{{
  97. {
  98. 'sqlite': matrix_bot_honoroit_sqlite_database_path_in_container,
  99. 'postgres': matrix_bot_honoroit_database_connection_string,
  100. }[matrix_bot_honoroit_database_engine]
  101. }}"
  102. matrix_bot_honoroit_database_dialect: "{{
  103. {
  104. 'sqlite': 'sqlite3',
  105. 'postgres': 'postgres',
  106. }[matrix_bot_honoroit_database_engine]
  107. }}"
  108. # The bot's username. This user needs to be created manually beforehand.
  109. # Also see `matrix_bot_honoroit_password`.
  110. matrix_bot_honoroit_login: "honoroit"
  111. # The password that the bot uses to authenticate.
  112. matrix_bot_honoroit_password: ''
  113. matrix_bot_honoroit_homeserver: ""
  114. # The room ID where bot will create threads
  115. matrix_bot_honoroit_roomid: ''
  116. # Command prefix
  117. matrix_bot_honoroit_prefix: ''
  118. # Sentry DSN
  119. matrix_bot_honoroit_sentry: ''
  120. # Log level
  121. matrix_bot_honoroit_loglevel: ''
  122. # /metrics basic auth login
  123. matrix_bot_honoroit_auth_metrics_login: ''
  124. # /metrics basic auth password
  125. matrix_bot_honoroit_auth_metrics_password: ''
  126. # /metrics basic auth allowed IPs
  127. matrix_bot_honoroit_auth_metrics_ips: []
  128. # Optional healthchecks.io integration
  129. matrix_bot_honoroit_healthchecks_url: 'https://hc-ping.com'
  130. matrix_bot_honoroit_healthchecks_uuid: ''
  131. matrix_bot_honoroit_healthchecks_duration: 60 # in seconds
  132. # Optional Redmine integration
  133. matrix_bot_honoroit_redmine_host: '' # e.g. https://redmine.example.com
  134. matrix_bot_honoroit_redmine_apikey: ''
  135. matrix_bot_honoroit_redmine_project: '' # project identifier (e.g. 'myproject')
  136. matrix_bot_honoroit_redmine_tracker_id: '' # tracker ID (e.g. 1)
  137. matrix_bot_honoroit_redmine_new_status_id: '' # new status ID (e.g. 1)
  138. matrix_bot_honoroit_redmine_in_progress_status_id: '' # in progress status ID (e.g. 2)
  139. matrix_bot_honoroit_redmine_done_status_id: '' # done status ID (e.g. 3)
  140. # A list of whitelisted users allowed to use/invite a Honoroit bot
  141. # If not defined, everyone is allowed.
  142. # Example set of rules:
  143. # matrix_bot_honoroit_allowedusers:
  144. # - @alice:example.com
  145. # - @bob:example.com
  146. # - @bot.*:example.com
  147. # - @*:example.net
  148. matrix_bot_honoroit_allowedusers:
  149. - "@*:*"
  150. # Max items in cache
  151. matrix_bot_honoroit_cachesize: ''
  152. # List of ignored room IDs
  153. matrix_bot_honoroit_ignoredrooms: []
  154. # If enabled, the bot will not send a warning message in an encrypted room
  155. matrix_bot_honoroit_no_encryption_warning: false
  156. # Ignore messages outside of threads
  157. matrix_bot_honoroit_ignorenothread: false
  158. # Text prefix: open
  159. matrix_bot_honoroit_text_prefix_open: ''
  160. # Text prefix: done
  161. matrix_bot_honoroit_text_prefix_done: ''
  162. # Text: no encryption
  163. matrix_bot_honoroit_text_noencryption: ''
  164. # Text: greetings
  165. matrix_bot_honoroit_text_greetings: ''
  166. # Text: invite
  167. matrix_bot_honoroit_text_invite: ''
  168. # Text: join
  169. matrix_bot_honoroit_text_join: ''
  170. # Text: leave
  171. matrix_bot_honoroit_text_leave: ''
  172. # Text: error
  173. matrix_bot_honoroit_text_error: ''
  174. # Text: empty room
  175. matrix_bot_honoroit_text_emptyroom: ''
  176. # Text: done
  177. matrix_bot_honoroit_text_done: ''
  178. # Additional environment variables to pass to the Honoroit container
  179. #
  180. # Example:
  181. # matrix_bot_honoroit_environment_variables_extension: |
  182. # HONOROIT_TEXT_DONE=Done
  183. matrix_bot_honoroit_environment_variables_extension: ''