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.
 
 

126 lines
7.2 KiB

  1. # SPDX-FileCopyrightText: 2021 - 2022 Toni Spets
  2. # SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi
  3. # SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
  4. # SPDX-FileCopyrightText: 2022 MDAD project contributors
  5. # SPDX-FileCopyrightText: 2022 Marko Weltzer
  6. # SPDX-FileCopyrightText: 2023 Samuel Meenzen
  7. # SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
  8. #
  9. # SPDX-License-Identifier: AGPL-3.0-or-later
  10. ---
  11. # MatrixZulipBridge is a puppeting appservice bridge for Zulip
  12. # Project source code URL: https://github.com/GearKite/MatrixZulipBridge
  13. matrix_zulip_bridge_enabled: true
  14. matrix_zulip_bridge_scheme: https
  15. matrix_zulip_bridge_hostname: "{{ matrix_server_fqn_matrix }}"
  16. matrix_zulip_bridge_path_prefix: "/zulip"
  17. # renovate: datasource=docker depName=ghcr.io/gearkite/matrixzulipbridge
  18. matrix_zulip_bridge_version: v0.4.1
  19. matrix_zulip_bridge_docker_image: "{{ matrix_zulip_bridge_docker_image_registry_prefix }}gearkite/matrixzulipbridge:{{ matrix_zulip_bridge_version }}"
  20. matrix_zulip_bridge_docker_image_registry_prefix: "{{ matrix_zulip_bridge_docker_image_registry_prefix_upstream }}"
  21. matrix_zulip_bridge_docker_image_registry_prefix_upstream: "{{ matrix_zulip_bridge_docker_image_registry_prefix_upstream_default }}"
  22. matrix_zulip_bridge_docker_image_registry_prefix_upstream_default: ghcr.io/
  23. matrix_zulip_bridge_docker_image_force_pull: "{{ matrix_zulip_bridge_docker_image.endswith(':latest') }}"
  24. # Set this to your Matrix ID if you want to enforce the owner, otherwise first _local_ user becomes one
  25. matrix_zulip_bridge_owner: ""
  26. matrix_zulip_bridge_base_path: "{{ matrix_base_data_path }}/zulip"
  27. matrix_zulip_bridge_container_network: ""
  28. # The port number in the container
  29. matrix_zulip_bridge_container_http_port: 9898
  30. matrix_zulip_bridge_container_additional_networks: "{{ matrix_zulip_bridge_container_additional_networks_auto + matrix_zulip_bridge_container_additional_networks_custom }}"
  31. matrix_zulip_bridge_container_additional_networks_auto: []
  32. matrix_zulip_bridge_container_additional_networks_custom: []
  33. # Controls how long to wait for the container to stop gracefully before killing it.
  34. # We use a small value here, because this container does not seem to handle the SIGTERM signal.
  35. matrix_zulip_bridge_container_stop_grace_time_seconds: 1
  36. # matrix_zulip_bridge_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
  37. # See `../templates/labels.j2` for details.
  38. #
  39. # To inject your own other container labels, see `matrix_zulip_bridge_container_labels_additional_labels`.
  40. matrix_zulip_bridge_container_labels_traefik_enabled: true
  41. matrix_zulip_bridge_container_labels_traefik_docker_network: "{{ matrix_zulip_bridge_container_network }}"
  42. matrix_zulip_bridge_container_labels_traefik_hostname: "{{ matrix_zulip_bridge_hostname }}"
  43. matrix_zulip_bridge_container_labels_traefik_path_prefix: "{{ matrix_zulip_bridge_path_prefix }}"
  44. matrix_zulip_bridge_container_labels_traefik_entrypoints: web-secure
  45. matrix_zulip_bridge_container_labels_traefik_tls_certResolver: default # noqa var-naming
  46. # Controls if the media router is enabled
  47. matrix_zulip_bridge_container_labels_traefik_media_enabled: true
  48. matrix_zulip_bridge_container_labels_traefik_media_hostname: "{{ matrix_zulip_bridge_container_labels_traefik_hostname }}"
  49. # The path prefix must either be `/` or not end with a slash (e.g. `/zulip`).
  50. matrix_zulip_bridge_container_labels_traefik_media_path_prefix: "{{ '' if matrix_zulip_bridge_container_labels_traefik_path_prefix == '/' else (matrix_zulip_bridge_container_labels_traefik_path_prefix) }}/_bridge_zulip/media"
  51. matrix_zulip_bridge_container_labels_traefik_media_rule: "Host(`{{ matrix_zulip_bridge_container_labels_traefik_media_hostname }}`){% if matrix_zulip_bridge_container_labels_traefik_media_path_prefix != '/' %} && PathPrefix(`{{ matrix_zulip_bridge_container_labels_traefik_media_path_prefix }}`){% endif %}"
  52. matrix_zulip_bridge_container_labels_traefik_media_priority: 0
  53. matrix_zulip_bridge_container_labels_traefik_media_entrypoints: "{{ matrix_zulip_bridge_container_labels_traefik_entrypoints }}"
  54. matrix_zulip_bridge_container_labels_traefik_media_tls: "{{ matrix_zulip_bridge_container_labels_traefik_media_entrypoints != 'web' }}"
  55. matrix_zulip_bridge_container_labels_traefik_media_tls_certResolver: "{{ matrix_zulip_bridge_container_labels_traefik_tls_certResolver }}" # noqa var-naming
  56. # matrix_zulip_bridge_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
  57. # See `../templates/labels.j2` for details.
  58. #
  59. # Example:
  60. # matrix_zulip_bridge_container_labels_additional_labels: |
  61. # my.label=1
  62. # another.label="here"
  63. matrix_zulip_bridge_container_labels_additional_labels: ''
  64. # A list of extra arguments to pass to the container
  65. matrix_zulip_bridge_container_extra_arguments: []
  66. # List of systemd services that service depends on.
  67. matrix_zulip_bridge_systemd_required_services_list: "{{ matrix_zulip_bridge_systemd_required_services_list_default + matrix_zulip_bridge_systemd_required_services_list_auto + matrix_zulip_bridge_systemd_required_services_list_custom }}"
  68. matrix_zulip_bridge_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
  69. matrix_zulip_bridge_systemd_required_services_list_auto: []
  70. matrix_zulip_bridge_systemd_required_services_list_custom: []
  71. # List of systemd services that service wants
  72. matrix_zulip_bridge_systemd_wanted_services_list: []
  73. matrix_zulip_bridge_homeserver_url: ""
  74. matrix_zulip_bridge_appservice_token: ''
  75. matrix_zulip_bridge_homeserver_token: ''
  76. matrix_zulip_bridge_config_media_url: "{{ matrix_zulip_bridge_scheme }}://{{ matrix_zulip_bridge_hostname }}"
  77. # This matches the hardcoded `DEFAULT_MEDIA_PATH` in MatrixZulipBridge, but uses `matrix_zulip_bridge_path_prefix` as the path prefix.
  78. # See: https://github.com/GearKite/MatrixZulipBridge/blob/2ba51f3da2ad8bd33460c953ef91a9cfc585a2d4/matrixzulipbridge/__main__.py#L87
  79. matrix_zulip_bridge_config_media_path: "{{ matrix_zulip_bridge_container_labels_traefik_media_path_prefix }}/v3/download/{netloc}{path}{filename}"
  80. matrix_zulip_bridge_config_media_key: "{{ matrix_zulip_bridge_homeserver_token }}"
  81. matrix_zulip_bridge_config_displayname: "MatrixZulipBridge"
  82. matrix_zulip_bridge_registration_yaml_bridge_zulip:
  83. media_url: "{{ matrix_zulip_bridge_config_media_url }}"
  84. media_path: "{{ matrix_zulip_bridge_config_media_path }}"
  85. media_key: "{{ matrix_zulip_bridge_config_media_key }}"
  86. displayname: "{{ matrix_zulip_bridge_config_displayname }}"
  87. # Default registration file consumed by both the homeserver and MatrixZulipBridge.
  88. # Besides registration information, it contains configuration (see the Zulip bridge key).
  89. matrix_zulip_bridge_registration_yaml:
  90. id: zulipbridge
  91. url: http://matrix-bridge-zulip:{{ matrix_zulip_bridge_container_http_port }}
  92. as_token: "{{ matrix_zulip_bridge_appservice_token }}"
  93. hs_token: "{{ matrix_zulip_bridge_homeserver_token }}"
  94. rate_limited: false
  95. sender_localpart: zulipbridge
  96. namespaces:
  97. users:
  98. - regex: '@zulip_.*'
  99. exclusive: true
  100. aliases: []
  101. rooms: []
  102. matrixzulipbridge: "{{ matrix_zulip_bridge_registration_yaml_bridge_zulip }}"
  103. matrix_zulip_bridge_registration: "{{ matrix_zulip_bridge_registration_yaml | from_yaml }}"