From b257b8db52b09ed66e02173105433ff0974a2fa7 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Sun, 2 Nov 2025 23:39:46 +0900 Subject: [PATCH] Add MatrixZulipBridge to files in group_vars Signed-off-by: Suguru Hirahara --- group_vars/matrix_servers | 56 +++++++++++++++++++++++++++++++++++++++ setup.yml | 1 + 2 files changed, 57 insertions(+) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7962e137c..a17661f42 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -118,6 +118,8 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_hookshot_base_path + '/registration.yml,dst=/hookshot-registration.yml,ro'] if matrix_hookshot_enabled else []) + + (['--mount type=bind,src=' + matrix_matrixzulipbridge_base_path + '/registration.yaml,dst=/matrixzulipbridge-registration.yaml,ro'] if matrix_matrixzulipbridge_enabled else []) + + (['--mount type=bind,src=' + matrix_mautrix_bluesky_config_path + '/registration.yaml,dst=/matrix-mautrix-bluesky-registration.yaml,ro'] if matrix_mautrix_bluesky_enabled else []) + (['--mount type=bind,src=' + matrix_mautrix_discord_config_path + '/registration.yaml,dst=/matrix-mautrix-discord-registration.yaml,ro'] if matrix_mautrix_discord_enabled else []) @@ -193,6 +195,8 @@ matrix_homeserver_app_service_config_files_auto: | + (['/hookshot-registration.yml'] if matrix_hookshot_enabled else []) + + (['/matrixzulipbridge-registration.yaml'] if matrix_matrixzulipbridge_enabled else []) + + (['/matrix-mautrix-bluesky-registration.yaml'] if matrix_mautrix_bluesky_enabled else []) + (['/matrix-mautrix-discord-registration.yaml'] if matrix_mautrix_discord_enabled else []) @@ -339,6 +343,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-hookshot.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'hookshot', 'bridge-hookshot']}] if matrix_hookshot_enabled else []) + + ([{'name': 'matrix-matrixzulipbridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'matrixzulipbridge']}] if matrix_matrixzulipbridge_enabled else []) + + ([{'name': 'matrix-mautrix-bluesky.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-bluesky']}] if matrix_mautrix_bluesky_enabled else []) + ([{'name': 'matrix-mautrix-discord.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-discord']}] if matrix_mautrix_discord_enabled else []) @@ -2370,6 +2376,51 @@ matrix_hookshot_public_hostname: "{{ matrix_server_fqn_matrix }}" # ###################################################################### +###################################################################### +# +# matrix-bridge-matrixzulipbridge +# +###################################################################### + +# We don't enable bridges by default. +matrix_matrixzulipbridge_enabled: false + +matrix_matrixzulipbridge_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" + +matrix_matrixzulipbridge_systemd_required_services_list_auto: | + {{ + matrix_addons_homeserver_systemd_services_list + }} + +matrix_matrixzulipbridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_matrixzulipbridge_docker_image_registry_prefix_upstream_default }}" + +matrix_matrixzulipbridge_container_network: "{{ matrix_addons_container_network }}" + +matrix_matrixzulipbridge_container_additional_networks_auto: |- + {{ + ( + ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) + + + [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_matrixzulipbridge_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] + ) | unique + }} + +matrix_matrixzulipbridge_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_matrixzulipbridge_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_matrixzulipbridge_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_matrixzulipbridge_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" + +matrix_matrixzulipbridge_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'zulip.as.tok', rounds=655555) | to_uuid }}" + +matrix_matrixzulipbridge_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'zulip.hs.tok', rounds=655555) | to_uuid }}" + +matrix_matrixzulipbridge_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" + +###################################################################### +# +# /matrix-bridge-matrixzulipbridge +# +###################################################################### ###################################################################### # @@ -5303,6 +5354,11 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@'+(matrix_hookshot_generic_userIdPrefix | default('') | regex_escape)+'[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_hookshot_enabled else []) + + ([ + '^@matrixzulipbridge:'+(matrix_domain | regex_escape)+'$', + '^@zulip_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', + ] if matrix_matrixzulipbridge_enabled else []) + + ([ '^@'+(matrix_mautrix_bluesky_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@bluesky_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/setup.yml b/setup.yml index 7e4168440..7b23ee66c 100644 --- a/setup.yml +++ b/setup.yml @@ -87,6 +87,7 @@ - custom/matrix-bridge-steam - custom/matrix-bridge-heisenbridge - custom/matrix-bridge-hookshot + - custom/matrix-bridge-matrixzulipbridge - custom/matrix-bot-matrix-reminder-bot - custom/matrix-bot-matrix-registration-bot - custom/matrix-bot-maubot