Rename matrix_mautrix_signal_* variables to matrix_bridge_mautrix_signal_*

Part of adopting a uniform naming policy for bridge variables,
where the variable prefix matches the role directory name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Slavi Pantaleev
2026-07-16 14:54:12 +03:00
parent ca301ffde0
commit bb225546bd
11 changed files with 332 additions and 332 deletions
@@ -28,7 +28,7 @@ See the project's [documentation](https://docs.mau.fi/bridges/go/signal/index.ht
If you're running with the Postgres database server integrated by the playbook (which is the default), you don't need to do anything special and can easily proceed with installing. If you're running with the Postgres database server integrated by the playbook (which is the default), you don't need to do anything special and can easily proceed with installing.
However, if you're [using an external Postgres server](configuring-playbook-external-postgres.md), you'd need to manually prepare a Postgres database for this bridge and adjust the variables related to that (`matrix_mautrix_signal_database_*`). However, if you're [using an external Postgres server](configuring-playbook-external-postgres.md), you'd need to manually prepare a Postgres database for this bridge and adjust the variables related to that (`matrix_bridge_mautrix_signal_database_*`).
### Enable Appservice Double Puppet ### Enable Appservice Double Puppet
@@ -41,7 +41,7 @@ See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_mautrix_signal_enabled: true matrix_bridge_mautrix_signal_enabled: true
``` ```
### Extending the configuration ### Extending the configuration
@@ -83,5 +83,5 @@ The default logging level for this component is `warn`. If you want to increase
```yaml ```yaml
# Valid values: fatal, error, warn, info, debug, trace # Valid values: fatal, error, warn, info, debug, trace
matrix_mautrix_signal_logging_level: 'debug' matrix_bridge_mautrix_signal_logging_level: 'debug'
``` ```
+46 -46
View File
@@ -120,7 +120,7 @@ matrix_homeserver_container_extra_arguments_auto: |
+ +
(['--mount type=bind,src=' + matrix_bridge_mautrix_googlechat_config_path + '/registration.yaml,dst=/matrix-mautrix-googlechat-registration.yaml,ro'] if matrix_bridge_mautrix_googlechat_enabled else []) (['--mount type=bind,src=' + matrix_bridge_mautrix_googlechat_config_path + '/registration.yaml,dst=/matrix-mautrix-googlechat-registration.yaml,ro'] if matrix_bridge_mautrix_googlechat_enabled else [])
+ +
(['--mount type=bind,src=' + matrix_mautrix_signal_config_path + '/registration.yaml,dst=/matrix-mautrix-signal-registration.yaml,ro'] if matrix_mautrix_signal_enabled else []) (['--mount type=bind,src=' + matrix_bridge_mautrix_signal_config_path + '/registration.yaml,dst=/matrix-mautrix-signal-registration.yaml,ro'] if matrix_bridge_mautrix_signal_enabled else [])
+ +
(['--mount type=bind,src=' + matrix_bridge_mautrix_meta_messenger_config_path + '/registration.yaml,dst=/matrix-mautrix-meta-messenger-registration.yaml,ro'] if matrix_bridge_mautrix_meta_messenger_enabled else []) (['--mount type=bind,src=' + matrix_bridge_mautrix_meta_messenger_config_path + '/registration.yaml,dst=/matrix-mautrix-meta-messenger-registration.yaml,ro'] if matrix_bridge_mautrix_meta_messenger_enabled else [])
+ +
@@ -179,7 +179,7 @@ matrix_homeserver_app_service_config_files_auto: |
+ +
(['/matrix-mautrix-googlechat-registration.yaml'] if matrix_bridge_mautrix_googlechat_enabled else []) (['/matrix-mautrix-googlechat-registration.yaml'] if matrix_bridge_mautrix_googlechat_enabled else [])
+ +
(['/matrix-mautrix-signal-registration.yaml'] if matrix_mautrix_signal_enabled else []) (['/matrix-mautrix-signal-registration.yaml'] if matrix_bridge_mautrix_signal_enabled else [])
+ +
(['/matrix-mautrix-meta-messenger-registration.yaml'] if matrix_bridge_mautrix_meta_messenger_enabled else []) (['/matrix-mautrix-meta-messenger-registration.yaml'] if matrix_bridge_mautrix_meta_messenger_enabled else [])
+ +
@@ -450,9 +450,9 @@ devture_systemd_service_manager_services_list_auto: |
([{ ([{
'name': 'matrix-mautrix-signal.service', 'name': 'matrix-mautrix-signal.service',
'priority': 2000, 'priority': 2000,
'restart_necessary': (matrix_mautrix_signal_restart_necessary | bool), 'restart_necessary': (matrix_bridge_mautrix_signal_restart_necessary | bool),
'groups': ['matrix', 'bridges', 'mautrix-signal', 'mautrix-signal'], 'groups': ['matrix', 'bridges', 'mautrix-signal', 'mautrix-signal'],
}] if matrix_mautrix_signal_enabled else []) }] if matrix_bridge_mautrix_signal_enabled else [])
+ +
([{ ([{
'name': (matrix_bridge_mautrix_meta_messenger_identifier + '.service'), 'name': (matrix_bridge_mautrix_meta_messenger_identifier + '.service'),
@@ -1725,74 +1725,74 @@ matrix_bridge_mautrix_googlechat_database_password: "{{ (matrix_homeserver_gener
###################################################################### ######################################################################
# We don't enable bridges by default. # We don't enable bridges by default.
matrix_mautrix_signal_enabled: false matrix_bridge_mautrix_signal_enabled: false
matrix_mautrix_signal_systemd_required_services_list_auto: | matrix_bridge_mautrix_signal_systemd_required_services_list_auto: |
{{ {{
matrix_addons_homeserver_systemd_services_list matrix_addons_homeserver_systemd_services_list
+ +
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mautrix_signal_database_hostname == postgres_connection_hostname) else []) ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_bridge_mautrix_signal_database_hostname == postgres_connection_hostname) else [])
}} }}
matrix_mautrix_signal_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mautrix_signal_container_image_registry_prefix_upstream_default }}" matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream_default }}"
matrix_mautrix_signal_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" matrix_bridge_mautrix_signal_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
matrix_mautrix_signal_container_network: "{{ matrix_addons_container_network }}" matrix_bridge_mautrix_signal_container_network: "{{ matrix_addons_container_network }}"
matrix_mautrix_signal_container_additional_networks_auto: |- matrix_bridge_mautrix_signal_container_additional_networks_auto: |-
{{ {{
( (
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
+ +
([postgres_container_network] if (postgres_enabled and matrix_mautrix_signal_database_hostname == postgres_connection_hostname and matrix_mautrix_signal_container_network != postgres_container_network) else []) ([postgres_container_network] if (postgres_enabled and matrix_bridge_mautrix_signal_database_hostname == postgres_connection_hostname and matrix_bridge_mautrix_signal_container_network != postgres_container_network) else [])
+ +
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_mautrix_signal_container_labels_traefik_enabled else []) ([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_bridge_mautrix_signal_container_labels_traefik_enabled else [])
) | unique ) | unique
}} }}
matrix_mautrix_signal_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" matrix_bridge_mautrix_signal_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
matrix_mautrix_signal_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" matrix_bridge_mautrix_signal_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_mautrix_signal_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" matrix_bridge_mautrix_signal_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_mautrix_signal_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" matrix_bridge_mautrix_signal_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}" matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}" matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
matrix_mautrix_signal_homeserver_domain: '{{ matrix_domain }}' matrix_bridge_mautrix_signal_homeserver_domain: '{{ matrix_domain }}'
matrix_mautrix_signal_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" matrix_bridge_mautrix_signal_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_signal_homeserver_token: "{{ (matrix_homeserver_generic_secret_key + ':si.hs.token') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_signal_homeserver_token: "{{ (matrix_homeserver_generic_secret_key + ':si.hs.token') | hash('sha512') | to_uuid }}"
matrix_mautrix_signal_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}" matrix_bridge_mautrix_signal_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_signal_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':si.as.token') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_signal_appservice_token: "{{ (matrix_homeserver_generic_secret_key + ':si.as.token') | hash('sha512') | to_uuid }}"
matrix_mautrix_signal_double_puppet_secrets_auto: |- matrix_bridge_mautrix_signal_double_puppet_secrets_auto: |-
{{ {{
{ {
matrix_mautrix_signal_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token) matrix_bridge_mautrix_signal_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token)
} }
if matrix_appservice_double_puppet_enabled if matrix_appservice_double_puppet_enabled
else {} else {}
}} }}
matrix_mautrix_signal_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}" matrix_bridge_mautrix_signal_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}"
matrix_mautrix_signal_metrics_proxying_enabled: "{{ matrix_mautrix_signal_metrics_enabled and matrix_metrics_exposure_enabled }}" matrix_bridge_mautrix_signal_metrics_proxying_enabled: "{{ matrix_bridge_mautrix_signal_metrics_enabled and matrix_metrics_exposure_enabled }}"
matrix_mautrix_signal_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}" matrix_bridge_mautrix_signal_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}"
matrix_mautrix_signal_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-signal" matrix_bridge_mautrix_signal_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/mautrix-signal"
matrix_mautrix_signal_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}" matrix_bridge_mautrix_signal_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
matrix_mautrix_signal_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}" matrix_bridge_mautrix_signal_exposure_enabled: "{{ matrix_bridges_exposure_enabled }}"
matrix_mautrix_signal_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}" matrix_bridge_mautrix_signal_exposure_hostname: "{{ matrix_bridges_exposure_hostname }}"
matrix_mautrix_signal_exposure_path_prefix: "{{ matrix_bridges_exposure_path_prefix }}/signal" matrix_bridge_mautrix_signal_exposure_path_prefix: "{{ matrix_bridges_exposure_path_prefix }}/signal"
matrix_mautrix_signal_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" matrix_bridge_mautrix_signal_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}"
matrix_mautrix_signal_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" matrix_bridge_mautrix_signal_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}"
matrix_mautrix_signal_database_password: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.db') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_signal_database_password: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.db') | hash('sha512') | to_uuid }}"
matrix_mautrix_signal_provisioning_shared_secret: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.prov') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_signal_provisioning_shared_secret: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.prov') | hash('sha512') | to_uuid }}"
matrix_mautrix_signal_public_media_signing_key: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.pmed') | hash('sha512') | to_uuid }}" matrix_bridge_mautrix_signal_public_media_signing_key: "{{ (matrix_homeserver_generic_secret_key + ':mau.signal.pmed') | hash('sha512') | to_uuid }}"
###################################################################### ######################################################################
# #
@@ -4189,10 +4189,10 @@ postgres_managed_databases_auto: |
}] if (matrix_bridge_mautrix_googlechat_enabled and matrix_bridge_mautrix_googlechat_database_engine == 'postgres' and matrix_bridge_mautrix_googlechat_database_hostname == postgres_connection_hostname) else []) }] if (matrix_bridge_mautrix_googlechat_enabled and matrix_bridge_mautrix_googlechat_database_engine == 'postgres' and matrix_bridge_mautrix_googlechat_database_hostname == postgres_connection_hostname) else [])
+ +
([{ ([{
'name': matrix_mautrix_signal_database_name, 'name': matrix_bridge_mautrix_signal_database_name,
'username': matrix_mautrix_signal_database_username, 'username': matrix_bridge_mautrix_signal_database_username,
'password': matrix_mautrix_signal_database_password, 'password': matrix_bridge_mautrix_signal_database_password,
}] if (matrix_mautrix_signal_enabled and matrix_mautrix_signal_database_engine == 'postgres' and matrix_mautrix_signal_database_hostname == postgres_connection_hostname) else []) }] if (matrix_bridge_mautrix_signal_enabled and matrix_bridge_mautrix_signal_database_engine == 'postgres' and matrix_bridge_mautrix_signal_database_hostname == postgres_connection_hostname) else [])
+ +
([{ ([{
'name': matrix_bridge_mautrix_meta_messenger_database_name, 'name': matrix_bridge_mautrix_meta_messenger_database_name,
@@ -5161,9 +5161,9 @@ matrix_ketesa_config_asManagedUsers_auto: |
] if matrix_bridge_mautrix_meta_messenger_enabled else []) ] if matrix_bridge_mautrix_meta_messenger_enabled else [])
+ +
([ ([
'^@'+(matrix_mautrix_signal_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@'+(matrix_bridge_mautrix_signal_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$',
'^@signal_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', '^@signal_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$',
] if matrix_mautrix_signal_enabled else []) ] if matrix_bridge_mautrix_signal_enabled else [])
+ +
([ ([
'^@'+(matrix_mautrix_slack_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', '^@'+(matrix_mautrix_slack_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$',
@@ -6017,7 +6017,7 @@ matrix_static_files_file_matrix_mautrix_property_fi_mau_bridges_auto: |-
matrix_bridge_mautrix_gvoice_bridge_public_address if (matrix_bridge_mautrix_gvoice_enabled and matrix_bridge_mautrix_gvoice_container_labels_traefik_enabled and matrix_bridge_mautrix_gvoice_container_labels_exposure_enabled) else '', matrix_bridge_mautrix_gvoice_bridge_public_address if (matrix_bridge_mautrix_gvoice_enabled and matrix_bridge_mautrix_gvoice_container_labels_traefik_enabled and matrix_bridge_mautrix_gvoice_container_labels_exposure_enabled) else '',
matrix_bridge_mautrix_meta_instagram_bridge_public_address if (matrix_bridge_mautrix_meta_instagram_enabled and matrix_bridge_mautrix_meta_instagram_container_labels_traefik_enabled and matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled) else '', matrix_bridge_mautrix_meta_instagram_bridge_public_address if (matrix_bridge_mautrix_meta_instagram_enabled and matrix_bridge_mautrix_meta_instagram_container_labels_traefik_enabled and matrix_bridge_mautrix_meta_instagram_container_labels_exposure_enabled) else '',
matrix_bridge_mautrix_meta_messenger_bridge_public_address if (matrix_bridge_mautrix_meta_messenger_enabled and matrix_bridge_mautrix_meta_messenger_container_labels_traefik_enabled and matrix_bridge_mautrix_meta_messenger_container_labels_exposure_enabled) else '', matrix_bridge_mautrix_meta_messenger_bridge_public_address if (matrix_bridge_mautrix_meta_messenger_enabled and matrix_bridge_mautrix_meta_messenger_container_labels_traefik_enabled and matrix_bridge_mautrix_meta_messenger_container_labels_exposure_enabled) else '',
matrix_mautrix_signal_bridge_public_address if (matrix_mautrix_signal_enabled and matrix_mautrix_signal_container_labels_traefik_enabled and matrix_mautrix_signal_container_labels_exposure_enabled) else '', matrix_bridge_mautrix_signal_bridge_public_address if (matrix_bridge_mautrix_signal_enabled and matrix_bridge_mautrix_signal_container_labels_traefik_enabled and matrix_bridge_mautrix_signal_container_labels_exposure_enabled) else '',
matrix_mautrix_slack_bridge_public_address if (matrix_mautrix_slack_enabled and matrix_mautrix_slack_container_labels_traefik_enabled and matrix_mautrix_slack_container_labels_exposure_enabled) else '', matrix_mautrix_slack_bridge_public_address if (matrix_mautrix_slack_enabled and matrix_mautrix_slack_container_labels_traefik_enabled and matrix_mautrix_slack_container_labels_exposure_enabled) else '',
matrix_mautrix_telegram_bridge_public_address if (matrix_mautrix_telegram_enabled and matrix_mautrix_telegram_container_labels_traefik_enabled and matrix_mautrix_telegram_container_labels_exposure_enabled) else '', matrix_mautrix_telegram_bridge_public_address if (matrix_mautrix_telegram_enabled and matrix_mautrix_telegram_container_labels_traefik_enabled and matrix_mautrix_telegram_container_labels_exposure_enabled) else '',
matrix_mautrix_twitter_appservice_public_address if (matrix_mautrix_twitter_enabled and matrix_mautrix_twitter_container_labels_traefik_enabled and matrix_mautrix_twitter_container_labels_exposure_enabled) else '', matrix_mautrix_twitter_appservice_public_address if (matrix_mautrix_twitter_enabled and matrix_mautrix_twitter_container_labels_traefik_enabled and matrix_mautrix_twitter_container_labels_exposure_enabled) else '',
@@ -18,47 +18,47 @@
# mautrix-signal is a Matrix <-> Signal bridge # mautrix-signal is a Matrix <-> Signal bridge
# Project source code URL: https://github.com/mautrix/signal # Project source code URL: https://github.com/mautrix/signal
matrix_mautrix_signal_enabled: true matrix_bridge_mautrix_signal_enabled: true
matrix_mautrix_signal_container_image_self_build: false matrix_bridge_mautrix_signal_container_image_self_build: false
matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/signal.git" matrix_bridge_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/signal.git"
matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}" matrix_bridge_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_bridge_mautrix_signal_version == 'latest' else matrix_bridge_mautrix_signal_version }}"
# renovate: datasource=docker depName=dock.mau.dev/mautrix/signal # renovate: datasource=docker depName=dock.mau.dev/mautrix/signal
matrix_mautrix_signal_version: v0.2606.0 matrix_bridge_mautrix_signal_version: v0.2606.0
# See: https://mau.dev/mautrix/signal/container_registry # See: https://mau.dev/mautrix/signal/container_registry
matrix_mautrix_signal_container_image: "{{ matrix_mautrix_signal_container_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_container_image_tag }}" matrix_bridge_mautrix_signal_container_image: "{{ matrix_bridge_mautrix_signal_container_image_registry_prefix }}mautrix/signal:{{ matrix_bridge_mautrix_signal_container_image_tag }}"
matrix_mautrix_signal_container_image_tag: "{{ matrix_mautrix_signal_version }}" matrix_bridge_mautrix_signal_container_image_tag: "{{ matrix_bridge_mautrix_signal_version }}"
matrix_mautrix_signal_container_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_signal_container_image_self_build else matrix_mautrix_signal_container_image_registry_prefix_upstream }}" matrix_bridge_mautrix_signal_container_image_registry_prefix: "{{ 'localhost/' if matrix_bridge_mautrix_signal_container_image_self_build else matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream }}"
matrix_mautrix_signal_container_image_registry_prefix_upstream: "{{ matrix_mautrix_signal_container_image_registry_prefix_upstream_default }}" matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream: "{{ matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream_default }}"
matrix_mautrix_signal_container_image_registry_prefix_upstream_default: "dock.mau.dev/" matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream_default: "dock.mau.dev/"
matrix_mautrix_signal_base_path: "{{ matrix_base_data_path }}/mautrix-signal" matrix_bridge_mautrix_signal_base_path: "{{ matrix_base_data_path }}/mautrix-signal"
matrix_mautrix_signal_config_path: "{{ matrix_mautrix_signal_base_path }}/config" matrix_bridge_mautrix_signal_config_path: "{{ matrix_bridge_mautrix_signal_base_path }}/config"
matrix_mautrix_signal_data_path: "{{ matrix_mautrix_signal_base_path }}/data" matrix_bridge_mautrix_signal_data_path: "{{ matrix_bridge_mautrix_signal_base_path }}/data"
matrix_mautrix_signal_container_src_files_path: "{{ matrix_mautrix_signal_base_path }}/docker-src" matrix_bridge_mautrix_signal_container_src_files_path: "{{ matrix_bridge_mautrix_signal_base_path }}/docker-src"
matrix_mautrix_signal_homeserver_address: "" matrix_bridge_mautrix_signal_homeserver_address: ""
matrix_mautrix_signal_homeserver_domain: "{{ matrix_domain }}" matrix_bridge_mautrix_signal_homeserver_domain: "{{ matrix_domain }}"
# Whether asynchronous uploads via MSC2246 should be enabled for media. # Whether asynchronous uploads via MSC2246 should be enabled for media.
# Requires a homeserver that supports MSC2246 (https://github.com/matrix-org/matrix-spec-proposals/pull/2246). # Requires a homeserver that supports MSC2246 (https://github.com/matrix-org/matrix-spec-proposals/pull/2246).
matrix_mautrix_signal_homeserver_async_media: false matrix_bridge_mautrix_signal_homeserver_async_media: false
matrix_mautrix_signal_appservice_address: "http://matrix-mautrix-signal:8080" matrix_bridge_mautrix_signal_appservice_address: "http://matrix-mautrix-signal:8080"
# Scheme of the bridge's public address (see `matrix_mautrix_signal_bridge_public_address`). # Scheme of the bridge's public address (see `matrix_bridge_mautrix_signal_bridge_public_address`).
matrix_mautrix_signal_scheme: https matrix_bridge_mautrix_signal_scheme: https
# The public base URL at which this bridge's HTTP API is reachable from outside (when exposed). # The public base URL at which this bridge's HTTP API is reachable from outside (when exposed).
# Used for the provisioning API's external-server (OpenID) flow and for public media links. # Used for the provisioning API's external-server (OpenID) flow and for public media links.
matrix_mautrix_signal_bridge_public_address: "{{ (matrix_mautrix_signal_scheme + '://' + matrix_mautrix_signal_exposure_hostname + matrix_mautrix_signal_exposure_path_prefix) if matrix_mautrix_signal_exposure_enabled else '' }}" matrix_bridge_mautrix_signal_bridge_public_address: "{{ (matrix_bridge_mautrix_signal_scheme + '://' + matrix_bridge_mautrix_signal_exposure_hostname + matrix_bridge_mautrix_signal_exposure_path_prefix) if matrix_bridge_mautrix_signal_exposure_enabled else '' }}"
matrix_mautrix_signal_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" matrix_bridge_mautrix_signal_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}"
matrix_mautrix_signal_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" matrix_bridge_mautrix_signal_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}"
matrix_mautrix_signal_extev_polls: false matrix_bridge_mautrix_signal_extev_polls: false
matrix_mautrix_signal_command_prefix: "!signal" matrix_bridge_mautrix_signal_command_prefix: "!signal"
# Displayname template for Signal users. # Displayname template for Signal users.
# {{.ProfileName}} - The Signal profile name set by the user. # {{.ProfileName}} - The Signal profile name set by the user.
@@ -67,200 +67,200 @@ matrix_mautrix_signal_command_prefix: "!signal"
# {{.PhoneNumber}} - The phone number of the user. # {{.PhoneNumber}} - The phone number of the user.
# {{.UUID}} - The UUID of the Signal user. # {{.UUID}} - The UUID of the Signal user.
# {{.AboutEmoji}} - The emoji set by the user in their profile. # {{.AboutEmoji}} - The emoji set by the user in their profile.
matrix_mautrix_signal_network_displayname_template: '{% raw %}{{or .ProfileName .PhoneNumber "Unknown user"}} (Signal){% endraw %}' matrix_bridge_mautrix_signal_network_displayname_template: '{% raw %}{{or .ProfileName .PhoneNumber "Unknown user"}} (Signal){% endraw %}'
matrix_mautrix_signal_bridge_permissions: | matrix_bridge_mautrix_signal_bridge_permissions: |
{{ {{
{'*': 'relay', matrix_mautrix_signal_homeserver_domain: 'user'} {'*': 'relay', matrix_bridge_mautrix_signal_homeserver_domain: 'user'}
| combine({matrix_admin: 'admin'} if matrix_admin else {}) | combine({matrix_admin: 'admin'} if matrix_admin else {})
}} }}
# Enable bridge relay functionality # Enable bridge relay functionality
matrix_mautrix_signal_bridge_relay_enabled: "{{ matrix_bridges_relay_enabled }}" matrix_bridge_mautrix_signal_bridge_relay_enabled: "{{ matrix_bridges_relay_enabled }}"
# Only allow admins on this home server to set themselves as a relay user # Only allow admins on this home server to set themselves as a relay user
matrix_mautrix_signal_bridge_relay_admin_only: true matrix_bridge_mautrix_signal_bridge_relay_admin_only: true
matrix_mautrix_signal_container_network: "" matrix_bridge_mautrix_signal_container_network: ""
matrix_mautrix_signal_container_additional_networks: "{{ matrix_mautrix_signal_container_additional_networks_auto + matrix_mautrix_signal_container_additional_networks_custom }}" matrix_bridge_mautrix_signal_container_additional_networks: "{{ matrix_bridge_mautrix_signal_container_additional_networks_auto + matrix_bridge_mautrix_signal_container_additional_networks_custom }}"
matrix_mautrix_signal_container_additional_networks_auto: [] matrix_bridge_mautrix_signal_container_additional_networks_auto: []
matrix_mautrix_signal_container_additional_networks_custom: [] matrix_bridge_mautrix_signal_container_additional_networks_custom: []
# matrix_mautrix_signal_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. # matrix_bridge_mautrix_signal_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container.
# See `../templates/labels.j2` for details. # See `../templates/labels.j2` for details.
# #
# To inject your own other container labels, see `matrix_mautrix_signal_container_labels_additional_labels`. # To inject your own other container labels, see `matrix_bridge_mautrix_signal_container_labels_additional_labels`.
matrix_mautrix_signal_container_labels_traefik_enabled: true matrix_bridge_mautrix_signal_container_labels_traefik_enabled: true
matrix_mautrix_signal_container_labels_traefik_docker_network: "{{ matrix_mautrix_signal_container_network }}" matrix_bridge_mautrix_signal_container_labels_traefik_docker_network: "{{ matrix_bridge_mautrix_signal_container_network }}"
matrix_mautrix_signal_container_labels_traefik_entrypoints: web-secure matrix_bridge_mautrix_signal_container_labels_traefik_entrypoints: web-secure
matrix_mautrix_signal_container_labels_traefik_tls_certResolver: default # noqa var-naming matrix_bridge_mautrix_signal_container_labels_traefik_tls_certResolver: default # noqa var-naming
# Controls whether labels will be added that expose mautrix-instagram's metrics # Controls whether labels will be added that expose mautrix-instagram's metrics
matrix_mautrix_signal_container_labels_metrics_enabled: "{{ matrix_mautrix_signal_metrics_enabled and matrix_mautrix_signal_metrics_proxying_enabled }}" matrix_bridge_mautrix_signal_container_labels_metrics_enabled: "{{ matrix_bridge_mautrix_signal_metrics_enabled and matrix_bridge_mautrix_signal_metrics_proxying_enabled }}"
matrix_mautrix_signal_container_labels_metrics_traefik_rule: "Host(`{{ matrix_mautrix_signal_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_mautrix_signal_metrics_proxying_path_prefix }}`)" matrix_bridge_mautrix_signal_container_labels_metrics_traefik_rule: "Host(`{{ matrix_bridge_mautrix_signal_metrics_proxying_hostname }}`) && PathPrefix(`{{ matrix_bridge_mautrix_signal_metrics_proxying_path_prefix }}`)"
matrix_mautrix_signal_container_labels_metrics_traefik_priority: 0 matrix_bridge_mautrix_signal_container_labels_metrics_traefik_priority: 0
matrix_mautrix_signal_container_labels_metrics_traefik_entrypoints: "{{ matrix_mautrix_signal_container_labels_traefik_entrypoints }}" matrix_bridge_mautrix_signal_container_labels_metrics_traefik_entrypoints: "{{ matrix_bridge_mautrix_signal_container_labels_traefik_entrypoints }}"
matrix_mautrix_signal_container_labels_metrics_traefik_tls: "{{ matrix_mautrix_signal_container_labels_metrics_traefik_entrypoints != 'web' }}" matrix_bridge_mautrix_signal_container_labels_metrics_traefik_tls: "{{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_entrypoints != 'web' }}"
matrix_mautrix_signal_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_mautrix_signal_container_labels_traefik_tls_certResolver }}" # noqa var-naming matrix_bridge_mautrix_signal_container_labels_metrics_traefik_tls_certResolver: "{{ matrix_bridge_mautrix_signal_container_labels_traefik_tls_certResolver }}" # noqa var-naming
matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled: false matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled: false
# See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users # See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users
matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_users: '' matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_users: ''
# Controls whether labels will be added that expose mautrix-signal's HTTP API # Controls whether labels will be added that expose mautrix-signal's HTTP API
# (used by tools like mautrix-manager for bridge login) at `https://<hostname><path_prefix>`. # (used by tools like mautrix-manager for bridge login) at `https://<hostname><path_prefix>`.
matrix_mautrix_signal_container_labels_exposure_enabled: "{{ matrix_mautrix_signal_exposure_enabled }}" matrix_bridge_mautrix_signal_container_labels_exposure_enabled: "{{ matrix_bridge_mautrix_signal_exposure_enabled }}"
matrix_mautrix_signal_container_labels_exposure_traefik_rule: "Host(`{{ matrix_mautrix_signal_exposure_hostname }}`) && PathPrefix(`{{ matrix_mautrix_signal_exposure_path_prefix }}`)" matrix_bridge_mautrix_signal_container_labels_exposure_traefik_rule: "Host(`{{ matrix_bridge_mautrix_signal_exposure_hostname }}`) && PathPrefix(`{{ matrix_bridge_mautrix_signal_exposure_path_prefix }}`)"
matrix_mautrix_signal_container_labels_exposure_traefik_priority: 0 matrix_bridge_mautrix_signal_container_labels_exposure_traefik_priority: 0
matrix_mautrix_signal_container_labels_exposure_traefik_entrypoints: "{{ matrix_mautrix_signal_container_labels_traefik_entrypoints }}" matrix_bridge_mautrix_signal_container_labels_exposure_traefik_entrypoints: "{{ matrix_bridge_mautrix_signal_container_labels_traefik_entrypoints }}"
matrix_mautrix_signal_container_labels_exposure_traefik_tls: "{{ matrix_mautrix_signal_container_labels_exposure_traefik_entrypoints != 'web' }}" matrix_bridge_mautrix_signal_container_labels_exposure_traefik_tls: "{{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_entrypoints != 'web' }}"
matrix_mautrix_signal_container_labels_exposure_traefik_tls_certResolver: "{{ matrix_mautrix_signal_container_labels_traefik_tls_certResolver }}" # noqa var-naming matrix_bridge_mautrix_signal_container_labels_exposure_traefik_tls_certResolver: "{{ matrix_bridge_mautrix_signal_container_labels_traefik_tls_certResolver }}" # noqa var-naming
# matrix_mautrix_signal_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. # matrix_bridge_mautrix_signal_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file.
# See `../templates/labels.j2` for details. # See `../templates/labels.j2` for details.
# #
# Example: # Example:
# matrix_mautrix_signal_container_labels_additional_labels: | # matrix_bridge_mautrix_signal_container_labels_additional_labels: |
# my.label=1 # my.label=1
# another.label="here" # another.label="here"
matrix_mautrix_signal_container_labels_additional_labels: '' matrix_bridge_mautrix_signal_container_labels_additional_labels: ''
# A list of extra arguments to pass to the container # A list of extra arguments to pass to the container
matrix_mautrix_signal_container_extra_arguments: [] matrix_bridge_mautrix_signal_container_extra_arguments: []
# List of systemd services that matrix-mautrix-signal.service depends on. # List of systemd services that matrix-mautrix-signal.service depends on.
matrix_mautrix_signal_systemd_required_services_list: "{{ matrix_mautrix_signal_systemd_required_services_list_default + matrix_mautrix_signal_systemd_required_services_list_auto + matrix_mautrix_signal_systemd_required_services_list_custom }}" matrix_bridge_mautrix_signal_systemd_required_services_list: "{{ matrix_bridge_mautrix_signal_systemd_required_services_list_default + matrix_bridge_mautrix_signal_systemd_required_services_list_auto + matrix_bridge_mautrix_signal_systemd_required_services_list_custom }}"
matrix_mautrix_signal_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" matrix_bridge_mautrix_signal_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}"
matrix_mautrix_signal_systemd_required_services_list_auto: [] matrix_bridge_mautrix_signal_systemd_required_services_list_auto: []
matrix_mautrix_signal_systemd_required_services_list_custom: [] matrix_bridge_mautrix_signal_systemd_required_services_list_custom: []
# List of systemd services that matrix-mautrix-signal.service wants # List of systemd services that matrix-mautrix-signal.service wants
matrix_mautrix_signal_systemd_wanted_services_list: [] matrix_bridge_mautrix_signal_systemd_wanted_services_list: []
matrix_mautrix_signal_appservice_token: '' matrix_bridge_mautrix_signal_appservice_token: ''
matrix_mautrix_signal_homeserver_token: '' matrix_bridge_mautrix_signal_homeserver_token: ''
matrix_mautrix_signal_appservice_bot_username: signalbot matrix_bridge_mautrix_signal_appservice_bot_username: signalbot
# Minimum severity of journal log messages. # Minimum severity of journal log messages.
# Valid values: fatal, error, warn, info, debug, trace # Valid values: fatal, error, warn, info, debug, trace
matrix_mautrix_signal_logging_level: 'warn' matrix_bridge_mautrix_signal_logging_level: 'warn'
# Whether or not created rooms should have federation enabled. # Whether or not created rooms should have federation enabled.
# If false, created portal rooms will never be federated. # If false, created portal rooms will never be federated.
matrix_mautrix_signal_federate_rooms: true matrix_bridge_mautrix_signal_federate_rooms: true
matrix_mautrix_signal_backfill_enabled: true matrix_bridge_mautrix_signal_backfill_enabled: true
matrix_mautrix_signal_backfill_max_initial_messages: 50 matrix_bridge_mautrix_signal_backfill_max_initial_messages: 50
matrix_mautrix_signal_backfill_max_catchup_messages: 500 matrix_bridge_mautrix_signal_backfill_max_catchup_messages: 500
matrix_mautrix_signal_backfill_unread_hours_threshold: 720 matrix_bridge_mautrix_signal_backfill_unread_hours_threshold: 720
matrix_mautrix_signal_backfill_threads_max_initial_messages: 50 matrix_bridge_mautrix_signal_backfill_threads_max_initial_messages: 50
# Whether or not metrics endpoint should be enabled. # Whether or not metrics endpoint should be enabled.
# Enabling them is usually enough for a local (in-container) Prometheus to consume them. # Enabling them is usually enough for a local (in-container) Prometheus to consume them.
# If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_mautrix_signal_metrics_proxying_enabled`. # If metrics need to be consumed by another (external) Prometheus server, consider exposing them via `matrix_bridge_mautrix_signal_metrics_proxying_enabled`.
matrix_mautrix_signal_metrics_enabled: false matrix_bridge_mautrix_signal_metrics_enabled: false
# Controls whether metrics should be exposed on a public URL. # Controls whether metrics should be exposed on a public URL.
matrix_mautrix_signal_metrics_proxying_enabled: false matrix_bridge_mautrix_signal_metrics_proxying_enabled: false
matrix_mautrix_signal_metrics_proxying_hostname: '' matrix_bridge_mautrix_signal_metrics_proxying_hostname: ''
matrix_mautrix_signal_metrics_proxying_path_prefix: '' matrix_bridge_mautrix_signal_metrics_proxying_path_prefix: ''
# Controls whether mautrix-signal's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login). # Controls whether mautrix-signal's HTTP API is exposed publicly (used by tools like mautrix-manager for bridge login).
matrix_mautrix_signal_exposure_enabled: false matrix_bridge_mautrix_signal_exposure_enabled: false
matrix_mautrix_signal_exposure_hostname: '' matrix_bridge_mautrix_signal_exposure_hostname: ''
matrix_mautrix_signal_exposure_path_prefix: '' matrix_bridge_mautrix_signal_exposure_path_prefix: ''
# Database-related configuration fields. # Database-related configuration fields.
# #
# To use SQLite, stick to these defaults. # To use SQLite, stick to these defaults.
# #
# To use Postgres: # To use Postgres:
# - change the engine (`matrix_mautrix_signal_database_engine: 'postgres'`) # - change the engine (`matrix_bridge_mautrix_signal_database_engine: 'postgres'`)
# - adjust your database credentials via the `matrix_mautrix_signal_database_*` variables # - adjust your database credentials via the `matrix_bridge_mautrix_signal_database_*` variables
matrix_mautrix_signal_database_engine: 'sqlite' matrix_bridge_mautrix_signal_database_engine: 'sqlite'
matrix_mautrix_signal_sqlite_database_path_local: "{{ matrix_mautrix_signal_data_path }}/mautrix-signal.db" matrix_bridge_mautrix_signal_sqlite_database_path_local: "{{ matrix_bridge_mautrix_signal_data_path }}/mautrix-signal.db"
matrix_mautrix_signal_sqlite_database_path_in_container: "/data/mautrix-signal.db?_txlock=immediate" matrix_bridge_mautrix_signal_sqlite_database_path_in_container: "/data/mautrix-signal.db?_txlock=immediate"
matrix_mautrix_signal_database_username: 'matrix_mautrix_signal' matrix_bridge_mautrix_signal_database_username: 'matrix_mautrix_signal'
matrix_mautrix_signal_database_password: 'some-password' matrix_bridge_mautrix_signal_database_password: 'some-password'
matrix_mautrix_signal_database_hostname: '' matrix_bridge_mautrix_signal_database_hostname: ''
matrix_mautrix_signal_database_port: 5432 matrix_bridge_mautrix_signal_database_port: 5432
matrix_mautrix_signal_database_name: 'matrix_mautrix_signal' matrix_bridge_mautrix_signal_database_name: 'matrix_mautrix_signal'
matrix_mautrix_signal_database_sslmode: disable matrix_bridge_mautrix_signal_database_sslmode: disable
matrix_mautrix_signal_database_connection_string: 'postgresql://{{ matrix_mautrix_signal_database_username }}:{{ matrix_mautrix_signal_database_password }}@{{ matrix_mautrix_signal_database_hostname }}:{{ matrix_mautrix_signal_database_port }}/{{ matrix_mautrix_signal_database_name }}?sslmode={{ matrix_mautrix_signal_database_sslmode }}' matrix_bridge_mautrix_signal_database_connection_string: 'postgresql://{{ matrix_bridge_mautrix_signal_database_username }}:{{ matrix_bridge_mautrix_signal_database_password }}@{{ matrix_bridge_mautrix_signal_database_hostname }}:{{ matrix_bridge_mautrix_signal_database_port }}/{{ matrix_bridge_mautrix_signal_database_name }}?sslmode={{ matrix_bridge_mautrix_signal_database_sslmode }}'
matrix_mautrix_signal_appservice_database_type: "{{ { matrix_bridge_mautrix_signal_appservice_database_type: "{{ {
'sqlite': 'sqlite3-fk-wal', 'sqlite': 'sqlite3-fk-wal',
'postgres': 'postgres', 'postgres': 'postgres',
}[matrix_mautrix_signal_database_engine] }}" }[matrix_bridge_mautrix_signal_database_engine] }}"
matrix_mautrix_signal_appservice_database_uri: "{{ { matrix_bridge_mautrix_signal_appservice_database_uri: "{{ {
'sqlite': matrix_mautrix_signal_sqlite_database_path_in_container, 'sqlite': matrix_bridge_mautrix_signal_sqlite_database_path_in_container,
'postgres': matrix_mautrix_signal_database_connection_string, 'postgres': matrix_bridge_mautrix_signal_database_connection_string,
}[matrix_mautrix_signal_database_engine] }}" }[matrix_bridge_mautrix_signal_database_engine] }}"
matrix_mautrix_signal_double_puppet_secrets: "{{ matrix_mautrix_signal_double_puppet_secrets_auto | combine(matrix_mautrix_signal_double_puppet_secrets_custom) }}" matrix_bridge_mautrix_signal_double_puppet_secrets: "{{ matrix_bridge_mautrix_signal_double_puppet_secrets_auto | combine(matrix_bridge_mautrix_signal_double_puppet_secrets_custom) }}"
matrix_mautrix_signal_double_puppet_secrets_auto: {} matrix_bridge_mautrix_signal_double_puppet_secrets_auto: {}
matrix_mautrix_signal_double_puppet_secrets_custom: {} matrix_bridge_mautrix_signal_double_puppet_secrets_custom: {}
# Default mautrix-signal configuration template which covers the generic use case. # Default mautrix-signal configuration template which covers the generic use case.
# You can customize it by controlling the various variables inside it. # You can customize it by controlling the various variables inside it.
# #
# For a more advanced customization, you can extend the default (see `matrix_mautrix_signal_configuration_extension_yaml`) # For a more advanced customization, you can extend the default (see `matrix_bridge_mautrix_signal_configuration_extension_yaml`)
# or completely replace this variable with your own template. # or completely replace this variable with your own template.
matrix_mautrix_signal_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" matrix_bridge_mautrix_signal_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}"
matrix_mautrix_signal_configuration_extension_yaml: | matrix_bridge_mautrix_signal_configuration_extension_yaml: |
# Your custom YAML configuration goes here. # Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_mautrix_signal_configuration_yaml`). # This configuration extends the default starting configuration (`matrix_bridge_mautrix_signal_configuration_yaml`).
# #
# You can override individual variables from the default configuration, or introduce new ones. # You can override individual variables from the default configuration, or introduce new ones.
# #
# If you need something more special, you can take full control by # If you need something more special, you can take full control by
# completely redefining `matrix_mautrix_signal_configuration_yaml`. # completely redefining `matrix_bridge_mautrix_signal_configuration_yaml`.
matrix_mautrix_signal_configuration_extension: "{{ matrix_mautrix_signal_configuration_extension_yaml | from_yaml if matrix_mautrix_signal_configuration_extension_yaml | from_yaml is mapping else {} }}" matrix_bridge_mautrix_signal_configuration_extension: "{{ matrix_bridge_mautrix_signal_configuration_extension_yaml | from_yaml if matrix_bridge_mautrix_signal_configuration_extension_yaml | from_yaml is mapping else {} }}"
# Holds the final configuration (a combination of the default and its extension). # Holds the final configuration (a combination of the default and its extension).
# You most likely don't need to touch this variable. Instead, see `matrix_mautrix_signal_configuration_yaml`. # You most likely don't need to touch this variable. Instead, see `matrix_bridge_mautrix_signal_configuration_yaml`.
matrix_mautrix_signal_configuration: "{{ matrix_mautrix_signal_configuration_yaml | from_yaml | combine(matrix_mautrix_signal_configuration_extension, recursive=True) }}" matrix_bridge_mautrix_signal_configuration: "{{ matrix_bridge_mautrix_signal_configuration_yaml | from_yaml | combine(matrix_bridge_mautrix_signal_configuration_extension, recursive=True) }}"
matrix_mautrix_signal_registration_yaml: | matrix_bridge_mautrix_signal_registration_yaml: |
id: signal id: signal
url: {{ matrix_mautrix_signal_appservice_address }} url: {{ matrix_bridge_mautrix_signal_appservice_address }}
as_token: "{{ matrix_mautrix_signal_appservice_token }}" as_token: "{{ matrix_bridge_mautrix_signal_appservice_token }}"
hs_token: "{{ matrix_mautrix_signal_homeserver_token }}" hs_token: "{{ matrix_bridge_mautrix_signal_homeserver_token }}"
# See https://github.com/mautrix/signal/issues/43 # See https://github.com/mautrix/signal/issues/43
sender_localpart: _bot_{{ matrix_mautrix_signal_appservice_bot_username }} sender_localpart: _bot_{{ matrix_bridge_mautrix_signal_appservice_bot_username }}
rate_limited: false rate_limited: false
namespaces: namespaces:
users: users:
- regex: '^@signal_[-a-f0-9]+:{{ matrix_mautrix_signal_homeserver_domain | regex_escape }}$' - regex: '^@signal_[-a-f0-9]+:{{ matrix_bridge_mautrix_signal_homeserver_domain | regex_escape }}$'
exclusive: true exclusive: true
- exclusive: true - exclusive: true
regex: '^@{{ matrix_mautrix_signal_appservice_bot_username | regex_escape }}:{{ matrix_mautrix_signal_homeserver_domain | regex_escape }}$' regex: '^@{{ matrix_bridge_mautrix_signal_appservice_bot_username | regex_escape }}:{{ matrix_bridge_mautrix_signal_homeserver_domain | regex_escape }}$'
de.sorunome.msc2409.push_ephemeral: true de.sorunome.msc2409.push_ephemeral: true
receive_ephemeral: true receive_ephemeral: true
io.element.msc4190: {{ matrix_mautrix_signal_msc4190_enabled | to_json }} io.element.msc4190: {{ matrix_bridge_mautrix_signal_msc4190_enabled | to_json }}
matrix_mautrix_signal_registration: "{{ matrix_mautrix_signal_registration_yaml | from_yaml }}" matrix_bridge_mautrix_signal_registration: "{{ matrix_bridge_mautrix_signal_registration_yaml | from_yaml }}"
# Enable End-to-bridge encryption # Enable End-to-bridge encryption
matrix_mautrix_signal_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" matrix_bridge_mautrix_signal_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}"
matrix_mautrix_signal_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" matrix_bridge_mautrix_signal_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}"
matrix_mautrix_signal_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix_signal_bridge_encryption_allow }}" matrix_bridge_mautrix_signal_bridge_encryption_key_sharing_allow: "{{ matrix_bridge_mautrix_signal_bridge_encryption_allow }}"
matrix_mautrix_signal_bridge_personal_filtering_spaces: true matrix_bridge_mautrix_signal_bridge_personal_filtering_spaces: true
matrix_mautrix_signal_network_note_to_self_avatar: "mxc://maunium.net/REBIVrqjZwmaWpssCZpBlmlL" matrix_bridge_mautrix_signal_network_note_to_self_avatar: "mxc://maunium.net/REBIVrqjZwmaWpssCZpBlmlL"
matrix_mautrix_signal_provisioning_shared_secret: '' matrix_bridge_mautrix_signal_provisioning_shared_secret: ''
matrix_mautrix_signal_public_media_signing_key: '' matrix_bridge_mautrix_signal_public_media_signing_key: ''
# matrix_mautrix_signal_restart_necessary controls whether the service # matrix_bridge_mautrix_signal_restart_necessary controls whether the service
# will be restarted (when true) or merely started (when false) by the # will be restarted (when true) or merely started (when false) by the
# systemd service manager role (when conditional restart is enabled). # systemd service manager role (when conditional restart is enabled).
# #
@@ -268,4 +268,4 @@ matrix_mautrix_signal_public_media_signing_key: ''
# any configuration files, the systemd service file, or the container image changed. # any configuration files, the systemd service file, or the container image changed.
# The default of `false` means "no restart needed" — appropriate when the role's # The default of `false` means "no restart needed" — appropriate when the role's
# installation tasks haven't run (e.g., due to --tags skipping them). # installation tasks haven't run (e.g., due to --tags skipping them).
matrix_mautrix_signal_restart_necessary: false matrix_bridge_mautrix_signal_restart_necessary: false
@@ -22,15 +22,15 @@
- install-all - install-all
- install-mautrix-signal - install-mautrix-signal
block: block:
- when: matrix_mautrix_signal_enabled | bool - when: matrix_bridge_mautrix_signal_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml"
- when: matrix_mautrix_signal_enabled | bool - when: matrix_bridge_mautrix_signal_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml"
- tags: - tags:
- setup-all - setup-all
- setup-mautrix-signal - setup-mautrix-signal
block: block:
- when: not matrix_mautrix_signal_enabled | bool - when: not matrix_bridge_mautrix_signal_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml"
@@ -8,9 +8,9 @@
- name: Check existence of matrix-mautrix-signal-daemon service - name: Check existence of matrix-mautrix-signal-daemon service
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal-daemon.service" path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal-daemon.service"
register: matrix_mautrix_signal_daemon_service_stat register: matrix_bridge_mautrix_signal_daemon_service_stat
- when: matrix_mautrix_signal_daemon_service_stat.stat.exists | bool - when: matrix_bridge_mautrix_signal_daemon_service_stat.stat.exists | bool
block: block:
- name: Ensure matrix-mautrix-signal-daemon is stopped - name: Ensure matrix-mautrix-signal-daemon is stopped
ansible.builtin.service: ansible.builtin.service:
@@ -13,32 +13,32 @@
--- ---
- ansible.builtin.set_fact: - ansible.builtin.set_fact:
matrix_mautrix_signal_migration_requires_restart: false matrix_bridge_mautrix_signal_migration_requires_restart: false
- when: "matrix_mautrix_signal_database_engine == 'postgres'" - when: "matrix_bridge_mautrix_signal_database_engine == 'postgres'"
block: block:
- name: Check if an SQLite database already exists - name: Check if an SQLite database already exists
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ matrix_mautrix_signal_sqlite_database_path_local }}" path: "{{ matrix_bridge_mautrix_signal_sqlite_database_path_local }}"
register: matrix_mautrix_signal_sqlite_database_path_local_stat_result register: matrix_bridge_mautrix_signal_sqlite_database_path_local_stat_result
- when: "matrix_mautrix_signal_sqlite_database_path_local_stat_result.stat.exists | bool" - when: "matrix_bridge_mautrix_signal_sqlite_database_path_local_stat_result.stat.exists | bool"
block: block:
- ansible.builtin.include_role: - ansible.builtin.include_role:
name: galaxy/postgres name: galaxy/postgres
tasks_from: migrate_db_to_postgres tasks_from: migrate_db_to_postgres
vars: vars:
postgres_db_migration_request: postgres_db_migration_request:
src: "{{ matrix_mautrix_signal_sqlite_database_path_local }}" src: "{{ matrix_bridge_mautrix_signal_sqlite_database_path_local }}"
dst: "{{ matrix_mautrix_signal_database_connection_string }}" dst: "{{ matrix_bridge_mautrix_signal_database_connection_string }}"
caller: "{{ role_path | basename }}" caller: "{{ role_path | basename }}"
engine_variable_name: 'matrix_mautrix_signal_database_engine' engine_variable_name: 'matrix_bridge_mautrix_signal_database_engine'
engine_old: 'sqlite' engine_old: 'sqlite'
systemd_services_to_stop: ['matrix-mautrix-signal.service'] systemd_services_to_stop: ['matrix-mautrix-signal.service']
pgloader_options: ['--with "quote identifiers"'] pgloader_options: ['--with "quote identifiers"']
- ansible.builtin.set_fact: - ansible.builtin.set_fact:
matrix_mautrix_signal_migration_requires_restart: true matrix_bridge_mautrix_signal_migration_requires_restart: true
- name: Ensure Mautrix signal paths exists - name: Ensure Mautrix signal paths exists
ansible.builtin.file: ansible.builtin.file:
@@ -48,52 +48,52 @@
owner: "{{ matrix_user_name }}" owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}" group: "{{ matrix_group_name }}"
with_items: with_items:
- {path: "{{ matrix_mautrix_signal_base_path }}", when: true} - {path: "{{ matrix_bridge_mautrix_signal_base_path }}", when: true}
- {path: "{{ matrix_mautrix_signal_config_path }}", when: true} - {path: "{{ matrix_bridge_mautrix_signal_config_path }}", when: true}
- {path: "{{ matrix_mautrix_signal_data_path }}", when: true} - {path: "{{ matrix_bridge_mautrix_signal_data_path }}", when: true}
- {path: "{{ matrix_mautrix_signal_container_src_files_path }}", when: "{{ matrix_mautrix_signal_container_image_self_build }}"} - {path: "{{ matrix_bridge_mautrix_signal_container_src_files_path }}", when: "{{ matrix_bridge_mautrix_signal_container_image_self_build }}"}
when: item.when | bool when: item.when | bool
- name: Ensure Mautrix signal image is pulled - name: Ensure Mautrix signal image is pulled
community.docker.docker_image_pull: community.docker.docker_image_pull:
name: "{{ matrix_mautrix_signal_container_image }}" name: "{{ matrix_bridge_mautrix_signal_container_image }}"
pull: always pull: always
when: not matrix_mautrix_signal_container_image_self_build when: not matrix_bridge_mautrix_signal_container_image_self_build
register: matrix_mautrix_signal_container_image_pull_result register: matrix_bridge_mautrix_signal_container_image_pull_result
retries: "{{ devture_playbook_help_container_retries_count }}" retries: "{{ devture_playbook_help_container_retries_count }}"
delay: "{{ devture_playbook_help_container_retries_delay }}" delay: "{{ devture_playbook_help_container_retries_delay }}"
until: matrix_mautrix_signal_container_image_pull_result is not failed until: matrix_bridge_mautrix_signal_container_image_pull_result is not failed
- name: Ensure Mautrix signal repository is present on self-build - name: Ensure Mautrix signal repository is present on self-build
ansible.builtin.git: ansible.builtin.git:
repo: "{{ matrix_mautrix_signal_container_image_self_build_repo }}" repo: "{{ matrix_bridge_mautrix_signal_container_image_self_build_repo }}"
dest: "{{ matrix_mautrix_signal_container_src_files_path }}" dest: "{{ matrix_bridge_mautrix_signal_container_src_files_path }}"
version: "{{ matrix_mautrix_signal_container_image_self_build_branch }}" version: "{{ matrix_bridge_mautrix_signal_container_image_self_build_branch }}"
force: "yes" force: "yes"
become: true become: true
become_user: "{{ matrix_user_name }}" become_user: "{{ matrix_user_name }}"
register: matrix_mautrix_signal_git_pull_results register: matrix_bridge_mautrix_signal_git_pull_results
when: "matrix_mautrix_signal_container_image_self_build | bool" when: "matrix_bridge_mautrix_signal_container_image_self_build | bool"
- name: Ensure Mautrix signal Docker image is built - name: Ensure Mautrix signal Docker image is built
community.docker.docker_image_build: community.docker.docker_image_build:
name: "{{ matrix_mautrix_signal_container_image }}" name: "{{ matrix_bridge_mautrix_signal_container_image }}"
dockerfile: Dockerfile dockerfile: Dockerfile
path: "{{ matrix_mautrix_signal_container_src_files_path }}" path: "{{ matrix_bridge_mautrix_signal_container_src_files_path }}"
pull: true pull: true
rebuild: "{{ 'always' if matrix_mautrix_signal_git_pull_results.changed | bool else 'never' }}" rebuild: "{{ 'always' if matrix_bridge_mautrix_signal_git_pull_results.changed | bool else 'never' }}"
when: "matrix_mautrix_signal_container_image_self_build | bool" when: "matrix_bridge_mautrix_signal_container_image_self_build | bool"
register: matrix_mautrix_signal_container_image_build_result register: matrix_bridge_mautrix_signal_container_image_build_result
- name: Check if an old database file exists - name: Check if an old database file exists
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ matrix_mautrix_signal_base_path }}/mautrix-signal.db" path: "{{ matrix_bridge_mautrix_signal_base_path }}/mautrix-signal.db"
register: matrix_mautrix_signal_stat_database register: matrix_bridge_mautrix_signal_stat_database
- name: Check if an old Matrix state file exists - name: Check if an old Matrix state file exists
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ matrix_mautrix_signal_base_path }}/mx-state.json" path: "{{ matrix_bridge_mautrix_signal_base_path }}/mx-state.json"
register: matrix_mautrix_signal_stat_mx_state register: matrix_bridge_mautrix_signal_stat_mx_state
- name: (Data relocation) Ensure matrix-mautrix-signal.service is stopped - name: (Data relocation) Ensure matrix-mautrix-signal.service is stopped
ansible.builtin.service: ansible.builtin.service:
@@ -102,56 +102,56 @@
enabled: false enabled: false
daemon_reload: true daemon_reload: true
failed_when: false failed_when: false
when: "matrix_mautrix_signal_stat_database.stat.exists" when: "matrix_bridge_mautrix_signal_stat_database.stat.exists"
- name: (Data relocation) Move mautrix-signal database file to ./data directory - name: (Data relocation) Move mautrix-signal database file to ./data directory
ansible.builtin.command: ansible.builtin.command:
cmd: "mv {{ matrix_mautrix_signal_base_path }}/mautrix-signal.db {{ matrix_mautrix_signal_data_path }}/mautrix-signal.db" cmd: "mv {{ matrix_bridge_mautrix_signal_base_path }}/mautrix-signal.db {{ matrix_bridge_mautrix_signal_data_path }}/mautrix-signal.db"
creates: "{{ matrix_mautrix_signal_data_path }}/mautrix-signal.db" creates: "{{ matrix_bridge_mautrix_signal_data_path }}/mautrix-signal.db"
removes: "{{ matrix_mautrix_signal_base_path }}/mautrix-signal.db" removes: "{{ matrix_bridge_mautrix_signal_base_path }}/mautrix-signal.db"
when: "matrix_mautrix_signal_stat_database.stat.exists" when: "matrix_bridge_mautrix_signal_stat_database.stat.exists"
- name: (Data relocation) Move mautrix-signal mx-state file to ./data directory - name: (Data relocation) Move mautrix-signal mx-state file to ./data directory
ansible.builtin.command: ansible.builtin.command:
cmd: "mv {{ matrix_mautrix_signal_base_path }}/mx-state.json {{ matrix_mautrix_signal_data_path }}/mx-state.json" cmd: "mv {{ matrix_bridge_mautrix_signal_base_path }}/mx-state.json {{ matrix_bridge_mautrix_signal_data_path }}/mx-state.json"
creates: "{{ matrix_mautrix_signal_data_path }}/mx-state.json" creates: "{{ matrix_bridge_mautrix_signal_data_path }}/mx-state.json"
removes: "{{ matrix_mautrix_signal_base_path }}/mx-state.json" removes: "{{ matrix_bridge_mautrix_signal_base_path }}/mx-state.json"
when: "matrix_mautrix_signal_stat_mx_state.stat.exists" when: "matrix_bridge_mautrix_signal_stat_mx_state.stat.exists"
- name: Ensure mautrix-signal config.yaml installed - name: Ensure mautrix-signal config.yaml installed
ansible.builtin.copy: ansible.builtin.copy:
content: "{{ matrix_mautrix_signal_configuration | to_nice_yaml(indent=2, width=999999) }}" content: "{{ matrix_bridge_mautrix_signal_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_mautrix_signal_config_path }}/config.yaml" dest: "{{ matrix_bridge_mautrix_signal_config_path }}/config.yaml"
mode: '0644' mode: '0644'
owner: "{{ matrix_user_name }}" owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}" group: "{{ matrix_group_name }}"
register: matrix_mautrix_signal_config_result register: matrix_bridge_mautrix_signal_config_result
- name: Ensure mautrix-signal registration.yaml installed - name: Ensure mautrix-signal registration.yaml installed
ansible.builtin.copy: ansible.builtin.copy:
content: "{{ matrix_mautrix_signal_registration | to_nice_yaml(indent=2, width=999999) }}" content: "{{ matrix_bridge_mautrix_signal_registration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_mautrix_signal_config_path }}/registration.yaml" dest: "{{ matrix_bridge_mautrix_signal_config_path }}/registration.yaml"
mode: '0644' mode: '0644'
owner: "{{ matrix_user_name }}" owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}" group: "{{ matrix_group_name }}"
register: matrix_mautrix_signal_registration_result register: matrix_bridge_mautrix_signal_registration_result
- name: Ensure mautrix-signal support files installed - name: Ensure mautrix-signal support files installed
ansible.builtin.template: ansible.builtin.template:
src: "{{ role_path }}/templates/{{ item }}.j2" src: "{{ role_path }}/templates/{{ item }}.j2"
dest: "{{ matrix_mautrix_signal_base_path }}/{{ item }}" dest: "{{ matrix_bridge_mautrix_signal_base_path }}/{{ item }}"
mode: '0640' mode: '0640'
owner: "{{ matrix_user_name }}" owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}" group: "{{ matrix_group_name }}"
with_items: with_items:
- labels - labels
register: matrix_mautrix_signal_support_files_result register: matrix_bridge_mautrix_signal_support_files_result
- name: Ensure matrix-mautrix-signal container network is created - name: Ensure matrix-mautrix-signal container network is created
when: matrix_mautrix_signal_container_network != 'host' when: matrix_bridge_mautrix_signal_container_network != 'host'
community.general.docker_network: community.general.docker_network:
enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}"
name: "{{ matrix_mautrix_signal_container_network }}" name: "{{ matrix_bridge_mautrix_signal_container_network }}"
driver: bridge driver: bridge
driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}"
@@ -160,19 +160,19 @@
src: "{{ role_path }}/templates/systemd/matrix-mautrix-signal.service.j2" src: "{{ role_path }}/templates/systemd/matrix-mautrix-signal.service.j2"
dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal.service" dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal.service"
mode: '0644' mode: '0644'
register: matrix_mautrix_signal_systemd_service_result register: matrix_bridge_mautrix_signal_systemd_service_result
- name: Determine whether matrix-mautrix-signal needs a restart - name: Determine whether matrix-mautrix-signal needs a restart
ansible.builtin.set_fact: ansible.builtin.set_fact:
matrix_mautrix_signal_restart_necessary: >- matrix_bridge_mautrix_signal_restart_necessary: >-
{{ {{
matrix_mautrix_signal_migration_requires_restart | default(false) matrix_bridge_mautrix_signal_migration_requires_restart | default(false)
or matrix_mautrix_signal_config_result.changed | default(false) or matrix_bridge_mautrix_signal_config_result.changed | default(false)
or matrix_mautrix_signal_registration_result.changed | default(false) or matrix_bridge_mautrix_signal_registration_result.changed | default(false)
or matrix_mautrix_signal_support_files_result.changed | default(false) or matrix_bridge_mautrix_signal_support_files_result.changed | default(false)
or matrix_mautrix_signal_systemd_service_result.changed | default(false) or matrix_bridge_mautrix_signal_systemd_service_result.changed | default(false)
or matrix_mautrix_signal_container_image_pull_result.changed | default(false) or matrix_bridge_mautrix_signal_container_image_pull_result.changed | default(false)
or matrix_mautrix_signal_container_image_build_result.changed | default(false) or matrix_bridge_mautrix_signal_container_image_build_result.changed | default(false)
}} }}
- name: Ensure matrix-mautrix-signal.service restarted, if necessary - name: Ensure matrix-mautrix-signal.service restarted, if necessary
@@ -180,4 +180,4 @@
name: "matrix-mautrix-signal.service" name: "matrix-mautrix-signal.service"
state: restarted state: restarted
daemon_reload: true daemon_reload: true
when: "matrix_mautrix_signal_migration_requires_restart | bool" when: "matrix_bridge_mautrix_signal_migration_requires_restart | bool"
@@ -11,9 +11,9 @@
- name: Check existence of matrix-mautrix-signal service - name: Check existence of matrix-mautrix-signal service
ansible.builtin.stat: ansible.builtin.stat:
path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal.service" path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-mautrix-signal.service"
register: matrix_mautrix_signal_service_stat register: matrix_bridge_mautrix_signal_service_stat
- when: matrix_mautrix_signal_service_stat.stat.exists | bool - when: matrix_bridge_mautrix_signal_service_stat.stat.exists | bool
block: block:
- name: Ensure matrix-mautrix-signal is stopped - name: Ensure matrix-mautrix-signal is stopped
ansible.builtin.service: ansible.builtin.service:
@@ -15,21 +15,21 @@
Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml).
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items: with_items:
- {'old': 'matrix_mautrix_signal_log_level', 'new': 'matrix_mautrix_signal_logging_level'} - {'old': 'matrix_bridge_mautrix_signal_log_level', 'new': 'matrix_bridge_mautrix_signal_logging_level'}
- {'old': 'matrix_mautrix_signal_bridge_restricted_rooms', 'new': '<removed>'} - {'old': 'matrix_bridge_mautrix_signal_bridge_restricted_rooms', 'new': '<removed>'}
- {'old': 'matrix_mautrix_signal_bridge_note_to_self_avatar', 'new': 'matrix_mautrix_signal_network_note_to_self_avatar'} - {'old': 'matrix_bridge_mautrix_signal_bridge_note_to_self_avatar', 'new': 'matrix_bridge_mautrix_signal_network_note_to_self_avatar'}
- {'old': 'matrix_mautrix_signal_login_shared_secret', 'new': '<removed>'} - {'old': 'matrix_bridge_mautrix_signal_login_shared_secret', 'new': '<removed>'}
- {'old': 'matrix_mautrix_signal_bridge_login_shared_secret_map', 'new': '<superseded by matrix_mautrix_signal_double_puppet_secrets>'} - {'old': 'matrix_bridge_mautrix_signal_bridge_login_shared_secret_map', 'new': '<superseded by matrix_bridge_mautrix_signal_double_puppet_secrets>'}
- {'old': 'matrix_mautrix_signal_bridge_double_puppet_server_map', 'new': '<removed>'} - {'old': 'matrix_bridge_mautrix_signal_bridge_double_puppet_server_map', 'new': '<removed>'}
- {'old': 'matrix_mautrix_signal_docker_image_name_prefix', 'new': 'matrix_mautrix_signal_container_image_registry_prefix'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_name_prefix', 'new': 'matrix_bridge_mautrix_signal_container_image_registry_prefix'}
- {'old': 'matrix_mautrix_signal_docker_image', 'new': 'matrix_mautrix_signal_container_image'} - {'old': 'matrix_bridge_mautrix_signal_docker_image', 'new': 'matrix_bridge_mautrix_signal_container_image'}
- {'old': 'matrix_mautrix_signal_docker_image_force_pull', 'new': 'matrix_mautrix_signal_container_image_force_pull'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_force_pull', 'new': 'matrix_bridge_mautrix_signal_container_image_force_pull'}
- {'old': 'matrix_mautrix_signal_docker_image_registry_prefix', 'new': 'matrix_mautrix_signal_container_image_registry_prefix'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_registry_prefix', 'new': 'matrix_bridge_mautrix_signal_container_image_registry_prefix'}
- {'old': 'matrix_mautrix_signal_docker_image_registry_prefix_upstream', 'new': 'matrix_mautrix_signal_container_image_registry_prefix_upstream'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_registry_prefix_upstream', 'new': 'matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream'}
- {'old': 'matrix_mautrix_signal_docker_image_registry_prefix_upstream_default', 'new': 'matrix_mautrix_signal_container_image_registry_prefix_upstream_default'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_registry_prefix_upstream_default', 'new': 'matrix_bridge_mautrix_signal_container_image_registry_prefix_upstream_default'}
- {'old': 'matrix_mautrix_signal_docker_image_tag', 'new': 'matrix_mautrix_signal_container_image_tag'} - {'old': 'matrix_bridge_mautrix_signal_docker_image_tag', 'new': 'matrix_bridge_mautrix_signal_container_image_tag'}
- {'old': 'matrix_mautrix_signal_docker_src_files_path', 'new': 'matrix_mautrix_signal_container_src_files_path'} - {'old': 'matrix_bridge_mautrix_signal_docker_src_files_path', 'new': 'matrix_bridge_mautrix_signal_container_src_files_path'}
- {'old': 'matrix_mautrix_signal_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'} - {'old': 'matrix_bridge_mautrix_signal_container_image_force_pull', 'new': '<removed> (the new community.docker.docker_image_pull module handles this natively)'}
- name: Fail if required mautrix-signal settings not defined - name: Fail if required mautrix-signal settings not defined
ansible.builtin.fail: ansible.builtin.fail:
@@ -37,10 +37,10 @@
You need to define a required configuration setting (`{{ item.name }}`). You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items: with_items:
- {'name': 'matrix_mautrix_signal_appservice_token', when: true} - {'name': 'matrix_bridge_mautrix_signal_appservice_token', when: true}
- {'name': 'matrix_mautrix_signal_homeserver_address', when: true} - {'name': 'matrix_bridge_mautrix_signal_homeserver_address', when: true}
- {'name': 'matrix_mautrix_signal_homeserver_token', when: true} - {'name': 'matrix_bridge_mautrix_signal_homeserver_token', when: true}
- {'name': 'matrix_mautrix_signal_database_hostname', when: "{{ matrix_mautrix_signal_database_engine == 'postgres' }}"} - {'name': 'matrix_bridge_mautrix_signal_database_hostname', when: "{{ matrix_bridge_mautrix_signal_database_engine == 'postgres' }}"}
- {'name': 'matrix_mautrix_signal_container_network', when: true} - {'name': 'matrix_bridge_mautrix_signal_container_network', when: true}
- {'name': 'matrix_mautrix_signal_metrics_proxying_hostname', when: "{{ matrix_mautrix_signal_metrics_proxying_enabled }}"} - {'name': 'matrix_bridge_mautrix_signal_metrics_proxying_hostname', when: "{{ matrix_bridge_mautrix_signal_metrics_proxying_enabled }}"}
- {'name': 'matrix_mautrix_signal_metrics_proxying_path_prefix', when: "{{ matrix_mautrix_signal_metrics_proxying_enabled }}"} - {'name': 'matrix_bridge_mautrix_signal_metrics_proxying_path_prefix', when: "{{ matrix_bridge_mautrix_signal_metrics_proxying_enabled }}"}
@@ -2,7 +2,7 @@
# Network-specific config options # Network-specific config options
network: network:
# Displayname template for Signal users. # Displayname template for Signal users.
displayname_template: {{ matrix_mautrix_signal_network_displayname_template | to_json }} displayname_template: {{ matrix_bridge_mautrix_signal_network_displayname_template | to_json }}
# Should avatars from the user's contact list be used? This is not safe on multi-user instances. # Should avatars from the user's contact list be used? This is not safe on multi-user instances.
use_contact_avatars: false use_contact_avatars: false
# Should the bridge request the user's contact list from the phone on startup? # Should the bridge request the user's contact list from the phone on startup?
@@ -14,20 +14,20 @@ network:
# Default device name that shows up in the Signal app. # Default device name that shows up in the Signal app.
device_name: mautrix-signal device_name: mautrix-signal
# Avatar image for the Note to Self room. # Avatar image for the Note to Self room.
note_to_self_avatar: {{ matrix_mautrix_signal_network_note_to_self_avatar | to_json }} note_to_self_avatar: {{ matrix_bridge_mautrix_signal_network_note_to_self_avatar | to_json }}
# Format for generating URLs from location messages for sending to Signal. # Format for generating URLs from location messages for sending to Signal.
# Google Maps: 'https://www.google.com/maps/place/%[1]s,%[2]s' # Google Maps: 'https://www.google.com/maps/place/%[1]s,%[2]s'
# OpenStreetMap: 'https://www.openstreetmap.org/?mlat=%[1]s&mlon=%[2]s' # OpenStreetMap: 'https://www.openstreetmap.org/?mlat=%[1]s&mlon=%[2]s'
location_format: 'https://www.google.com/maps/place/%[1]s,%[2]s' location_format: 'https://www.google.com/maps/place/%[1]s,%[2]s'
# Should polls be sent using unstable MSC3381 event types? # Should polls be sent using unstable MSC3381 event types?
extev_polls: {{ matrix_mautrix_signal_extev_polls | to_json }} extev_polls: {{ matrix_bridge_mautrix_signal_extev_polls | to_json }}
# Config options that affect the central bridge module. # Config options that affect the central bridge module.
bridge: bridge:
# The prefix for commands. Only required in non-management rooms. # The prefix for commands. Only required in non-management rooms.
command_prefix: {{ matrix_mautrix_signal_command_prefix | to_json }} command_prefix: {{ matrix_bridge_mautrix_signal_command_prefix | to_json }}
# Should the bridge create a space for each login containing the rooms that account is in? # Should the bridge create a space for each login containing the rooms that account is in?
personal_filtering_spaces: {{ matrix_mautrix_signal_bridge_personal_filtering_spaces | to_json }} personal_filtering_spaces: {{ matrix_bridge_mautrix_signal_bridge_personal_filtering_spaces | to_json }}
# Whether the bridge should set names and avatars explicitly for DM portals. # Whether the bridge should set names and avatars explicitly for DM portals.
# This is only necessary when using clients that don't support MSC4171. # This is only necessary when using clients that don't support MSC4171.
private_chat_portal_meta: true private_chat_portal_meta: true
@@ -70,10 +70,10 @@ bridge:
relay: relay:
# Whether relay mode should be allowed. If allowed, the set-relay command can be used to turn any # Whether relay mode should be allowed. If allowed, the set-relay command can be used to turn any
# authenticated user into a relaybot for that chat. # authenticated user into a relaybot for that chat.
enabled: {{ matrix_mautrix_signal_bridge_relay_enabled | to_json }} enabled: {{ matrix_bridge_mautrix_signal_bridge_relay_enabled | to_json }}
# Should only admins be allowed to set themselves as relay users? # Should only admins be allowed to set themselves as relay users?
# If true, non-admins can only set users listed in default_relays as relays in a room. # If true, non-admins can only set users listed in default_relays as relays in a room.
admin_only: {{ matrix_mautrix_signal_bridge_relay_admin_only | to_json }} admin_only: {{ matrix_bridge_mautrix_signal_bridge_relay_admin_only | to_json }}
# List of user login IDs which anyone can set as a relay, as long as the relay user is in the room. # List of user login IDs which anyone can set as a relay, as long as the relay user is in the room.
default_relays: [] default_relays: []
# The formats to use when sending messages via the relaybot. # The formats to use when sending messages via the relaybot.
@@ -111,18 +111,18 @@ bridge:
# * - All Matrix users # * - All Matrix users
# domain - All users on that homeserver # domain - All users on that homeserver
# mxid - Specific user # mxid - Specific user
permissions: {{ matrix_mautrix_signal_bridge_permissions | to_json }} permissions: {{ matrix_bridge_mautrix_signal_bridge_permissions | to_json }}
# Config for the bridge's database. # Config for the bridge's database.
database: database:
# The database type. "sqlite3-fk-wal" and "postgres" are supported. # The database type. "sqlite3-fk-wal" and "postgres" are supported.
type: {{ matrix_mautrix_signal_appservice_database_type | to_json }} type: {{ matrix_bridge_mautrix_signal_appservice_database_type | to_json }}
# The database URI. # The database URI.
# SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended. # SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended.
# https://github.com/mattn/go-sqlite3#connection-string # https://github.com/mattn/go-sqlite3#connection-string
# Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
# To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql # To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
uri: {{ matrix_mautrix_signal_appservice_database_uri | to_json }} uri: {{ matrix_bridge_mautrix_signal_appservice_database_uri | to_json }}
# Maximum number of connections. # Maximum number of connections.
max_open_conns: 20 max_open_conns: 20
max_idle_conns: 2 max_idle_conns: 2
@@ -136,9 +136,9 @@ homeserver:
# The address that this appservice can use to connect to the homeserver. # The address that this appservice can use to connect to the homeserver.
# Local addresses without HTTPS are generally recommended when the bridge is running on the same machine, # Local addresses without HTTPS are generally recommended when the bridge is running on the same machine,
# but https also works if they run on different machines. # but https also works if they run on different machines.
address: {{ matrix_mautrix_signal_homeserver_address | to_json }} address: {{ matrix_bridge_mautrix_signal_homeserver_address | to_json }}
# The domain of the homeserver (also known as server_name, used for MXIDs, etc). # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
domain: {{ matrix_mautrix_signal_homeserver_domain | to_json }} domain: {{ matrix_bridge_mautrix_signal_homeserver_domain | to_json }}
# What software is the homeserver running? # What software is the homeserver running?
# Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
@@ -154,7 +154,7 @@ homeserver:
# The bridge will use the appservice as_token to authorize requests. # The bridge will use the appservice as_token to authorize requests.
message_send_checkpoint_endpoint: null message_send_checkpoint_endpoint: null
# Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246? # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246?
async_media: {{ matrix_mautrix_signal_homeserver_async_media | to_json }} async_media: {{ matrix_bridge_mautrix_signal_homeserver_async_media | to_json }}
# Should the bridge use a websocket for connecting to the homeserver? # Should the bridge use a websocket for connecting to the homeserver?
# The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy, # The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy,
@@ -167,11 +167,11 @@ homeserver:
# Changing these values requires regeneration of the registration (except when noted otherwise) # Changing these values requires regeneration of the registration (except when noted otherwise)
appservice: appservice:
# The address that the homeserver can use to connect to this appservice. # The address that the homeserver can use to connect to this appservice.
address: {{ matrix_mautrix_signal_appservice_address | to_json }} address: {{ matrix_bridge_mautrix_signal_appservice_address | to_json }}
# A public address that external services can use to reach this appservice. # A public address that external services can use to reach this appservice.
# This value doesn't affect the registration file. # This value doesn't affect the registration file.
public_address: {{ matrix_mautrix_signal_bridge_public_address | to_json }} public_address: {{ matrix_bridge_mautrix_signal_bridge_public_address | to_json }}
# The hostname and port where this appservice should listen. # The hostname and port where this appservice should listen.
# For Docker, you generally have to change the hostname to 0.0.0.0. # For Docker, you generally have to change the hostname to 0.0.0.0.
@@ -183,7 +183,7 @@ appservice:
# Appservice bot details. # Appservice bot details.
bot: bot:
# Username of the appservice bot. # Username of the appservice bot.
username: {{ matrix_mautrix_signal_appservice_bot_username | to_json }} username: {{ matrix_bridge_mautrix_signal_appservice_bot_username | to_json }}
# Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
# to leave display name/avatar as-is. # to leave display name/avatar as-is.
displayname: signal bridge bot displayname: signal bridge bot
@@ -198,8 +198,8 @@ appservice:
async_transactions: false async_transactions: false
# Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
as_token: {{ matrix_mautrix_signal_appservice_token | to_json }} as_token: {{ matrix_bridge_mautrix_signal_appservice_token | to_json }}
hs_token: {{ matrix_mautrix_signal_homeserver_token | to_json }} hs_token: {{ matrix_bridge_mautrix_signal_homeserver_token | to_json }}
# Localpart template of MXIDs for remote users. # Localpart template of MXIDs for remote users.
# {{ '{{.}}' }} is replaced with the internal ID of the Signal user. # {{ '{{.}}' }} is replaced with the internal ID of the Signal user.
@@ -217,7 +217,7 @@ matrix:
sync_direct_chat_list: false sync_direct_chat_list: false
# Whether created rooms should have federation enabled. If false, created portal rooms # Whether created rooms should have federation enabled. If false, created portal rooms
# will never be federated. Changing this option requires recreating rooms. # will never be federated. Changing this option requires recreating rooms.
federate_rooms: {{ matrix_mautrix_signal_federate_rooms | to_json }} federate_rooms: {{ matrix_bridge_mautrix_signal_federate_rooms | to_json }}
# Settings for provisioning API # Settings for provisioning API
provisioning: provisioning:
@@ -225,7 +225,7 @@ provisioning:
prefix: /_matrix/provision prefix: /_matrix/provision
# Shared secret for authentication. If set to "generate" or null, a random secret will be generated, # Shared secret for authentication. If set to "generate" or null, a random secret will be generated,
# or if set to "disable", the provisioning API will be disabled. # or if set to "disable", the provisioning API will be disabled.
shared_secret: {{ matrix_mautrix_signal_provisioning_shared_secret | to_json }} shared_secret: {{ matrix_bridge_mautrix_signal_provisioning_shared_secret | to_json }}
# Whether to allow provisioning API requests to be authed using Matrix access tokens. # Whether to allow provisioning API requests to be authed using Matrix access tokens.
# This follows the same rules as double puppeting to determine which server to contact to check the token, # This follows the same rules as double puppeting to determine which server to contact to check the token,
# which means that by default, it only works for users on the same server as the bridge. # which means that by default, it only works for users on the same server as the bridge.
@@ -241,7 +241,7 @@ public_media:
enabled: false enabled: false
# A key for signing public media URLs. # A key for signing public media URLs.
# If set to "generate", a random key will be generated. # If set to "generate", a random key will be generated.
signing_key: {{ matrix_mautrix_signal_public_media_signing_key | to_json }} signing_key: {{ matrix_bridge_mautrix_signal_public_media_signing_key | to_json }}
# Number of seconds that public media URLs are valid for. # Number of seconds that public media URLs are valid for.
# If set to 0, URLs will never expire. # If set to 0, URLs will never expire.
expiry: 0 expiry: 0
@@ -275,18 +275,18 @@ direct_media:
# See https://docs.mau.fi/bridges/general/backfill.html for more details. # See https://docs.mau.fi/bridges/general/backfill.html for more details.
backfill: backfill:
# Whether to do backfilling at all. # Whether to do backfilling at all.
enabled: {{ matrix_mautrix_signal_backfill_enabled | to_json }} enabled: {{ matrix_bridge_mautrix_signal_backfill_enabled | to_json }}
# Maximum number of messages to backfill in empty rooms. # Maximum number of messages to backfill in empty rooms.
max_initial_messages: {{ matrix_mautrix_signal_backfill_max_initial_messages | to_json }} max_initial_messages: {{ matrix_bridge_mautrix_signal_backfill_max_initial_messages | to_json }}
# Maximum number of missed messages to backfill after bridge restarts. # Maximum number of missed messages to backfill after bridge restarts.
max_catchup_messages: {{ matrix_mautrix_signal_backfill_max_catchup_messages | to_json }} max_catchup_messages: {{ matrix_bridge_mautrix_signal_backfill_max_catchup_messages | to_json }}
# If a backfilled chat is older than this number of hours, # If a backfilled chat is older than this number of hours,
# mark it as read even if it's unread on the remote network. # mark it as read even if it's unread on the remote network.
unread_hours_threshold: {{ matrix_mautrix_signal_backfill_unread_hours_threshold| to_json }} unread_hours_threshold: {{ matrix_bridge_mautrix_signal_backfill_unread_hours_threshold| to_json }}
# Settings for backfilling threads within other backfills. # Settings for backfilling threads within other backfills.
threads: threads:
# Maximum number of messages to backfill in a new thread. # Maximum number of messages to backfill in a new thread.
max_initial_messages: {{ matrix_mautrix_signal_backfill_threads_max_initial_messages | to_json }} max_initial_messages: {{ matrix_bridge_mautrix_signal_backfill_threads_max_initial_messages | to_json }}
# Settings for the backwards backfill queue. This only applies when connecting to # Settings for the backwards backfill queue. This only applies when connecting to
# Beeper as standard Matrix servers don't support inserting messages into history. # Beeper as standard Matrix servers don't support inserting messages into history.
queue: queue:
@@ -314,16 +314,16 @@ double_puppet:
allow_discovery: false allow_discovery: false
# Shared secrets for automatic double puppeting. # Shared secrets for automatic double puppeting.
# See https://docs.mau.fi/bridges/general/double-puppeting.html for instructions. # See https://docs.mau.fi/bridges/general/double-puppeting.html for instructions.
secrets: {{ matrix_mautrix_signal_double_puppet_secrets | to_json }} secrets: {{ matrix_bridge_mautrix_signal_double_puppet_secrets | to_json }}
# End-to-bridge encryption support options. # End-to-bridge encryption support options.
# #
# See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info. # See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
encryption: encryption:
# Whether to enable encryption at all. If false, the bridge will not function in encrypted rooms. # Whether to enable encryption at all. If false, the bridge will not function in encrypted rooms.
allow: {{ matrix_mautrix_signal_bridge_encryption_allow | to_json }} allow: {{ matrix_bridge_mautrix_signal_bridge_encryption_allow | to_json }}
# Whether to force-enable encryption in all bridged rooms. # Whether to force-enable encryption in all bridged rooms.
default: {{ matrix_mautrix_signal_bridge_encryption_default | to_json }} default: {{ matrix_bridge_mautrix_signal_bridge_encryption_default | to_json }}
# Whether to require all messages to be encrypted and drop any unencrypted messages. # Whether to require all messages to be encrypted and drop any unencrypted messages.
require: false require: false
# Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data. # Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
@@ -333,13 +333,13 @@ encryption:
# Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202. # Requires the homeserver to support MSC4190 and the device masquerading parts of MSC3202.
# Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861). # Only relevant when using end-to-bridge encryption, required when using encryption with next-gen auth (MSC3861).
# Changing this option requires updating the appservice registration file. # Changing this option requires updating the appservice registration file.
msc4190: {{ matrix_mautrix_signal_msc4190_enabled | to_json }} msc4190: {{ matrix_bridge_mautrix_signal_msc4190_enabled | to_json }}
# Whether to enable self-signing for bridges (Only the bridge bot uses this for now) # Whether to enable self-signing for bridges (Only the bridge bot uses this for now)
# Requires msc4190 to replace keys on reset # Requires msc4190 to replace keys on reset
self_sign: {{ matrix_mautrix_signal_self_sign_enabled | to_json }} self_sign: {{ matrix_bridge_mautrix_signal_self_sign_enabled | to_json }}
# Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled. # Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
# You must use a client that supports requesting keys from other users to use this feature. # You must use a client that supports requesting keys from other users to use this feature.
allow_key_sharing: {{ matrix_mautrix_signal_bridge_encryption_key_sharing_allow | to_json }} allow_key_sharing: {{ matrix_bridge_mautrix_signal_bridge_encryption_key_sharing_allow | to_json }}
# Pickle key for encrypting encryption keys in the bridge database. # Pickle key for encrypting encryption keys in the bridge database.
# If set to generate, a random key will be generated. # If set to generate, a random key will be generated.
pickle_key: mautrix.bridge.e2ee pickle_key: mautrix.bridge.e2ee
@@ -401,7 +401,7 @@ encryption:
# Logging config. See https://github.com/tulir/zeroconfig for details. # Logging config. See https://github.com/tulir/zeroconfig for details.
logging: logging:
min_level: {{ matrix_mautrix_signal_logging_level | to_json }} min_level: {{ matrix_bridge_mautrix_signal_logging_level | to_json }}
writers: writers:
- type: stdout - type: stdout
format: pretty-colored format: pretty-colored
@@ -4,39 +4,39 @@ SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later SPDX-License-Identifier: AGPL-3.0-or-later
#} #}
{% if matrix_mautrix_signal_container_labels_traefik_enabled %} {% if matrix_bridge_mautrix_signal_container_labels_traefik_enabled %}
traefik.enable=true traefik.enable=true
{% if matrix_mautrix_signal_container_labels_traefik_docker_network %} {% if matrix_bridge_mautrix_signal_container_labels_traefik_docker_network %}
traefik.docker.network={{ matrix_mautrix_signal_container_labels_traefik_docker_network }} traefik.docker.network={{ matrix_bridge_mautrix_signal_container_labels_traefik_docker_network }}
{% endif %} {% endif %}
traefik.http.services.matrix-mautrix-signal-metrics.loadbalancer.server.port=8000 traefik.http.services.matrix-mautrix-signal-metrics.loadbalancer.server.port=8000
{% if matrix_mautrix_signal_container_labels_metrics_enabled %} {% if matrix_bridge_mautrix_signal_container_labels_metrics_enabled %}
############################################################ ############################################################
# # # #
# Metrics # # Metrics #
# # # #
############################################################ ############################################################
{% if matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled %} {% if matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_enabled %}
traefik.http.middlewares.matrix-mautrix-signal-metrics-basic-auth.basicauth.users={{ matrix_mautrix_signal_container_labels_metrics_middleware_basic_auth_users }} traefik.http.middlewares.matrix-mautrix-signal-metrics-basic-auth.basicauth.users={{ matrix_bridge_mautrix_signal_container_labels_metrics_middleware_basic_auth_users }}
traefik.http.routers.matrix-mautrix-signal-metrics.middlewares=matrix-mautrix-signal-metrics-basic-auth traefik.http.routers.matrix-mautrix-signal-metrics.middlewares=matrix-mautrix-signal-metrics-basic-auth
{% endif %} {% endif %}
traefik.http.routers.matrix-mautrix-signal-metrics.rule={{ matrix_mautrix_signal_container_labels_metrics_traefik_rule }} traefik.http.routers.matrix-mautrix-signal-metrics.rule={{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_rule }}
{% if matrix_mautrix_signal_container_labels_metrics_traefik_priority | int > 0 %} {% if matrix_bridge_mautrix_signal_container_labels_metrics_traefik_priority | int > 0 %}
traefik.http.routers.matrix-mautrix-signal-metrics.priority={{ matrix_mautrix_signal_container_labels_metrics_traefik_priority }} traefik.http.routers.matrix-mautrix-signal-metrics.priority={{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_priority }}
{% endif %} {% endif %}
traefik.http.routers.matrix-mautrix-signal-metrics.service=matrix-mautrix-signal-metrics traefik.http.routers.matrix-mautrix-signal-metrics.service=matrix-mautrix-signal-metrics
traefik.http.routers.matrix-mautrix-signal-metrics.entrypoints={{ matrix_mautrix_signal_container_labels_metrics_traefik_entrypoints }} traefik.http.routers.matrix-mautrix-signal-metrics.entrypoints={{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_entrypoints }}
traefik.http.routers.matrix-mautrix-signal-metrics.tls={{ matrix_mautrix_signal_container_labels_metrics_traefik_tls | to_json }} traefik.http.routers.matrix-mautrix-signal-metrics.tls={{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_tls | to_json }}
{% if matrix_mautrix_signal_container_labels_metrics_traefik_tls %} {% if matrix_bridge_mautrix_signal_container_labels_metrics_traefik_tls %}
traefik.http.routers.matrix-mautrix-signal-metrics.tls.certResolver={{ matrix_mautrix_signal_container_labels_metrics_traefik_tls_certResolver }} traefik.http.routers.matrix-mautrix-signal-metrics.tls.certResolver={{ matrix_bridge_mautrix_signal_container_labels_metrics_traefik_tls_certResolver }}
{% endif %} {% endif %}
############################################################ ############################################################
@@ -46,7 +46,7 @@ traefik.http.routers.matrix-mautrix-signal-metrics.tls.certResolver={{ matrix_ma
############################################################ ############################################################
{% endif %} {% endif %}
{% if matrix_mautrix_signal_container_labels_exposure_enabled %} {% if matrix_bridge_mautrix_signal_container_labels_exposure_enabled %}
############################################################ ############################################################
# # # #
# Bridge API exposure # # Bridge API exposure #
@@ -55,21 +55,21 @@ traefik.http.routers.matrix-mautrix-signal-metrics.tls.certResolver={{ matrix_ma
traefik.http.services.matrix-mautrix-signal-exposure.loadbalancer.server.port=8080 traefik.http.services.matrix-mautrix-signal-exposure.loadbalancer.server.port=8080
traefik.http.middlewares.matrix-mautrix-signal-exposure-strip-prefix.stripprefix.prefixes={{ matrix_mautrix_signal_exposure_path_prefix }} traefik.http.middlewares.matrix-mautrix-signal-exposure-strip-prefix.stripprefix.prefixes={{ matrix_bridge_mautrix_signal_exposure_path_prefix }}
traefik.http.routers.matrix-mautrix-signal-exposure.middlewares=matrix-mautrix-signal-exposure-strip-prefix traefik.http.routers.matrix-mautrix-signal-exposure.middlewares=matrix-mautrix-signal-exposure-strip-prefix
traefik.http.routers.matrix-mautrix-signal-exposure.rule={{ matrix_mautrix_signal_container_labels_exposure_traefik_rule }} traefik.http.routers.matrix-mautrix-signal-exposure.rule={{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_rule }}
{% if matrix_mautrix_signal_container_labels_exposure_traefik_priority | int > 0 %} {% if matrix_bridge_mautrix_signal_container_labels_exposure_traefik_priority | int > 0 %}
traefik.http.routers.matrix-mautrix-signal-exposure.priority={{ matrix_mautrix_signal_container_labels_exposure_traefik_priority }} traefik.http.routers.matrix-mautrix-signal-exposure.priority={{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_priority }}
{% endif %} {% endif %}
traefik.http.routers.matrix-mautrix-signal-exposure.service=matrix-mautrix-signal-exposure traefik.http.routers.matrix-mautrix-signal-exposure.service=matrix-mautrix-signal-exposure
traefik.http.routers.matrix-mautrix-signal-exposure.entrypoints={{ matrix_mautrix_signal_container_labels_exposure_traefik_entrypoints }} traefik.http.routers.matrix-mautrix-signal-exposure.entrypoints={{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_entrypoints }}
traefik.http.routers.matrix-mautrix-signal-exposure.tls={{ matrix_mautrix_signal_container_labels_exposure_traefik_tls | to_json }} traefik.http.routers.matrix-mautrix-signal-exposure.tls={{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_tls | to_json }}
{% if matrix_mautrix_signal_container_labels_exposure_traefik_tls %} {% if matrix_bridge_mautrix_signal_container_labels_exposure_traefik_tls %}
traefik.http.routers.matrix-mautrix-signal-exposure.tls.certResolver={{ matrix_mautrix_signal_container_labels_exposure_traefik_tls_certResolver }} traefik.http.routers.matrix-mautrix-signal-exposure.tls.certResolver={{ matrix_bridge_mautrix_signal_container_labels_exposure_traefik_tls_certResolver }}
{% endif %} {% endif %}
############################################################ ############################################################
@@ -82,4 +82,4 @@ traefik.http.routers.matrix-mautrix-signal-exposure.tls.certResolver={{ matrix_m
{% endif %} {% endif %}
{{ matrix_mautrix_signal_container_labels_additional_labels }} {{ matrix_bridge_mautrix_signal_container_labels_additional_labels }}
@@ -1,11 +1,11 @@
#jinja2: lstrip_blocks: True #jinja2: lstrip_blocks: True
[Unit] [Unit]
Description=Matrix Mautrix Signal bridge Description=Matrix Mautrix Signal bridge
{% for service in matrix_mautrix_signal_systemd_required_services_list %} {% for service in matrix_bridge_mautrix_signal_systemd_required_services_list %}
Requires={{ service }} Requires={{ service }}
After={{ service }} After={{ service }}
{% endfor %} {% endfor %}
{% for service in matrix_mautrix_signal_systemd_wanted_services_list %} {% for service in matrix_bridge_mautrix_signal_systemd_wanted_services_list %}
Wants={{ service }} Wants={{ service }}
{% endfor %} {% endfor %}
DefaultDependencies=no DefaultDependencies=no
@@ -22,19 +22,19 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \
--log-driver=none \ --log-driver=none \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
--cap-drop=ALL \ --cap-drop=ALL \
--network={{ matrix_mautrix_signal_container_network }} \ --network={{ matrix_bridge_mautrix_signal_container_network }} \
--mount type=bind,src={{ matrix_mautrix_signal_config_path }},dst=/config,ro \ --mount type=bind,src={{ matrix_bridge_mautrix_signal_config_path }},dst=/config,ro \
--mount type=bind,src={{ matrix_mautrix_signal_data_path }},dst=/data \ --mount type=bind,src={{ matrix_bridge_mautrix_signal_data_path }},dst=/data \
--label-file={{ matrix_mautrix_signal_base_path }}/labels \ --label-file={{ matrix_bridge_mautrix_signal_base_path }}/labels \
--workdir=/data \ --workdir=/data \
{% for arg in matrix_mautrix_signal_container_extra_arguments %} {% for arg in matrix_bridge_mautrix_signal_container_extra_arguments %}
{{ arg }} \ {{ arg }} \
{% endfor %} {% endfor %}
{{ matrix_mautrix_signal_container_image }} \ {{ matrix_bridge_mautrix_signal_container_image }} \
/usr/bin/mautrix-signal -c /config/config.yaml -r /config/registration.yaml --no-update /usr/bin/mautrix-signal -c /config/config.yaml -r /config/registration.yaml --no-update
{% if matrix_mautrix_signal_container_network != 'host' %} {% if matrix_bridge_mautrix_signal_container_network != 'host' %}
{% for network in matrix_mautrix_signal_container_additional_networks %} {% for network in matrix_bridge_mautrix_signal_container_additional_networks %}
ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-signal ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mautrix-signal
{% endfor %} {% endfor %}
{% endif %} {% endif %}