From b6916d3adc9e683196fb7ba3c6d08a7101e25a4e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 8 Jan 2024 18:16:02 +0200 Subject: [PATCH] Add public_address to mautrix-discord Related to https://github.com/mautrix/discord/issues/95 --- group_vars/matrix_servers | 2 ++ .../defaults/main.yml | 1 + .../tasks/validate_config.yml | 1 + .../templates/config.yaml.j2 | 23 +++++++++++-------- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 83e15f6c6..2547aa258 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -795,6 +795,8 @@ matrix_mautrix_discord_systemd_required_services_list: | matrix_mautrix_discord_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.as.tok', rounds=655555) | to_uuid }}" +matrix_mautrix_discord_homeserver_public_address: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}://{{ matrix_server_fqn_matrix }}" + matrix_mautrix_discord_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.hs.tok', rounds=655555) | to_uuid }}" matrix_mautrix_discord_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" diff --git a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml index af12acac7..8f8deba3a 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml @@ -22,6 +22,7 @@ matrix_mautrix_discord_data_path: "{{ matrix_mautrix_discord_base_path }}/data" matrix_mautrix_discord_docker_src_files_path: "{{ matrix_mautrix_discord_base_path }}/docker-src" matrix_mautrix_discord_homeserver_address: "{{ matrix_homeserver_container_url }}" +matrix_mautrix_discord_homeserver_public_address: '' matrix_mautrix_discord_homeserver_domain: "{{ matrix_domain }}" matrix_mautrix_discord_appservice_address: "http://matrix-mautrix-discord:8080" diff --git a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml index 8f4fe29e4..0bfe9e408 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/tasks/validate_config.yml @@ -8,4 +8,5 @@ with_items: - {'name': 'matrix_mautrix_discord_appservice_token', when: true} - {'name': 'matrix_mautrix_discord_homeserver_token', when: true} + - {'name': 'matrix_mautrix_discord_homeserver_public_address', when: true} - {'name': 'matrix_mautrix_discord_database_hostname', when: "{{ matrix_mautrix_discord_database_engine == 'postgres' }}"} diff --git a/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2 index 039923350..f5ccd4f7e 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2 @@ -3,8 +3,11 @@ homeserver: # The address that this appservice can use to connect to the homeserver. address: {{ matrix_mautrix_discord_homeserver_address | to_json }} + # Publicly accessible base URL for media, used for avatars in relay mode. + # If not set, the connection address above will be used. + public_address: {{ matrix_mautrix_discord_homeserver_public_address | to_json }} # The domain of the homeserver (for MXIDs, etc). - domain: {{ matrix_mautrix_discord_homeserver_domain | to_json }} + domain: {{ matrix_mautrix_discord_homeserver_domain | to_json }} # Is the homeserver actually mautrix-asmux? asmux: false # The URL to push real-time bridge status to. @@ -21,11 +24,11 @@ homeserver: appservice: # The address that the homeserver can use to connect to this appservice. address: {{ matrix_mautrix_discord_appservice_address | to_json }} - + # The hostname and port where this appservice should listen. hostname: 0.0.0.0 port: 8080 - + # Database config. database: # The database type. "sqlite3" and "postgres" are supported. @@ -42,7 +45,7 @@ appservice: # Parsed with https://pkg.go.dev/time#ParseDuration max_conn_idle_time: null max_conn_lifetime: null - + # The unique ID of this appservice. id: discord # Appservice bot details. @@ -56,7 +59,7 @@ appservice: # Whether or not to receive ephemeral events via appservice transactions. # Requires MSC2409 support (i.e. Synapse 1.22+). ephemeral_events: true - + # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. as_token: {{ matrix_mautrix_discord_appservice_token | to_json }} hs_token: {{ matrix_mautrix_discord_homeserver_token | to_json }} @@ -126,10 +129,10 @@ bridge: # instead of users having to find an access token and run `login-matrix` # manually. login_shared_secret_map: {{ matrix_mautrix_discord_bridge_login_shared_secret_map|to_json }} - + # The prefix for commands. Only required in non-management rooms. command_prefix: "{{ matrix_mautrix_discord_command_prefix }}" - + # Messages sent upon joining a management room. # Markdown is supported. The defaults are listed below. management_room_text: @@ -141,7 +144,7 @@ bridge: welcome_unconnected: "Use `help` for help or `login` to log in." # Optional extra text sent when joining a management room. additional_help: "" - + # End-to-bridge encryption support options. # # See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info. @@ -190,7 +193,7 @@ bridge: # session before changing it. The Matrix spec recommends 100 as the # default. messages: 100 - + # Settings for provisioning API provisioning: # Prefix for the provisioning API paths. @@ -198,7 +201,7 @@ bridge: # Shared secret for authentication. If set to "generate", a random secret will be generated, # or if set to "disable", the provisioning API will be disabled. shared_secret: generate - + # Permissions for using the bridge. # Permitted values: # relay - Talk through the relaybot (if enabled), no access otherwise