From 625d246d73c484af4af4d3e544ceff85c340a9db Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 4 Oct 2025 05:26:46 +0000 Subject: [PATCH 001/116] chore(deps): update dependency valkey to v8.1.4-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 982ad0275..5b4c38c06 100644 --- a/requirements.yml +++ b/requirements.yml @@ -73,5 +73,5 @@ version: v2.10.0-2 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git - version: v8.1.3-1 + version: v8.1.4-0 name: valkey From 4c176173976ae991b733d545df253b3b06faad9a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 4 Oct 2025 09:37:05 +0000 Subject: [PATCH 002/116] chore(deps): update dependency grafana to v11.6.5-3 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 5b4c38c06..fa0d0e6c3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98.1-r0-2-2 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.6.5-1 + version: v11.6.5-3 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10532-1-0 From 37a09672588dcff857ee8de712226a37a757ca1e Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 4 Oct 2025 13:51:46 +0300 Subject: [PATCH 003/116] Fix templating of `matrix_authentication_service_config_http_listener_web_resources_default` when `not matrix_authentication_service_admin_api_enabled` Regression since db54063a0c9e4cde27b1e6c688113a888a6a0c28 Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4617 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 233dd5676..c86ba0cc9 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -327,7 +327,7 @@ matrix_authentication_service_config_http_listener_web_resources_default: |- {'name': 'assets'}, ] + - [{'name': 'adminapi'} if matrix_authentication_service_admin_api_enabled else []] + ([{'name': 'adminapi'}] if matrix_authentication_service_admin_api_enabled else []) }} matrix_authentication_service_config_http_listener_web_resources_auto: [] matrix_authentication_service_config_http_listener_web_resources_custom: [] From 32f9c34aeb6baa318c7e829cf52eda2d57f0d198 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 4 Oct 2025 11:47:10 +0000 Subject: [PATCH 004/116] chore(deps): update hif1/heisenbridge docker tag to v1.15.4 --- roles/custom/matrix-bridge-heisenbridge/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml index 39ce0c462..b1248df8f 100644 --- a/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml +++ b/roles/custom/matrix-bridge-heisenbridge/defaults/main.yml @@ -19,7 +19,7 @@ matrix_heisenbridge_hostname: "{{ matrix_server_fqn_matrix }}" matrix_heisenbridge_path_prefix: "/heisenbridge" # renovate: datasource=docker depName=hif1/heisenbridge -matrix_heisenbridge_version: 1.15.3 +matrix_heisenbridge_version: 1.15.4 matrix_heisenbridge_docker_image: "{{ matrix_heisenbridge_docker_image_registry_prefix }}hif1/heisenbridge:{{ matrix_heisenbridge_version }}" matrix_heisenbridge_docker_image_registry_prefix: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream }}" matrix_heisenbridge_docker_image_registry_prefix_upstream: "{{ matrix_heisenbridge_docker_image_registry_prefix_upstream_default }}" From ba19f37cb2d7e50dda0f31184f9146939471807b Mon Sep 17 00:00:00 2001 From: Aine Date: Sat, 4 Oct 2025 18:56:40 +0100 Subject: [PATCH 005/116] add more vars to dynamic dns config --- .../matrix-dynamic-dns/templates/ddclient.conf.j2 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index 4b7672c84..bb6df9631 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -22,6 +22,17 @@ web-skip='{{ matrix_dynamic_dns_web_skip }}' {% for dynamic_dns_domain_configuration in matrix_dynamic_dns_domain_configurations %} protocol={{ dynamic_dns_domain_configuration.protocol }} +{% if 'apikey' in dynamic_dns_domain_configuration %} +apikey={{ dynamic_dns_domain_configuration.apikey }} +{% endif %} + +{% if 'secretapikey' in dynamic_dns_domain_configuration %} +secretapikey={{ dynamic_dns_domain_configuration.secretapikey }} +{% endif %} + +{% if 'rootdomain' in dynamic_dns_domain_configuration %} +root_domain={{ dynamic_dns_domain_configuration.rootdomain }} + {% if 'provider' in dynamic_dns_domain_configuration %} server={{ dynamic_dns_domain_configuration.provider }} {% endif %} From c704be1f68f4e81c4778557e65529ec2aec7b6ee Mon Sep 17 00:00:00 2001 From: Aine Date: Sat, 4 Oct 2025 18:58:00 +0100 Subject: [PATCH 006/116] fix typo --- roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index bb6df9631..798f6a868 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -31,7 +31,7 @@ secretapikey={{ dynamic_dns_domain_configuration.secretapikey }} {% endif %} {% if 'rootdomain' in dynamic_dns_domain_configuration %} -root_domain={{ dynamic_dns_domain_configuration.rootdomain }} +root-domain={{ dynamic_dns_domain_configuration.rootdomain }} {% if 'provider' in dynamic_dns_domain_configuration %} server={{ dynamic_dns_domain_configuration.provider }} From 647652852b6505e111476803979f70071817f4c2 Mon Sep 17 00:00:00 2001 From: Aine Date: Sat, 4 Oct 2025 19:00:44 +0100 Subject: [PATCH 007/116] fix missing endif --- roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 index 798f6a868..5725badd3 100644 --- a/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 +++ b/roles/custom/matrix-dynamic-dns/templates/ddclient.conf.j2 @@ -32,6 +32,7 @@ secretapikey={{ dynamic_dns_domain_configuration.secretapikey }} {% if 'rootdomain' in dynamic_dns_domain_configuration %} root-domain={{ dynamic_dns_domain_configuration.rootdomain }} +{% endif %} {% if 'provider' in dynamic_dns_domain_configuration %} server={{ dynamic_dns_domain_configuration.provider }} From dbae258970bd0b7876c9437ca28519b29f671f8f Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Sat, 4 Oct 2025 19:20:53 +0200 Subject: [PATCH 008/116] Add support for new mas account variables --- .../defaults/main.yml | 18 ++++++++++++++++++ .../templates/config.yaml.j2 | 3 +++ 2 files changed, 21 insertions(+) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index c86ba0cc9..b330017ab 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -231,6 +231,24 @@ matrix_authentication_service_config_account_password_change_allowed: true # This has no effect if password login is disabled. matrix_authentication_service_config_account_password_recovery_enabled: false +# Controls the `account.account_deactivation_allowed` configuration setting. +# +# Whether users are allowed to delete their own account +matrix_authentication_service_config_account_account_deactivation_allowed: true + +# Controls the `account.login_with_email_allowed` configuration setting. +# +# Whether users can log in with their email address. +# This has no effect if password login is disabled. +matrix_authentication_service_config_account_login_with_email_allowed: false + +# Controls the `account.registration_token_required` configuration setting. +# +# Whether registration tokens are required for password registrations. +# When enabled, users must provide a valid registration token during password +# registration. This has no effect if password registration is disabled. +matrix_authentication_service_config_account_registration_token_required: false + ######################################################################################## # # # /Account configuration # diff --git a/roles/custom/matrix-authentication-service/templates/config.yaml.j2 b/roles/custom/matrix-authentication-service/templates/config.yaml.j2 index c0794ed77..38dd62948 100644 --- a/roles/custom/matrix-authentication-service/templates/config.yaml.j2 +++ b/roles/custom/matrix-authentication-service/templates/config.yaml.j2 @@ -67,6 +67,9 @@ account: password_registration_enabled: {{ matrix_authentication_service_config_account_password_registration_enabled | to_json }} password_change_allowed: {{ matrix_authentication_service_config_account_password_change_allowed | to_json }} password_recovery_enabled: {{ matrix_authentication_service_config_account_password_recovery_enabled | to_json }} + account_deactivation_allowed: {{ matrix_authentication_service_config_account_account_deactivation_allowed | to_json }} + login_with_email_allowed: {{ matrix_authentication_service_config_account_login_with_email_allowed | to_json }} + registration_token_required: {{ matrix_authentication_service_config_account_registration_token_required | to_json }} clients: {{ matrix_authentication_service_config_clients | to_json }} From edad6a17bddc5d5b6d81305100a7faaccdeb221c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 05:14:34 +0000 Subject: [PATCH 009/116] chore(deps): update dependency certifi to v2025.10.5 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index aca2028f7..c545e985f 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -1,6 +1,6 @@ alabaster==1.0.0 babel==2.17.0 -certifi==2025.8.3 +certifi==2025.10.5 charset-normalizer==3.4.3 click==8.3.0 docutils==0.22.2 From 03607e8dcd4de6d55f8f86dd5a28b7a61f76dc9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 5 Oct 2025 17:25:21 +0000 Subject: [PATCH 010/116] chore(deps): update dependency container_socket_proxy to v0.4.1-1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index fa0d0e6c3..7ae480e74 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.1-1.9.14-2 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.4.1-0 + version: v0.4.1-1 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.6.0 From afa003faddb22f63b669d46bf9633b6eb307bf2f Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 6 Oct 2025 11:41:20 +0100 Subject: [PATCH 011/116] postmoogle v0.9.27 --- roles/custom/matrix-bridge-postmoogle/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml index 595cfb1da..afd72fe2c 100644 --- a/roles/custom/matrix-bridge-postmoogle/defaults/main.yml +++ b/roles/custom/matrix-bridge-postmoogle/defaults/main.yml @@ -18,7 +18,7 @@ matrix_postmoogle_docker_repo_version: "{{ 'main' if matrix_postmoogle_version = matrix_postmoogle_docker_src_files_path: "{{ matrix_base_data_path }}/postmoogle/docker-src" # renovate: datasource=docker depName=ghcr.io/etkecc/postmoogle -matrix_postmoogle_version: v0.9.26 +matrix_postmoogle_version: v0.9.27 matrix_postmoogle_docker_image: "{{ matrix_postmoogle_docker_image_registry_prefix }}etkecc/postmoogle:{{ matrix_postmoogle_version }}" matrix_postmoogle_docker_image_registry_prefix: "{{ 'localhost/' if matrix_postmoogle_container_image_self_build else matrix_postmoogle_docker_image_registry_prefix_upstream }}" matrix_postmoogle_docker_image_registry_prefix_upstream: "{{ matrix_postmoogle_docker_image_registry_prefix_upstream_default }}" From 14c32cad7739fd8e9e08b1d75a90553e1ce3058a Mon Sep 17 00:00:00 2001 From: Yan Minagawa Date: Mon, 6 Oct 2025 13:10:42 +0200 Subject: [PATCH 012/116] Removes a copy and paste leftover in the element-admin doc (#4622) --- docs/configuring-playbook-element-admin.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/configuring-playbook-element-admin.md b/docs/configuring-playbook-element-admin.md index d0b676971..a0785853b 100644 --- a/docs/configuring-playbook-element-admin.md +++ b/docs/configuring-playbook-element-admin.md @@ -65,7 +65,3 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` `just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -Once installed, Element Call integrates seamlessly with Matrix clients like [Element Web](configuring-playbook-client-element-web.md) and Element X on mobile (iOS and Android). From 58688bf538d88d924ef7ddd4d94d9478e20ecb11 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 6 Oct 2025 16:41:48 +0100 Subject: [PATCH 013/116] synapse - introduce vars to control server notices --- roles/custom/matrix-synapse/defaults/main.yml | 11 +++++++++++ .../templates/synapse/homeserver.yaml.j2 | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 1db3c85dd..c934e0f03 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1544,6 +1544,17 @@ matrix_s3_media_store_path: "{{ matrix_synapse_media_store_path }}" # Controls whether the self-check feature should validate SSL certificates. matrix_synapse_self_check_validate_certificates: true +# Controls whether server notices are enabled. +matrix_synapse_server_notices_enabled: false +# The localpart of the user that will send server notices, this user will be created if it doesn't exist. +matrix_synapse_server_notices_system_mxid_localpart: "notices" +# The display name of the user that will send server notices. +matrix_synapse_server_notices_system_mxid_display_name: "Server Notices" +# Optional avatar URL for the user that will send server notices, example: mxc://example.com/abc123 +matrix_synapse_server_notices_system_mxid_avatar_url: ~ +# The name of the room where server notices will be sent, this room will be created if it doesn't exist. +matrix_synapse_server_notices_room_name: "Server Notices" + # Controls whether searching the public room list is enabled. matrix_synapse_enable_room_list_search: true diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 50a52d3bb..9509ce64b 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -2731,6 +2731,15 @@ stats: # system_mxid_display_name: "Server Notices" # system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ" # room_name: "Server Notices" +{% if matrix_synapse_server_notices_enabled %} +server_notices: + system_mxid_localpart: {{ matrix_synapse_server_notices_system_mxid_localpart | string | to_json }} + system_mxid_display_name: {{ matrix_synapse_server_notices_system_mxid_display_name | string | to_json }} +{% if matrix_synapse_server_notices_system_mxid_avatar_url %} + system_mxid_avatar_url: {{ matrix_synapse_server_notices_system_mxid_avatar_url | string | to_json }} +{% endif %} + room_name: {{ matrix_synapse_server_notices_room_name | string | to_json }} +{% endif %} From 4e21bbe064c1a7935c8a79e0ceeb3df0e4fa20f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 16:57:32 +0000 Subject: [PATCH 014/116] chore(deps): update pre-commit hook fsfe/reuse-tool to v6 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 45fc03d7d..4889436da 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,6 @@ repos: - id: codespell args: ["--skip=*.po,*.pot,i18n/"] - repo: https://github.com/fsfe/reuse-tool # https://reuse.software/dev/#pre-commit-hook - rev: v5.1.1 + rev: v6.0.0 hooks: - id: reuse From b7f03aa4b260adf7cc9e088dce7c0798cfc2f7db Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 7 Oct 2025 13:58:51 +0100 Subject: [PATCH 015/116] Synapse v1.139.1 - security fix --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index c934e0f03..bd3ee67d7 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.139.0 +matrix_synapse_version: v1.139.1 matrix_synapse_username: '' matrix_synapse_uid: '' From 951b27ed7f06f3496e41034ac2808d5b8449f4b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:47:14 +0000 Subject: [PATCH 016/116] chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.1 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 236188b5e..234c9cf5a 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.12.0 +matrix_client_element_version: v1.12.1 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From feb7953132015933676e53853a00fb9a379dcfff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 18:03:45 +0000 Subject: [PATCH 017/116] chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.139.2 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index bd3ee67d7..ba020cd36 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.139.1 +matrix_synapse_version: v1.139.2 matrix_synapse_username: '' matrix_synapse_uid: '' From 3a5e6d5f2e2128a79ca2a9dba49d1fe8c93fa2d2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 18:03:50 +0000 Subject: [PATCH 018/116] chore(deps): update dependency prometheus to v3.6.0-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7ae480e74..b0adc435a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.5.0-1 + version: v3.6.0-0 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From 01d548d4a7e82e1a98ebfb08fd365f2f05d33cae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 03:44:23 +0000 Subject: [PATCH 019/116] chore(deps): update pre-commit hook fsfe/reuse-tool to v6.1.2 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4889436da..f95e6c7d7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,6 @@ repos: - id: codespell args: ["--skip=*.po,*.pot,i18n/"] - repo: https://github.com/fsfe/reuse-tool # https://reuse.software/dev/#pre-commit-hook - rev: v6.0.0 + rev: v6.1.2 hooks: - id: reuse From 1bd6e8d0645c6cdc894c65744ad3b5d4ca3eb49a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 07:34:00 +0000 Subject: [PATCH 020/116] chore(deps): update nginx docker tag to v1.29.2 --- .../matrix-synapse-reverse-proxy-companion/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index cedbc791d..c903ee31d 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -24,7 +24,7 @@ matrix_synapse_reverse_proxy_companion_enabled: true # renovate: datasource=docker depName=nginx -matrix_synapse_reverse_proxy_companion_version: 1.29.1-alpine +matrix_synapse_reverse_proxy_companion_version: 1.29.2-alpine matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion" matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d" From 958b0de4f1e8bbe40a080b4c35b0bc0b2c5b59ba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 13:45:50 +0000 Subject: [PATCH 021/116] chore(deps): update ansible/ansible-lint action to v25.9.2 --- .github/workflows/matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/matrix.yml b/.github/workflows/matrix.yml index 0b3a77221..301bcd488 100644 --- a/.github/workflows/matrix.yml +++ b/.github/workflows/matrix.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v5 - name: Run ansible-lint - uses: ansible/ansible-lint@v25.9.1 + uses: ansible/ansible-lint@v25.9.2 with: args: "roles/custom" setup_python: "true" From 6e4f78199580f5237b39399952239590ee937810 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 14:58:56 +0000 Subject: [PATCH 022/116] chore(deps): update oci.element.io/element-admin docker tag to v0.1.4 --- roles/custom/matrix-element-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-admin/defaults/main.yml b/roles/custom/matrix-element-admin/defaults/main.yml index 982d5072c..00568f2f6 100644 --- a/roles/custom/matrix-element-admin/defaults/main.yml +++ b/roles/custom/matrix-element-admin/defaults/main.yml @@ -11,7 +11,7 @@ matrix_element_admin_enabled: true # renovate: datasource=docker depName=oci.element.io/element-admin -matrix_element_admin_version: 0.1.3 +matrix_element_admin_version: 0.1.4 matrix_element_admin_scheme: https From 4145b811a32c994fabeb81ea6504ba6c52184b52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 13:03:51 +0000 Subject: [PATCH 023/116] chore(deps): update gnuxie/draupnir docker tag to v2.7.0 --- .../custom/matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index d5fee4fbb..385ccc132 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -12,7 +12,7 @@ matrix_appservice_draupnir_for_all_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_appservice_draupnir_for_all_version: "v2.6.1" +matrix_appservice_draupnir_for_all_version: "v2.7.0" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index f1fc09112..90a76bfaa 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -12,7 +12,7 @@ matrix_bot_draupnir_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_bot_draupnir_version: "v2.6.1" +matrix_bot_draupnir_version: "v2.7.0" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" From 9791f8a120265a0adb53df830cf8b73b5fe7ca37 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 16:36:24 +0000 Subject: [PATCH 024/116] chore(deps): update halfshot/matrix-hookshot docker tag to v7.2.0 --- roles/custom/matrix-bridge-hookshot/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-hookshot/defaults/main.yml b/roles/custom/matrix-bridge-hookshot/defaults/main.yml index 49437fa4f..2c9b6bcc7 100644 --- a/roles/custom/matrix-bridge-hookshot/defaults/main.yml +++ b/roles/custom/matrix-bridge-hookshot/defaults/main.yml @@ -29,7 +29,7 @@ matrix_hookshot_container_additional_networks_auto: [] matrix_hookshot_container_additional_networks_custom: [] # renovate: datasource=docker depName=halfshot/matrix-hookshot -matrix_hookshot_version: 7.1.0 +matrix_hookshot_version: 7.2.0 matrix_hookshot_docker_image: "{{ matrix_hookshot_docker_image_registry_prefix }}matrix-org/matrix-hookshot:{{ matrix_hookshot_version }}" matrix_hookshot_docker_image_registry_prefix: "{{ 'localhost/' if matrix_hookshot_container_image_self_build else matrix_hookshot_docker_image_registry_prefix_upstream }}" From 2d05db52c76efaed4178e919715698b3fc87bf61 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Fri, 10 Oct 2025 23:45:56 +0200 Subject: [PATCH 025/116] Update s3 storage provider version to 1.6.0, add renovate --- roles/custom/matrix-synapse/defaults/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index ba020cd36..8aa6c04f4 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1471,7 +1471,8 @@ matrix_synapse_ext_encryption_config_yaml: | # Installing it requires building a customized Docker image for Synapse (see `matrix_synapse_container_image_customizations_enabled`). # Enabling this will enable customizations and inject the appropriate Dockerfile clauses for installing synapse-s3-storage-provider. matrix_synapse_ext_synapse_s3_storage_provider_enabled: false -matrix_synapse_ext_synapse_s3_storage_provider_version: 1.5.0 +# renovate: datasource=github-releases packageName=matrix-org/synapse-s3-storage-provider +matrix_synapse_ext_synapse_s3_storage_provider_version: 1.6.0 # Controls whether media from this (local) server is stored in s3-storage-provider matrix_synapse_ext_synapse_s3_storage_provider_store_local: true # Controls whether media from remote servers is stored in s3-storage-provider From ed9bb75a529319e466a7c050b304452d362603d2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Sat, 11 Oct 2025 07:43:28 +0300 Subject: [PATCH 026/116] `packageName` -> `depName` for Renovate line for `matrix-org/synapse-s3-storage-provider` `depName` is a required attribute as per our custom regex. Ref: - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4635 - https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/2d05db52c76efaed4178e919715698b3fc87bf61/.github/renovate.json#L16 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 8aa6c04f4..578a37731 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1471,7 +1471,7 @@ matrix_synapse_ext_encryption_config_yaml: | # Installing it requires building a customized Docker image for Synapse (see `matrix_synapse_container_image_customizations_enabled`). # Enabling this will enable customizations and inject the appropriate Dockerfile clauses for installing synapse-s3-storage-provider. matrix_synapse_ext_synapse_s3_storage_provider_enabled: false -# renovate: datasource=github-releases packageName=matrix-org/synapse-s3-storage-provider +# renovate: datasource=github-releases depName=matrix-org/synapse-s3-storage-provider matrix_synapse_ext_synapse_s3_storage_provider_version: 1.6.0 # Controls whether media from this (local) server is stored in s3-storage-provider matrix_synapse_ext_synapse_s3_storage_provider_store_local: true From ad9c01fd5b6cbc775eed5b6accddad35b2f34ec6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 12 Oct 2025 16:51:54 +0000 Subject: [PATCH 027/116] chore(deps): update dependency idna to v3.11 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index c545e985f..8bff63b87 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -4,7 +4,7 @@ certifi==2025.10.5 charset-normalizer==3.4.3 click==8.3.0 docutils==0.22.2 -idna==3.10 +idna==3.11 imagesize==1.4.1 Jinja2==3.1.6 linkify-it-py==2.0.3 From 2b0ea94a72057602eb46336d9da50a68ccf53383 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 13 Oct 2025 10:16:56 +0300 Subject: [PATCH 028/116] Remove `matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled` Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4637 We no longer need to boto workaround since s3-storage-provider got upgraded to v1.6.0 in https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4635 --- roles/custom/matrix-synapse/defaults/main.yml | 4 ---- roles/custom/matrix-synapse/tasks/validate_config.yml | 2 ++ .../templates/synapse/customizations/Dockerfile.j2 | 4 ---- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 578a37731..6ae334676 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -48,10 +48,6 @@ matrix_synapse_container_image_customizations_enabled: |- # The version that will be installed is specified in `matrix_synapse_ext_synapse_s3_storage_provider_version`. matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}" -# Controls whether to install an old version of boto3 and botocore, to work around the following issue: -# https://github.com/aws/aws-cli/issues/9214 -matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled: true - # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 94cfecdb6..48930962b 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -117,6 +117,8 @@ - {'old': 'matrix_synapse_experimental_features_msc3861_admin_token', 'new': ''} - {'old': 'matrix_synapse_experimental_features_msc3861_account_management_url', 'new': ''} + - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': ''} + - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml ansible.builtin.fail: msg: >- diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 index 310f2e726..acdcb5752 100644 --- a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 @@ -45,12 +45,8 @@ RUN pip install synapse-auto-accept-invite=={{ matrix_synapse_ext_synapse_auto_a {% endif %} {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} -{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled %} -RUN pip install 'boto3<1.36.0' 'botocore<1.36.0' synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} -{% else %} RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} {% endif %} -{% endif %} {% if matrix_synapse_container_image_customizations_templates_enabled %} COPY --from=templates-builder {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} From b54eadb9e077e0cc034d477cdcf0d0a03055ad03 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 13 Oct 2025 12:24:58 +0300 Subject: [PATCH 029/116] Revert "Remove `matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled`" This reverts commit 2b0ea94a72057602eb46336d9da50a68ccf53383. We're going back to s3-storage-provider=v1.5.0 Ref: https://github.com/matrix-org/synapse-s3-storage-provider/pull/134#issuecomment-3396609289 --- roles/custom/matrix-synapse/defaults/main.yml | 4 ++++ roles/custom/matrix-synapse/tasks/validate_config.yml | 2 -- .../templates/synapse/customizations/Dockerfile.j2 | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 6ae334676..578a37731 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -48,6 +48,10 @@ matrix_synapse_container_image_customizations_enabled: |- # The version that will be installed is specified in `matrix_synapse_ext_synapse_s3_storage_provider_version`. matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}" +# Controls whether to install an old version of boto3 and botocore, to work around the following issue: +# https://github.com/aws/aws-cli/issues/9214 +matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled: true + # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 48930962b..94cfecdb6 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -117,8 +117,6 @@ - {'old': 'matrix_synapse_experimental_features_msc3861_admin_token', 'new': ''} - {'old': 'matrix_synapse_experimental_features_msc3861_account_management_url', 'new': ''} - - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': ''} - - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml ansible.builtin.fail: msg: >- diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 index acdcb5752..310f2e726 100644 --- a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 @@ -45,8 +45,12 @@ RUN pip install synapse-auto-accept-invite=={{ matrix_synapse_ext_synapse_auto_a {% endif %} {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} +{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled %} +RUN pip install 'boto3<1.36.0' 'botocore<1.36.0' synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} +{% else %} RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} {% endif %} +{% endif %} {% if matrix_synapse_container_image_customizations_templates_enabled %} COPY --from=templates-builder {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} From f048a0f9a5ef0931c5bd9cb2f0bb84b124ed6fc7 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 13 Oct 2025 12:25:59 +0300 Subject: [PATCH 030/116] Revert s3-storage-provider (1.6.0 -> 1.5.0) Ref: https://github.com/matrix-org/synapse-s3-storage-provider/pull/134#issuecomment-3396609289 Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4635 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 578a37731..53fc95252 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1472,7 +1472,7 @@ matrix_synapse_ext_encryption_config_yaml: | # Enabling this will enable customizations and inject the appropriate Dockerfile clauses for installing synapse-s3-storage-provider. matrix_synapse_ext_synapse_s3_storage_provider_enabled: false # renovate: datasource=github-releases depName=matrix-org/synapse-s3-storage-provider -matrix_synapse_ext_synapse_s3_storage_provider_version: 1.6.0 +matrix_synapse_ext_synapse_s3_storage_provider_version: 1.5.0 # Controls whether media from this (local) server is stored in s3-storage-provider matrix_synapse_ext_synapse_s3_storage_provider_store_local: true # Controls whether media from remote servers is stored in s3-storage-provider From 7caa5837431698e8baca6bd75dc69de6e0d6d9e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 16:35:03 +0000 Subject: [PATCH 031/116] chore(deps): update gnuxie/draupnir docker tag to v2.7.1 --- .../custom/matrix-appservice-draupnir-for-all/defaults/main.yml | 2 +- roles/custom/matrix-bot-draupnir/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml index 385ccc132..51db84be3 100644 --- a/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml +++ b/roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml @@ -12,7 +12,7 @@ matrix_appservice_draupnir_for_all_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_appservice_draupnir_for_all_version: "v2.7.0" +matrix_appservice_draupnir_for_all_version: "v2.7.1" matrix_appservice_draupnir_for_all_container_image_self_build: false matrix_appservice_draupnir_for_all_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" diff --git a/roles/custom/matrix-bot-draupnir/defaults/main.yml b/roles/custom/matrix-bot-draupnir/defaults/main.yml index 90a76bfaa..2d4496db1 100644 --- a/roles/custom/matrix-bot-draupnir/defaults/main.yml +++ b/roles/custom/matrix-bot-draupnir/defaults/main.yml @@ -12,7 +12,7 @@ matrix_bot_draupnir_enabled: true # renovate: datasource=docker depName=gnuxie/draupnir -matrix_bot_draupnir_version: "v2.7.0" +matrix_bot_draupnir_version: "v2.7.1" matrix_bot_draupnir_container_image_self_build: false matrix_bot_draupnir_container_image_self_build_repo: "https://github.com/the-draupnir-project/Draupnir.git" From 8511d4dfc42330bd0d79f2820780476b65bcd9e8 Mon Sep 17 00:00:00 2001 From: Aleksandrs Jansons <43913143+alexjansons@users.noreply.github.com> Date: Tue, 14 Oct 2025 07:32:40 +0300 Subject: [PATCH 032/116] Add matrix_synapse_url_preview_url_blacklist var (#4641) * synapse - introduce matrix_synapse_url_preview_url_blacklist var * Preserve original comments around `url_preview_url_blacklist` --------- Co-authored-by: Aleksandrs Jansons Co-authored-by: Slavi Pantaleev --- roles/custom/matrix-synapse/defaults/main.yml | 5 +++++ .../matrix-synapse/templates/synapse/homeserver.yaml.j2 | 3 +++ 2 files changed, 8 insertions(+) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 53fc95252..042318e3d 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -823,6 +823,11 @@ matrix_synapse_url_preview_ip_range_blacklist: # List of IP address CIDR ranges that the URL preview spider is allowed to access even if they are specified in `matrix_synapse_url_preview_ip_range_blacklist`. matrix_synapse_url_preview_ip_range_whitelist: [] +# List of URL matches that the URL preview spider is denied from accessing. +# See https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist +# for more details. +matrix_synapse_url_preview_url_blacklist: [] + # A list of values for the Accept-Language HTTP header used when downloading webpages during URL preview generation matrix_url_preview_accept_language: ['en-US', 'en'] diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 9509ce64b..265052569 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -1178,6 +1178,9 @@ url_preview_ip_range_whitelist: {{ matrix_synapse_url_preview_ip_range_whitelist # # # blacklist any URL with a literal IPv4 address # - netloc: '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' +{% if matrix_synapse_url_preview_url_blacklist | length > 0 %} +url_preview_url_blacklist: {{ matrix_synapse_url_preview_url_blacklist | to_json }} +{% endif %} # The largest allowed URL preview spidering size in bytes # From 525d4bc997ca27a8851388c5b8136200e4b65e36 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 09:16:12 +0000 Subject: [PATCH 033/116] chore(deps): update dependency charset-normalizer to v3.4.4 --- i18n/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/requirements.txt b/i18n/requirements.txt index 8bff63b87..65090cb4d 100644 --- a/i18n/requirements.txt +++ b/i18n/requirements.txt @@ -1,7 +1,7 @@ alabaster==1.0.0 babel==2.17.0 certifi==2025.10.5 -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 click==8.3.0 docutils==0.22.2 idna==3.11 From 489bf39322a893190c1d01aacf2be53d1ad5eef3 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Tue, 14 Oct 2025 11:53:14 +0200 Subject: [PATCH 034/116] Fix signal displayname config --- .../custom/matrix-bridge-mautrix-signal/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-signal/templates/config.yaml.j2 | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index d41f69efd..ce3610ef4 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -57,7 +57,7 @@ matrix_mautrix_signal_command_prefix: "!signal" # {{.PhoneNumber}} - The phone number of the user. # {{.UUID}} - The UUID of the Signal user. # {{.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_mautrix_signal_network_displayname_template: '{% raw %}{{or .ProfileName .PhoneNumber "Unknown user"}} (Signal){% endraw %}' matrix_mautrix_signal_bridge_permissions: | {{ diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 index f4ca2d83d..24653c410 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 @@ -2,13 +2,6 @@ # Network-specific config options network: # Displayname template for Signal users. - # {% raw %} - # {{.ProfileName}} - The Signal profile name set by the user. - # {{.ContactName}} - The name for the user from your phone's contact list. This is not safe on multi-user instances. - # {{.PhoneNumber}} - The phone number of the user. - # {{.UUID}} - The UUID of the Signal user. - # {{.AboutEmoji}} - The emoji set by the user in their profile. - # {% endraw %} displayname_template: {{ matrix_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. use_contact_avatars: false From 2719f5e8068642037a2ba5b810c36ffa3a83a6a7 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Tue, 14 Oct 2025 11:59:56 +0200 Subject: [PATCH 035/116] Fix steam bridge displaynames --- roles/custom/matrix-bridge-steam/defaults/main.yml | 2 +- roles/custom/matrix-bridge-steam/templates/config.yaml.j2 | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index f2cd6f1fe..fa75b1d0d 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -48,7 +48,7 @@ matrix_steam_bridge_public_media_hash_length: 32 # Displayname template for Steam users # {{ .DisplayName }} is replaced with the display name of the Steam user # {{ .Username }} is replaced with the username of the Steam user -matrix_steam_bridge_network_displayname_template: "{% raw %}{{ .DisplayName }}{% endraw %} (Steam)" +matrix_steam_bridge_network_displayname_template: "{% raw %}{{ .DisplayName }} (Steam){% endraw %}" matrix_steam_bridge_command_prefix: "!steam" diff --git a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 index 05d38f77a..079bac84c 100644 --- a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 @@ -7,10 +7,6 @@ network: get_proxy_url: null # Displayname template for Steam users. - # {% raw %} - # {{ .DisplayName }} is replaced with the display name of the Steam user. - # {{ .Username }} is replaced with the username of the Steam user. - # {% endraw %} displayname_template: {{ matrix_steam_bridge_network_displayname_template | to_json }} # Maximum number of conversations to sync on startup From ec3f25e8ad2cbb15280a923021cc25b42c886c66 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Tue, 14 Oct 2025 12:03:15 +0200 Subject: [PATCH 036/116] Add (Discord) to discord displaynames --- roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml index f202510bb..8663ffa44 100644 --- a/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml @@ -59,7 +59,7 @@ matrix_mautrix_discord_bridge_avatar_proxy_key: '' matrix_mautrix_discord_bridge_username_template: "{% raw %}discord_{{.}}{% endraw %}" # Displayname template for Discord users. This is also used as the room name in DMs if private_chat_portal_meta is enabled. -matrix_mautrix_discord_bridge_displayname_template: "{% raw %}{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}}{% endraw %}" +matrix_mautrix_discord_bridge_displayname_template: "{% raw %}{{or .GlobalName .Username}}{{if .Bot}} (bot){{end}} (Discord){% endraw %}" # Displayname template for Discord channels (bridged as rooms, or spaces when type=4). matrix_mautrix_discord_bridge_channel_name_template: "{% raw %}{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}}{{else}}#{{.Name}}{{end}}{% endraw %}" From ec5efe8c4e48320ae37fe3939ee4b1a0bcbf787b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 15:40:46 +0000 Subject: [PATCH 037/116] chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.140.0 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 042318e3d..246c942e1 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.139.2 +matrix_synapse_version: v1.140.0 matrix_synapse_username: '' matrix_synapse_uid: '' From 9fb28c9fd702789cba43e2ffb21a14303a19dd27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:28:13 +0000 Subject: [PATCH 038/116] chore(deps): update dependency matrix-org/synapse-s3-storage-provider to v1.6.0 --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 246c942e1..17352b96c 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -1477,7 +1477,7 @@ matrix_synapse_ext_encryption_config_yaml: | # Enabling this will enable customizations and inject the appropriate Dockerfile clauses for installing synapse-s3-storage-provider. matrix_synapse_ext_synapse_s3_storage_provider_enabled: false # renovate: datasource=github-releases depName=matrix-org/synapse-s3-storage-provider -matrix_synapse_ext_synapse_s3_storage_provider_version: 1.5.0 +matrix_synapse_ext_synapse_s3_storage_provider_version: 1.6.0 # Controls whether media from this (local) server is stored in s3-storage-provider matrix_synapse_ext_synapse_s3_storage_provider_store_local: true # Controls whether media from remote servers is stored in s3-storage-provider From 8fd2b75756844c043b1b6ec71b8948b5013c0622 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 13 Oct 2025 10:16:56 +0300 Subject: [PATCH 039/116] Remove `matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled` Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4637 We no longer need to boto workaround since s3-storage-provider got upgraded to v1.6.0 in https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4635 --- roles/custom/matrix-synapse/defaults/main.yml | 4 ---- roles/custom/matrix-synapse/tasks/validate_config.yml | 2 ++ .../templates/synapse/customizations/Dockerfile.j2 | 4 ---- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 17352b96c..a11bfe5b3 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -48,10 +48,6 @@ matrix_synapse_container_image_customizations_enabled: |- # The version that will be installed is specified in `matrix_synapse_ext_synapse_s3_storage_provider_version`. matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}" -# Controls whether to install an old version of boto3 and botocore, to work around the following issue: -# https://github.com/aws/aws-cli/issues/9214 -matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled: true - # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 94cfecdb6..48930962b 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -117,6 +117,8 @@ - {'old': 'matrix_synapse_experimental_features_msc3861_admin_token', 'new': ''} - {'old': 'matrix_synapse_experimental_features_msc3861_account_management_url', 'new': ''} + - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': ''} + - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml ansible.builtin.fail: msg: >- diff --git a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 index 310f2e726..acdcb5752 100644 --- a/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 @@ -45,12 +45,8 @@ RUN pip install synapse-auto-accept-invite=={{ matrix_synapse_ext_synapse_auto_a {% endif %} {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} -{% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled %} -RUN pip install 'boto3<1.36.0' 'botocore<1.36.0' synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} -{% else %} RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} {% endif %} -{% endif %} {% if matrix_synapse_container_image_customizations_templates_enabled %} COPY --from=templates-builder {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} {{ matrix_synapse_container_image_customizations_templates_in_container_base_path }} From d755b959d6315a41d8a0cee0e77d241d50a0dac9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 08:38:36 +0000 Subject: [PATCH 040/116] chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2025.10.15 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 911f25254..f5f86648d 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.9.24 +matrix_alertmanager_receiver_version: 2025.10.15 matrix_alertmanager_receiver_scheme: https From 6a3c0423e0da5caad6e395eb9734868617872bd6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 18:47:56 +0000 Subject: [PATCH 041/116] chore(deps): update dependency docker to v7.7.0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b0adc435a..914294a76 100644 --- a/requirements.yml +++ b/requirements.yml @@ -10,7 +10,7 @@ version: v0.4.1-1 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker - version: 7.6.0 + version: 7.7.0 name: docker - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a From 31f222823be97b2e10a33f1796360678d635ab4c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 18:09:53 +0000 Subject: [PATCH 042/116] chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.4.0 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index b330017ab..838456bc7 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -22,7 +22,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 1.3.0 +matrix_authentication_service_version: 1.4.0 matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}" matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}" matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/" From d908d003c8a4b6d97a8ee02b14ee7559af062b27 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 16 Oct 2025 06:59:10 +0300 Subject: [PATCH 043/116] Add support for configuring `account.password_registration_email_required` for Matrix Authentication Service Ref: - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4647 - https://github.com/element-hq/matrix-authentication-service/releases/tag/v1.4.0 - https://github.com/element-hq/matrix-authentication-service/pull/5109 --- roles/custom/matrix-authentication-service/defaults/main.yml | 5 +++++ .../matrix-authentication-service/templates/config.yaml.j2 | 1 + 2 files changed, 6 insertions(+) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 838456bc7..4d724e006 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -219,6 +219,11 @@ matrix_authentication_service_config_account_displayname_change_allowed: true # This has no effect if password login is disabled. matrix_authentication_service_config_account_password_registration_enabled: false +# Controls the `account.password_registration_email_required` configuration setting. +# +# Whether self-service password registrations require a valid email. +matrix_authentication_service_config_account_password_registration_email_required: true + # Controls the `account.password_change_allowed` configuration setting. # # Whether users are allowed to change their passwords. diff --git a/roles/custom/matrix-authentication-service/templates/config.yaml.j2 b/roles/custom/matrix-authentication-service/templates/config.yaml.j2 index 38dd62948..0060584be 100644 --- a/roles/custom/matrix-authentication-service/templates/config.yaml.j2 +++ b/roles/custom/matrix-authentication-service/templates/config.yaml.j2 @@ -65,6 +65,7 @@ account: email_change_allowed: {{ matrix_authentication_service_config_account_email_change_allowed | to_json }} displayname_change_allowed: {{ matrix_authentication_service_config_account_displayname_change_allowed | to_json }} password_registration_enabled: {{ matrix_authentication_service_config_account_password_registration_enabled | to_json }} + password_registration_email_required: {{ matrix_authentication_service_config_account_password_registration_email_required | to_json }} password_change_allowed: {{ matrix_authentication_service_config_account_password_change_allowed | to_json }} password_recovery_enabled: {{ matrix_authentication_service_config_account_password_recovery_enabled | to_json }} account_deactivation_allowed: {{ matrix_authentication_service_config_account_account_deactivation_allowed | to_json }} From bff95835ef3992f4e26723631573e3d55186f46e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 10:37:21 +0000 Subject: [PATCH 044/116] chore(deps): update oci.element.io/element-admin docker tag to v0.1.5 --- roles/custom/matrix-element-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-admin/defaults/main.yml b/roles/custom/matrix-element-admin/defaults/main.yml index 00568f2f6..17f548051 100644 --- a/roles/custom/matrix-element-admin/defaults/main.yml +++ b/roles/custom/matrix-element-admin/defaults/main.yml @@ -11,7 +11,7 @@ matrix_element_admin_enabled: true # renovate: datasource=docker depName=oci.element.io/element-admin -matrix_element_admin_version: 0.1.4 +matrix_element_admin_version: 0.1.5 matrix_element_admin_scheme: https From 376fcdafc2a0a506ad69180f11943ed540c0ea6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 10:37:26 +0000 Subject: [PATCH 045/116] chore(deps): update dependency prometheus to v3.7.0-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 914294a76..ca23db782 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.6.0-0 + version: v3.7.0-0 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From e9406589e6ea47bc74b86e51f9f8cbe478660806 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:13:57 +0000 Subject: [PATCH 046/116] chore(deps): update dock.mau.dev/mautrix/bluesky docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml index 561a5c046..d35fc8cfb 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -14,7 +14,7 @@ matrix_mautrix_bluesky_container_image_self_build_repo: "https://github.com/maut matrix_mautrix_bluesky_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_bluesky_version == 'latest' else matrix_mautrix_bluesky_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/bluesky -matrix_mautrix_bluesky_version: v0.1.2 +matrix_mautrix_bluesky_version: v0.2510.0 # See: https://mau.dev/tulir/mautrix-bluesky/container_registry matrix_mautrix_bluesky_docker_image: "{{ matrix_mautrix_bluesky_docker_image_registry_prefix }}mautrix/bluesky:{{ matrix_mautrix_bluesky_version }}" matrix_mautrix_bluesky_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_bluesky_container_image_self_build else matrix_mautrix_bluesky_docker_image_registry_prefix_upstream }}" From 3ff32ec07a7db40d39d9df2664bd6ee60c05618c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:14:03 +0000 Subject: [PATCH 047/116] chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 94c8d3040..4090bde51 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -18,7 +18,7 @@ matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/ma matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/gmessages -matrix_mautrix_gmessages_version: v0.7.0 +matrix_mautrix_gmessages_version: v0.2510.0 # See: https://mau.dev/mautrix/gmessages/container_registry matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_registry_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" From 6190fe0ca27e30b54dde99467dd100328ab010e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:32 +0000 Subject: [PATCH 048/116] chore(deps): update dock.mau.dev/mautrix/meta docker tag to v0.2510.0 --- .../matrix-bridge-mautrix-meta-instagram/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-meta-messenger/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index cc78fbc0d..2b6eca747 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -20,7 +20,7 @@ matrix_mautrix_meta_instagram_enabled: true matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_instagram_version: v0.5.3 +matrix_mautrix_meta_instagram_version: v0.2510.0 matrix_mautrix_meta_instagram_base_path: "{{ matrix_base_data_path }}/mautrix-meta-instagram" matrix_mautrix_meta_instagram_config_path: "{{ matrix_mautrix_meta_instagram_base_path }}/config" diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index 646476807..03bb68ff4 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -20,7 +20,7 @@ matrix_mautrix_meta_messenger_enabled: true matrix_mautrix_meta_messenger_identifier: matrix-mautrix-meta-messenger # renovate: datasource=docker depName=dock.mau.dev/mautrix/meta -matrix_mautrix_meta_messenger_version: v0.5.3 +matrix_mautrix_meta_messenger_version: v0.2510.0 matrix_mautrix_meta_messenger_base_path: "{{ matrix_base_data_path }}/mautrix-meta-messenger" matrix_mautrix_meta_messenger_config_path: "{{ matrix_mautrix_meta_messenger_base_path }}/config" From b50d9352c3212952224763dec7c9a28e984d2786 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:36 +0000 Subject: [PATCH 049/116] chore(deps): update dock.mau.dev/mautrix/signal docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index ce3610ef4..d6f774924 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -25,7 +25,7 @@ matrix_mautrix_signal_container_image_self_build_repo: "https://mau.dev/mautrix/ matrix_mautrix_signal_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_signal_version == 'latest' else matrix_mautrix_signal_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/signal -matrix_mautrix_signal_version: v0.8.7 +matrix_mautrix_signal_version: v0.2510.0 # See: https://mau.dev/mautrix/signal/container_registry matrix_mautrix_signal_docker_image: "{{ matrix_mautrix_signal_docker_image_registry_prefix }}mautrix/signal:{{ matrix_mautrix_signal_docker_image_tag }}" From 2fea3c3e4a4a5e1085580b5b54cf8e846cb0b578 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:40 +0000 Subject: [PATCH 050/116] chore(deps): update dock.mau.dev/mautrix/slack docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index 71af1d915..f0b077d7e 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -17,7 +17,7 @@ matrix_mautrix_slack_container_image_self_build_repo: "https://mau.dev/mautrix/s matrix_mautrix_slack_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_slack_version == 'latest' else matrix_mautrix_slack_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/slack -matrix_mautrix_slack_version: v0.2.3 +matrix_mautrix_slack_version: v0.2510.0 # See: https://mau.dev/mautrix/slack/container_registry matrix_mautrix_slack_docker_image: "{{ matrix_mautrix_slack_docker_image_registry_prefix }}mautrix/slack:{{ matrix_mautrix_slack_version }}" matrix_mautrix_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_slack_container_image_self_build else matrix_mautrix_slack_docker_image_registry_prefix_upstream }}" From ae7847719d9859ffd6c9f2726e6677df1a03519d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:44 +0000 Subject: [PATCH 051/116] chore(deps): update dock.mau.dev/mautrix/twitter docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index a7b055f1b..2d2c12edc 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -22,7 +22,7 @@ matrix_mautrix_twitter_container_image_self_build_repo: "https://github.com/maut matrix_mautrix_twitter_container_image_self_build_repo_version: "{{ 'master' if matrix_mautrix_twitter_version == 'latest' else matrix_mautrix_twitter_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/twitter -matrix_mautrix_twitter_version: v0.5.0 +matrix_mautrix_twitter_version: v0.2510.0 # See: https://mau.dev/tulir/mautrix-twitter/container_registry matrix_mautrix_twitter_docker_image: "{{ matrix_mautrix_twitter_docker_image_registry_prefix }}mautrix/twitter:{{ matrix_mautrix_twitter_version }}" matrix_mautrix_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mautrix_twitter_container_image_self_build else matrix_mautrix_twitter_docker_image_registry_prefix_upstream }}" From a254f69e56dba5f17e3835ddf1026e9bea4cea34 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:48 +0000 Subject: [PATCH 052/116] chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.2510.0 --- roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index c8ad09c33..9b58c1eb7 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -28,7 +28,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp -matrix_mautrix_whatsapp_version: v0.12.5 +matrix_mautrix_whatsapp_version: v0.2510.0 # See: https://mau.dev/mautrix/whatsapp/container_registry matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_registry_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" From b2024fa7c12609164c80dddab4fd16f2655fab74 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 16 Oct 2025 17:59:09 +0300 Subject: [PATCH 053/116] Upgrade Matrix Authentication Service (1.4.0 -> 1.4.1) --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index 4d724e006..f24bcff16 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -22,7 +22,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 1.4.0 +matrix_authentication_service_version: 1.4.1 matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}" matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}" matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/" From dd70df545aa3849b1a41661b2ad5bba7eee396d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:11:01 +0000 Subject: [PATCH 054/116] chore(deps): update dependency prometheus to v3.7.1-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ca23db782..41749560d 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.7.0-0 + version: v3.7.1-0 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From 31f1d40a9fdf9915d49f56f740488f53a29a8378 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Fri, 17 Oct 2025 20:51:55 +0200 Subject: [PATCH 055/116] Fix GM displaynames, append (GMessages) by default --- roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 4090bde51..f966758ae 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -167,7 +167,7 @@ matrix_mautrix_gmessages_bridge_encryption_key_sharing_allow: "{{ matrix_mautrix # For compatibility with the older Gmessages bridge, you may wish to set the pickle key to: "go.mau.fi/mautrix-gmessages" matrix_mautrix_gmessages_bridge_encryption_pickle_key: mautrix.bridge.e2ee -matrix_mautrix_gmessages_network_displayname_template: "{% raw %}{{or .FullName .PhoneNumber}}{% endraw %}" +matrix_mautrix_gmessages_network_displayname_template: "{% raw %}{{or .FullName .PhoneNumber}} (GMessages){% endraw %}" matrix_mautrix_gmessages_appservice_username_template: "{% raw %}gmessages_{{.}}{% endraw %}" matrix_mautrix_gmessages_public_media_signing_key: '' diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 index 0f72c1f42..c5a7f96f4 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 @@ -2,9 +2,6 @@ # Network-specific config options network: # Displayname template for SMS users. - # {% raw %}{{.FullName}}{% endraw %} - Full name provided by the phone - # {% raw %}{{.FirstName}}{% endraw %} - First name provided by the phone - # {% raw %}{{.PhoneNumber}}{% endraw %} - Formatted phone number provided by the phone displayname_template: {{ matrix_mautrix_gmessages_network_displayname_template | to_json }} # Settings for how the bridge appears to the phone. device_meta: From 544d25e8c35d78006f885ce6f69e25ad0e788c01 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Fri, 17 Oct 2025 21:32:39 +0200 Subject: [PATCH 056/116] Fix Twitter displaynames --- roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml | 2 +- .../matrix-bridge-mautrix-twitter/templates/config.yaml.j2 | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index 2d2c12edc..8c21ec4f9 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -50,7 +50,7 @@ matrix_mautrix_twitter_appservice_public_address: '' # Displayname template for Twitter users. # {{ .DisplayName }} is replaced with the display name of the Twitter user. # {{ .Username }} is replaced with the username of the Twitter user. -matrix_mautrix_twitter_network_displayname_template: "{% raw %}{{ .DisplayName }}{% endraw %} (Twitter)" +matrix_mautrix_twitter_network_displayname_template: "{% raw %}{{ .DisplayName }} (Twitter){% endraw %}" matrix_mautrix_twitter_bridge_command_prefix: "!tw" diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 index 146043cbd..5c1e8d9c1 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 @@ -7,10 +7,6 @@ network: get_proxy_url: null # Displayname template for Twitter users. - # {% raw %} - # {{ .DisplayName }} is replaced with the display name of the Twitter user. - # {{ .Username }} is replaced with the username of the Twitter user. - # {% endraw %} displayname_template: {{ matrix_mautrix_twitter_network_displayname_template | to_json }} # Maximum number of conversations to sync on startup From d43f03bbca24ca63145cae2957f25063b213c760 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Fri, 17 Oct 2025 21:28:17 +0200 Subject: [PATCH 057/116] Add support for bridge self signing This also moves msc4190 to the correct section for twitter --- roles/custom/matrix-base/defaults/main.yml | 3 +++ .../matrix-bridge-mautrix-bluesky/defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../matrix-bridge-mautrix-signal/defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../matrix-bridge-mautrix-slack/defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ .../matrix-bridge-mautrix-twitter/defaults/main.yml | 1 + .../templates/config.yaml.j2 | 13 ++++++++----- .../defaults/main.yml | 1 + .../templates/config.yaml.j2 | 3 +++ 17 files changed, 40 insertions(+), 5 deletions(-) diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index 406cd9af0..f54e1e201 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -51,6 +51,9 @@ matrix_bridges_encryption_default: "{{ matrix_bridges_encryption_enabled }}" # Global var for enabling msc4190 ( On supported bridges) matrix_bridges_msc4190_enabled: "{{ matrix_authentication_service_enabled and matrix_bridges_encryption_enabled and matrix_synapse_experimental_features_msc3202_device_masquerading_enabled }}" +# Global var for enabling bridge self-signing ( On supported bridges) +matrix_bridges_self_sign_enabled: "{{ matrix_bridges_msc4190_enabled }}" + # Global var to enable/disable relay mode across all bridges with relay mode support matrix_bridges_relay_enabled: false diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml index d35fc8cfb..d1b63aeb6 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml @@ -35,6 +35,7 @@ matrix_mautrix_bluesky_homeserver_domain: '{{ matrix_domain }}' matrix_mautrix_bluesky_appservice_address: 'http://matrix-mautrix-bluesky:29340' matrix_mautrix_bluesky_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_bluesky_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # A public address that external services can use to reach this appservice. matrix_mautrix_bluesky_appservice_public_address: '' diff --git a/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 index 03ea60d2d..7fbac01d8 100644 --- a/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-bluesky/templates/config.yaml.j2 @@ -359,6 +359,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_bluesky_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_bluesky_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_bluesky_bridge_encryption_key_sharing_allow | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index f966758ae..95b581456 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -40,6 +40,7 @@ matrix_mautrix_gmessages_homeserver_domain: "{{ matrix_domain }}" matrix_mautrix_gmessages_appservice_address: "http://matrix-mautrix-gmessages:8080" matrix_mautrix_gmessages_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_gmessages_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" matrix_mautrix_gmessages_backfill_enabled: true matrix_mautrix_gmessages_backfill_max_initial_messages: 50 diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 index c5a7f96f4..ae87f818d 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-gmessages/templates/config.yaml.j2 @@ -356,6 +356,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_gmessages_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_gmessages_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_gmessages_bridge_encryption_key_sharing_allow | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml index 2b6eca747..84a63d17b 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml @@ -127,6 +127,7 @@ matrix_mautrix_meta_instagram_appservice_address: "http://{{ matrix_mautrix_meta matrix_mautrix_meta_instagram_appservice_id: "{{ matrix_mautrix_meta_instagram_meta_mode }}" matrix_mautrix_meta_instagram_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_meta_instagram_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons: # - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger diff --git a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2 index 06f7f2080..968d4eda9 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2 @@ -372,6 +372,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_meta_instagram_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_meta_instagram_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_meta_instagram_bridge_encryption_allow_key_sharing | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml index 03bb68ff4..0ebd90d4d 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml @@ -127,6 +127,7 @@ matrix_mautrix_meta_messenger_appservice_address: "http://{{ matrix_mautrix_meta matrix_mautrix_meta_messenger_appservice_id: "{{ matrix_mautrix_meta_messenger_meta_mode }}" matrix_mautrix_meta_messenger_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_meta_messenger_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # For Facebook/Messenger, we use the same `@messengerbot:example.com` username regardless of how bridging happens for multiple reasons: # - it's consistent - regardless of how bridging happens, the bridged service is actually Messenger diff --git a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2 index 055268aaf..2af47d5f8 100644 --- a/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2 @@ -372,6 +372,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_meta_messenger_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_meta_messenger_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_meta_messenger_bridge_encryption_allow_key_sharing | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml index d6f774924..e133bf9a3 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml @@ -48,6 +48,7 @@ matrix_mautrix_signal_homeserver_async_media: false matrix_mautrix_signal_appservice_address: "http://matrix-mautrix-signal:8080" matrix_mautrix_signal_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_signal_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" matrix_mautrix_signal_command_prefix: "!signal" diff --git a/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 index 24653c410..f2feecb3a 100644 --- a/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2 @@ -332,6 +332,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_signal_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_signal_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_signal_bridge_encryption_key_sharing_allow | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index f0b077d7e..94074bb3d 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -38,6 +38,7 @@ matrix_mautrix_slack_homeserver_async_media: false matrix_mautrix_slack_appservice_address: "http://matrix-mautrix-slack:8080" matrix_mautrix_slack_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_slack_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # Displayname template for Slack users. Available variables: # .Name - The username of the user diff --git a/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2 index 30ea0b349..f2a2e8782 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2 @@ -376,6 +376,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_slack_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_slack_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_slack_bridge_encryption_key_sharing_allow | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml index 8c21ec4f9..ca941c484 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-twitter/defaults/main.yml @@ -43,6 +43,7 @@ matrix_mautrix_twitter_homeserver_domain: '{{ matrix_domain }}' matrix_mautrix_twitter_appservice_address: 'http://matrix-mautrix-twitter:29327' matrix_mautrix_twitter_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_twitter_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # A public address that external services can use to reach this appservice. matrix_mautrix_twitter_appservice_public_address: '' diff --git a/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 index 5c1e8d9c1..441f0ad41 100644 --- a/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-twitter/templates/config.yaml.j2 @@ -205,11 +205,6 @@ appservice: # However, messages will not be guaranteed to be bridged in the same order they were sent in. # This value doesn't affect the registration file. async_transactions: false - # Whether to use MSC4190 instead of appservice login to create the bridge bot device. - # 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). - # Changing this option requires updating the appservice registration file. - msc4190: {{ matrix_mautrix_twitter_msc4190_enabled | to_json }} # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. as_token: {{ matrix_mautrix_twitter_appservice_token | to_json }} @@ -355,6 +350,14 @@ encryption: # Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data. # This option is not yet compatible with standard Matrix servers like Synapse and should not be used. appservice: {{ matrix_mautrix_twitter_bridge_encryption_appservice | to_json }} + # Whether to use MSC4190 instead of appservice login to create the bridge bot device. + # 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). + # Changing this option requires updating the appservice registration file. + msc4190: {{ matrix_mautrix_twitter_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_twitter_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_twitter_bridge_encryption_key_sharing_allow | to_json }} diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 9b58c1eb7..c5b4f1a6f 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -50,6 +50,7 @@ matrix_mautrix_whatsapp_homeserver_async_media: false matrix_mautrix_whatsapp_appservice_address: "http://matrix-mautrix-whatsapp:8080" matrix_mautrix_whatsapp_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_mautrix_whatsapp_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" matrix_mautrix_whatsapp_extev_polls: false diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2 index ed55cc586..91b3e801e 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/templates/config.yaml.j2 @@ -444,6 +444,9 @@ encryption: # 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. msc4190: {{ matrix_mautrix_whatsapp_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_mautrix_whatsapp_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_mautrix_whatsapp_bridge_encryption_key_sharing_allow | to_json }} From 16cf98e5e28e9df776f4c6a98f33bdb368b25d13 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 15:51:55 +0000 Subject: [PATCH 058/116] chore(deps): update dependency livekit_server to v1.9.2-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 41749560d..9f5a11f2c 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10532-1-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git - version: v1.9.1-0 + version: v1.9.2-0 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.14.0-2 From d2287ef2efdf6ee8653f5756e4ce5d70d2a491ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 19 Oct 2025 13:45:59 +0000 Subject: [PATCH 059/116] chore(deps): update dependency backup_borg to v1.4.1-1.9.14-3 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 9f5a11f2c..8a3f220e4 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-1.9.14-2 + version: v1.4.1-1.9.14-3 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From e24bcb73dc128d97f680720454a5ebd3e1884a59 Mon Sep 17 00:00:00 2001 From: Aine Date: Sun, 19 Oct 2025 20:24:53 +0100 Subject: [PATCH 060/116] borgmatic v2.0.9 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 8a3f220e4..511ecd63e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-1.9.14-3 + version: v1.4.1-2.0.9-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From b25dd4c8293cf70c9982c89705c2caadabfee45f Mon Sep 17 00:00:00 2001 From: Aine Date: Sun, 19 Oct 2025 20:31:56 +0100 Subject: [PATCH 061/116] borgmatic - remove deprecated options --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 511ecd63e..23d118a44 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-2.0.9-0 + version: v1.4.1-2.0.9-1 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From 92beb4ae5177ce418da8dc98ebf37c24b0cce190 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 01:00:35 +0000 Subject: [PATCH 062/116] chore(deps): update ghcr.io/jasonlaguidice/matrix-steam-bridge docker tag to v1.0.6 --- roles/custom/matrix-bridge-steam/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index fa75b1d0d..ca869dda2 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -13,7 +13,7 @@ matrix_steam_bridge_container_image_self_build_repo: "https://github.com/jasonla matrix_steam_bridge_container_image_self_build_repo_version: "{{ 'main' if matrix_steam_bridge_version == 'latest' else matrix_steam_bridge_version }}" # renovate: datasource=docker depName=ghcr.io/jasonlaguidice/matrix-steam-bridge -matrix_steam_bridge_version: 1.0.5 +matrix_steam_bridge_version: 1.0.6 matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }}" matrix_steam_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_steam_bridge_container_image_self_build else matrix_steam_bridge_docker_image_registry_prefix_upstream }}" matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}" From b5ffb9e72f5270f578329b51b6401d276e108910 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 20 Oct 2025 15:59:03 +0300 Subject: [PATCH 063/116] Upgrade Postgres (v18.0-0 -> v18.0-1) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 23d118a44..36db6d281 100644 --- a/requirements.yml +++ b/requirements.yml @@ -43,7 +43,7 @@ version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16 name: playbook_state_preserver - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git - version: v18.0-0 + version: v18.0-1 name: postgres - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git version: v18-0 From c7a3315af3d234126f8ee5ebf07013b1cfba8cca Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Mon, 20 Oct 2025 15:59:44 +0300 Subject: [PATCH 064/116] Restrict allowed Postgres versions (via `postgres_allowed_versions_auto`) when Borg Backup is enabled Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4632 --- group_vars/matrix_servers | 2 ++ 1 file changed, 2 insertions(+) diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index a7cbb0369..7962e137c 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -4203,6 +4203,8 @@ postgres_base_path: "{{ matrix_base_data_path }}/postgres" postgres_uid: "{{ matrix_user_uid }}" postgres_gid: "{{ matrix_user_gid }}" +postgres_allowed_versions_auto: "{{ backup_borg_supported_postgres_versions | map('int') if backup_borg_enabled | default(false) and backup_borg_postgresql_enabled | default(false) else [] }}" + postgres_connection_username: matrix postgres_db_name: matrix From 08acb5ea34aa792e42bf5382ce4a02b2c85b8e54 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 20 Oct 2025 17:19:33 +0100 Subject: [PATCH 065/116] adapt postgres changes in the borg role --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 36db6d281..4377ff6e7 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-2.0.9-1 + version: v1.4.1-2.0.9-2 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From 4c5804fc825884ee395adfc73ec16bf496e52752 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 04:53:03 +0000 Subject: [PATCH 066/116] chore(deps): update dependency docker to v7.8.0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 4377ff6e7..e2396912b 100644 --- a/requirements.yml +++ b/requirements.yml @@ -10,7 +10,7 @@ version: v0.4.1-1 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker - version: 7.7.0 + version: 7.8.0 name: docker - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a From f75ddd0a8054faabb15e9cc87ca35d2ea819fbe1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 21:48:15 +0000 Subject: [PATCH 067/116] chore(deps): update folivonet/matrix-sms-bridge docker tag to v0.5.13 --- roles/custom/matrix-bridge-sms/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-sms/defaults/main.yml b/roles/custom/matrix-bridge-sms/defaults/main.yml index 8d9eac2d1..a8ed64791 100644 --- a/roles/custom/matrix-bridge-sms/defaults/main.yml +++ b/roles/custom/matrix-bridge-sms/defaults/main.yml @@ -15,7 +15,7 @@ matrix_sms_bridge_enabled: true # renovate: datasource=docker depName=folivonet/matrix-sms-bridge -matrix_sms_bridge_version: 0.5.9 +matrix_sms_bridge_version: 0.5.13 matrix_sms_bridge_docker_image: "{{ matrix_sms_bridge_docker_image_registry_prefix }}folivonet/matrix-sms-bridge:{{ matrix_sms_bridge_docker_image_tag }}" matrix_sms_bridge_docker_image_registry_prefix: "{{ matrix_sms_bridge_docker_image_registry_prefix_upstream }}" matrix_sms_bridge_docker_image_registry_prefix_upstream: "{{ matrix_sms_bridge_docker_image_registry_prefix_upstream_default }}" From df6df6cbad78d6c1d84c59aef69a5f2e84ef0222 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 21 Oct 2025 16:15:38 +0000 Subject: [PATCH 068/116] chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.2 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index 234c9cf5a..b485dc087 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.12.1 +matrix_client_element_version: v1.12.2 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From c5d9e384aa6b7258da83f956ba03e101a086f989 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Oct 2025 05:58:03 +0000 Subject: [PATCH 069/116] chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2025.10.22 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index f5f86648d..1c4292812 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.10.15 +matrix_alertmanager_receiver_version: 2025.10.22 matrix_alertmanager_receiver_scheme: https From 6185c1e8cd250d965393e101117f917c9329a89f Mon Sep 17 00:00:00 2001 From: adam-kress Date: Tue, 21 Oct 2025 07:49:49 -0400 Subject: [PATCH 070/116] Upgrade Jitsi (v10532-1-0 -> v10590-0) --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index e2396912b..2a25fc420 100644 --- a/requirements.yml +++ b/requirements.yml @@ -25,7 +25,7 @@ version: v11.6.5-3 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git - version: v10532-1-0 + version: v10590-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git version: v1.9.2-0 From 81584bdc9c64be3abee8bca138894bac81da0024 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Oct 2025 07:39:20 +0000 Subject: [PATCH 071/116] chore(deps): update dependency valkey to v9 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 2a25fc420..9fca2eeb0 100644 --- a/requirements.yml +++ b/requirements.yml @@ -73,5 +73,5 @@ version: v2.10.0-2 name: traefik_certs_dumper - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git - version: v8.1.4-0 + version: v9-0 name: valkey From 2fc071981ef7c21845048ad1ee27918ee8d1e23f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Oct 2025 21:52:27 +0000 Subject: [PATCH 072/116] chore(deps): update dependency prometheus to v3.7.2-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 9fca2eeb0..998310cad 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.7.1-0 + version: v3.7.2-0 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From f541425a7f48d4bffeedbcad89e5b632f4d8740d Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 23 Oct 2025 16:44:06 +0100 Subject: [PATCH 073/116] Synapse Admin v0.11.1-etke49 --- roles/custom/matrix-synapse-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml index 3beb54a11..9e54b8d1d 100644 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ b/roles/custom/matrix-synapse-admin/defaults/main.yml @@ -25,7 +25,7 @@ matrix_synapse_admin_container_image_self_build: false matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc/synapse-admin.git" # renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin -matrix_synapse_admin_version: v0.11.1-etke48 +matrix_synapse_admin_version: v0.11.1-etke49 matrix_synapse_admin_docker_image: "{{ matrix_synapse_admin_docker_image_registry_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}" matrix_synapse_admin_docker_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_synapse_admin_docker_image_registry_prefix_upstream }}" matrix_synapse_admin_docker_image_registry_prefix_upstream: "{{ matrix_synapse_admin_docker_image_registry_prefix_upstream_default }}" From 93e45e6173836b403ab2bafb5f6fea06c9ff3791 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Oct 2025 17:58:31 +0000 Subject: [PATCH 074/116] chore(deps): update ghcr.io/element-hq/element-call docker tag to v0.16.1 --- roles/custom/matrix-element-call/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-call/defaults/main.yml b/roles/custom/matrix-element-call/defaults/main.yml index f33f3cd85..160a0bc58 100644 --- a/roles/custom/matrix-element-call/defaults/main.yml +++ b/roles/custom/matrix-element-call/defaults/main.yml @@ -21,7 +21,7 @@ matrix_element_call_enabled: false matrix_rtc_enabled: "{{ matrix_element_call_enabled }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-call -matrix_element_call_version: v0.16.0 +matrix_element_call_version: v0.16.1 matrix_element_call_scheme: https From e6f7cff9945f859dbc92f4b40aa7455d61708c33 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 10:26:08 +0000 Subject: [PATCH 075/116] chore(deps): update dependency backup_borg to v1.4.1-2.0.10-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 998310cad..f6d576fa6 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-2.0.9-2 + version: v1.4.1-2.0.10-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From 5caae3b5150eaa377082a6cb0dc00f3b27d0cce9 Mon Sep 17 00:00:00 2001 From: derhagen <> Date: Sat, 25 Oct 2025 17:54:26 +0200 Subject: [PATCH 076/116] Enable mautrix-slack relay mode with `matrix_bridges_relay_enabled` --- docs/configuring-playbook-bridge-mautrix-slack.md | 3 +-- roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/configuring-playbook-bridge-mautrix-slack.md b/docs/configuring-playbook-bridge-mautrix-slack.md index 6969510e7..5652b5a52 100644 --- a/docs/configuring-playbook-bridge-mautrix-slack.md +++ b/docs/configuring-playbook-bridge-mautrix-slack.md @@ -45,8 +45,7 @@ matrix_mautrix_slack_enabled: true There are some additional things you may wish to configure about the bridge. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. +See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. ## Installing diff --git a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml index 94074bb3d..74945204b 100644 --- a/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml @@ -195,7 +195,7 @@ matrix_mautrix_slack_provisioning_shared_secret: '' matrix_mautrix_slack_public_media_signing_key: '' # Controls whether relay mode is enabled -matrix_mautrix_slack_bridge_relay_enabled: false +matrix_mautrix_slack_bridge_relay_enabled: "{{ matrix_bridges_relay_enabled }}" # Controls whether only admins can set themselves as relay users matrix_mautrix_slack_bridge_relay_admin_only: true From 0f09fbdd81236e8dbf0970e01903bd519887cc83 Mon Sep 17 00:00:00 2001 From: Aine Date: Sat, 25 Oct 2025 17:03:05 +0100 Subject: [PATCH 077/116] update docs: Synapse Admin support OIDC auth (MAS) --- docs/configuring-playbook-matrix-authentication-service.md | 2 +- docs/configuring-playbook-synapse-admin.md | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index b1a110cf0..094bb4d7f 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -51,7 +51,7 @@ This section details what you can expect when switching to the Matrix Authentica - ❌ **Synapse password providers will need to be disabled**. You can no longer use [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc. When the authentication flow is handled by MAS (not by Synapse anymore), it doesn't make sense to extend the Synapse authentication flow with additional modules. Many bridges used to rely on shared-secret-auth for doing double-puppeting (impersonating other users), but most (at least the mautrix bridges) nowadays use [Appservice Double Puppet](./configuring-playbook-appservice-double-puppet.md) as a better alternative. Older/maintained bridges may still rely on shared-secret-auth, as do other services like [matrix-corporal](./configuring-playbook-matrix-corporal.md). -- ❌ Certain **tools like [synapse-admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. synapse-admin already supports [login with access token](https://github.com/etkecc/synapse-admin/pull/58), browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which synapse-admin cannot interact with yet. You may be interested in using [Element Admin](./configuring-playbook-element-admin.md) for these purposes. +- ❌ Certain **tools like [Synapse Admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. Synapse Admin already supports OIDC auth, browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which Synapse Admin cannot interact with yet. You may be interested in using [Element Admin](./configuring-playbook-element-admin.md) for these purposes. - ❌ **Some services experience issues when authenticating via MAS**: diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md index b35b28ccb..7abf4c696 100644 --- a/docs/configuring-playbook-synapse-admin.md +++ b/docs/configuring-playbook-synapse-admin.md @@ -41,9 +41,6 @@ matrix_synapse_admin_enabled: true By default, synapse-admin installation will be [restricted to only work with one homeserver](https://github.com/etkecc/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_synapse_admin_config_restrictBaseUrl` variable. -> [!WARNING] -> If you're using [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS) for authentication, you will be able to [log into synapse-admin with an access token](https://github.com/etkecc/synapse-admin/pull/58), but certain synapse-admin features (especially those around user management) will be limited or not work at all. You may be interested in using [Element Admin](docs/configuring-playbook-element-admin.md) for these purposes. - ### Adjusting the Synapse Admin URL (optional) By tweaking the `matrix_synapse_admin_hostname` and `matrix_synapse_admin_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. From 3ff7e2a6147e7bbe51af212f42792a257f855f03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 26 Oct 2025 06:14:33 +0000 Subject: [PATCH 078/116] chore(deps): update joseluisq/static-web-server docker tag to v2.39.0 --- roles/custom/matrix-cactus-comments-client/defaults/main.yml | 2 +- roles/custom/matrix-static-files/defaults/main.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/custom/matrix-cactus-comments-client/defaults/main.yml b/roles/custom/matrix-cactus-comments-client/defaults/main.yml index d24318d34..f5de37737 100644 --- a/roles/custom/matrix-cactus-comments-client/defaults/main.yml +++ b/roles/custom/matrix-cactus-comments-client/defaults/main.yml @@ -18,7 +18,7 @@ matrix_cactus_comments_client_public_path: "{{ matrix_cactus_comments_client_bas matrix_cactus_comments_client_public_path_file_permissions: "0644" # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_cactus_comments_client_version: 2.38.1 +matrix_cactus_comments_client_version: 2.39.0 matrix_cactus_comments_client_container_image: "{{ matrix_cactus_comments_client_container_image_registry_prefix }}joseluisq/static-web-server:{{ matrix_cactus_comments_client_container_image_tag }}" matrix_cactus_comments_client_container_image_registry_prefix: "{{ matrix_cactus_comments_client_container_image_registry_prefix_upstream }}" diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 738f6da47..68a29958a 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -13,7 +13,7 @@ matrix_static_files_enabled: true matrix_static_files_identifier: matrix-static-files # renovate: datasource=docker depName=joseluisq/static-web-server -matrix_static_files_version: 2.38.1 +matrix_static_files_version: 2.39.0 matrix_static_files_base_path: "{{ matrix_base_data_path }}/{{ 'static-files' if matrix_static_files_identifier == 'matrix-static-files' else matrix_static_files_identifier }}" matrix_static_files_config_path: "{{ matrix_static_files_base_path }}/config" From 8a838c16213f8929719aeb7d21021fe75cdb0a6f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 26 Oct 2025 22:33:23 +0000 Subject: [PATCH 079/116] chore(deps): update ghcr.io/jasonlaguidice/matrix-steam-bridge docker tag to v1.0.7 --- roles/custom/matrix-bridge-steam/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index ca869dda2..068f9e10d 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -13,7 +13,7 @@ matrix_steam_bridge_container_image_self_build_repo: "https://github.com/jasonla matrix_steam_bridge_container_image_self_build_repo_version: "{{ 'main' if matrix_steam_bridge_version == 'latest' else matrix_steam_bridge_version }}" # renovate: datasource=docker depName=ghcr.io/jasonlaguidice/matrix-steam-bridge -matrix_steam_bridge_version: 1.0.6 +matrix_steam_bridge_version: 1.0.7 matrix_steam_bridge_docker_image: "{{ matrix_steam_bridge_docker_image_registry_prefix }}jasonlaguidice/matrix-steam-bridge:{{ matrix_steam_bridge_version }}" matrix_steam_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_steam_bridge_container_image_self_build else matrix_steam_bridge_docker_image_registry_prefix_upstream }}" matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}" From 14d982c1ea50a15094abed00c25f3744baaf139a Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Mon, 27 Oct 2025 14:46:02 +0100 Subject: [PATCH 080/116] Add self-signing for steam-bridge --- roles/custom/matrix-bridge-steam/defaults/main.yml | 1 + roles/custom/matrix-bridge-steam/templates/config.yaml.j2 | 3 +++ 2 files changed, 4 insertions(+) diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index 068f9e10d..cce9beda8 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -32,6 +32,7 @@ matrix_steam_bridge_appservice_address: "http://matrix-steam-bridge:{{ matrix_st matrix_steam_bridge_appservice_port: "8080" matrix_steam_bridge_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" +matrix_steam_bridge_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" # A public address that external services can use to reach this appservice matrix_steam_bridge_appservice_public_address: "https://{{ matrix_server_fqn_matrix }}" diff --git a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 index 079bac84c..cd4473599 100644 --- a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 @@ -376,6 +376,9 @@ encryption: # 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. msc4190: {{ matrix_steam_bridge_msc4190_enabled | to_json }} + # Whether to enable self-signing for bridges (Only the bridge bot uses this for now) + # Requires msc4190 to replace keys on reset + self_sign: {{ matrix_steam_bridge_self_sign_enabled | to_json }} # 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. allow_key_sharing: {{ matrix_steam_bridge_bridge_encryption_key_sharing_allow | to_json }} From f92740929e4aa22d5880b92adefad1db207ed0e4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 19:11:26 +0000 Subject: [PATCH 081/116] chore(deps): update pre-commit hook fsfe/reuse-tool to v6.2.0 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f95e6c7d7..9e2ae51b6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,6 @@ repos: - id: codespell args: ["--skip=*.po,*.pot,i18n/"] - repo: https://github.com/fsfe/reuse-tool # https://reuse.software/dev/#pre-commit-hook - rev: v6.1.2 + rev: v6.2.0 hooks: - id: reuse From f547e19dcc49320dff78a5258e52c825ecb07b22 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Tue, 28 Oct 2025 12:33:11 +0100 Subject: [PATCH 082/116] Add support for some matrix-steam presence tracking vars --- .../matrix-bridge-steam/defaults/main.yml | 6 +++++ .../templates/config.yaml.j2 | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/roles/custom/matrix-bridge-steam/defaults/main.yml b/roles/custom/matrix-bridge-steam/defaults/main.yml index cce9beda8..77e3ec2b7 100644 --- a/roles/custom/matrix-bridge-steam/defaults/main.yml +++ b/roles/custom/matrix-bridge-steam/defaults/main.yml @@ -34,6 +34,12 @@ matrix_steam_bridge_appservice_port: "8080" matrix_steam_bridge_msc4190_enabled: "{{ matrix_bridges_msc4190_enabled }}" matrix_steam_bridge_self_sign_enabled: "{{ matrix_bridges_self_sign_enabled }}" +# matrix -> steam presence +matrix_steam_bridge_network_presence_enabled: true +# Default inactivity state +# This is what the bridge sets it's status to after some time of no user interaction +matrix_steam_bridge_network_presence_inactivity_status: 'invisible' + # A public address that external services can use to reach this appservice matrix_steam_bridge_appservice_public_address: "https://{{ matrix_server_fqn_matrix }}" diff --git a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 index cd4473599..3704a6523 100644 --- a/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 +++ b/roles/custom/matrix-bridge-steam/templates/config.yaml.j2 @@ -17,6 +17,32 @@ network: steam_bridge_auto_start: true steam_bridge_startup_timeout: 30 + # Presence synchronization settings + presence: + # Enable presence tracking from Matrix to Steam + # When enabled, your Steam status will automatically change based on + # your Matrix presence and activity + enabled: {{ matrix_steam_bridge_network_presence_enabled | to_json }} + + # Inactivity timeout in minutes before changing Steam status + # This is used as a fallback when your Matrix server doesn't support + # presence tracking. After this many minutes without Matrix activity, + # your Steam status will change (see inactivity_status below) + # Set to 0 to disable automatic away + inactivity_timeout: 15 + + # Status to set after inactivity timeout + # Valid values: "snooze" (appear away/idle) or "invisible" (appear offline) + inactivity_status: {{ matrix_steam_bridge_network_presence_inactivity_status | to_json }} + # Whether typing events in Matrix should reset the inactivity timer + # When true, typing will count as activity and keep you marked as online + typing_resets_presence: true + + # Whether sending read receipts in Matrix should reset the inactivity timer + # When true, reading messages will count as activity and keep you marked as online + read_receipts_reset_presence: false + + # Config options that affect the central bridge module. bridge: # The prefix for commands. Only required in non-management rooms. From bbcc94980b9556080e1fac8b18f5e3212021bc7f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Oct 2025 13:29:29 +0000 Subject: [PATCH 083/116] chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.5.0 --- roles/custom/matrix-authentication-service/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-authentication-service/defaults/main.yml b/roles/custom/matrix-authentication-service/defaults/main.yml index f24bcff16..3b1a46236 100644 --- a/roles/custom/matrix-authentication-service/defaults/main.yml +++ b/roles/custom/matrix-authentication-service/defaults/main.yml @@ -22,7 +22,7 @@ matrix_authentication_service_container_repo_version: "{{ 'main' if matrix_authe matrix_authentication_service_container_src_files_path: "{{ matrix_base_data_path }}/matrix-authentication-service/container-src" # renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service -matrix_authentication_service_version: 1.4.1 +matrix_authentication_service_version: 1.5.0 matrix_authentication_service_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_container_image_registry_prefix_upstream }}" matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_container_image_registry_prefix_upstream_default }}" matrix_authentication_service_container_image_registry_prefix_upstream_default: "ghcr.io/" From ca5e66ac2e14815873a7dbf7b28f4e3c85d9b049 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 02:02:35 +0000 Subject: [PATCH 084/116] chore(deps): update nginx docker tag to v1.29.3 --- .../matrix-synapse-reverse-proxy-companion/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml index c903ee31d..dab3ab4d9 100644 --- a/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml +++ b/roles/custom/matrix-synapse-reverse-proxy-companion/defaults/main.yml @@ -24,7 +24,7 @@ matrix_synapse_reverse_proxy_companion_enabled: true # renovate: datasource=docker depName=nginx -matrix_synapse_reverse_proxy_companion_version: 1.29.2-alpine +matrix_synapse_reverse_proxy_companion_version: 1.29.3-alpine matrix_synapse_reverse_proxy_companion_base_path: "{{ matrix_synapse_base_path }}/reverse-proxy-companion" matrix_synapse_reverse_proxy_companion_confd_path: "{{ matrix_synapse_reverse_proxy_companion_base_path }}/conf.d" From b6e1cdb638a66fe871247de20ff3226493a0638b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Oct 2025 22:41:30 +0000 Subject: [PATCH 085/116] chore(deps): update oci.element.io/element-admin docker tag to v0.1.7 --- roles/custom/matrix-element-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-admin/defaults/main.yml b/roles/custom/matrix-element-admin/defaults/main.yml index 17f548051..b9ca6c0f2 100644 --- a/roles/custom/matrix-element-admin/defaults/main.yml +++ b/roles/custom/matrix-element-admin/defaults/main.yml @@ -11,7 +11,7 @@ matrix_element_admin_enabled: true # renovate: datasource=docker depName=oci.element.io/element-admin -matrix_element_admin_version: 0.1.5 +matrix_element_admin_version: 0.1.7 matrix_element_admin_scheme: https From eb410d5df9597516b7c52d7b9ab0a157d07fabd3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:01:19 +0000 Subject: [PATCH 086/116] chore(deps): update dependency traefik to v3.5.4-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index f6d576fa6..909c10c87 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v1.1.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.5.3-0 + version: v3.5.4-0 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.10.0-2 From 32dd3c328b16fe2307e038c2dcde0b839f9fbe09 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:01:24 +0000 Subject: [PATCH 087/116] chore(deps): update oci.element.io/element-admin docker tag to v0.1.8 --- roles/custom/matrix-element-admin/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-element-admin/defaults/main.yml b/roles/custom/matrix-element-admin/defaults/main.yml index b9ca6c0f2..51d4274c8 100644 --- a/roles/custom/matrix-element-admin/defaults/main.yml +++ b/roles/custom/matrix-element-admin/defaults/main.yml @@ -11,7 +11,7 @@ matrix_element_admin_enabled: true # renovate: datasource=docker depName=oci.element.io/element-admin -matrix_element_admin_version: 0.1.7 +matrix_element_admin_version: 0.1.8 matrix_element_admin_scheme: https From c1bc2be7ecc8bcdab559e5dbe2f8ded6aeb8a526 Mon Sep 17 00:00:00 2001 From: Benjamin Blacher Date: Wed, 29 Oct 2025 15:43:53 +0100 Subject: [PATCH 088/116] Bump synapse, remove some recently stabilized features --- roles/custom/matrix-base/defaults/main.yml | 4 ++-- roles/custom/matrix-synapse/defaults/main.yml | 16 +--------------- .../templates/synapse/homeserver.yaml.j2 | 6 ------ 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/roles/custom/matrix-base/defaults/main.yml b/roles/custom/matrix-base/defaults/main.yml index f54e1e201..5c6723926 100644 --- a/roles/custom/matrix-base/defaults/main.yml +++ b/roles/custom/matrix-base/defaults/main.yml @@ -48,8 +48,8 @@ matrix_bridges_encryption_enabled: false # Global var to make encryption default/optional across all bridges with encryption support matrix_bridges_encryption_default: "{{ matrix_bridges_encryption_enabled }}" -# Global var for enabling msc4190 ( On supported bridges) -matrix_bridges_msc4190_enabled: "{{ matrix_authentication_service_enabled and matrix_bridges_encryption_enabled and matrix_synapse_experimental_features_msc3202_device_masquerading_enabled }}" +# Global var for enabling msc4190 (On supported bridges) +matrix_bridges_msc4190_enabled: "{{ matrix_authentication_service_enabled and matrix_bridges_encryption_enabled }}" # Global var for enabling bridge self-signing ( On supported bridges) matrix_bridges_self_sign_enabled: "{{ matrix_bridges_msc4190_enabled }}" diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index a11bfe5b3..0d03d8ca1 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -16,7 +16,7 @@ matrix_synapse_enabled: true matrix_synapse_github_org_and_repo: element-hq/synapse # renovate: datasource=docker depName=ghcr.io/element-hq/synapse -matrix_synapse_version: v1.140.0 +matrix_synapse_version: v1.141.0 matrix_synapse_username: '' matrix_synapse_uid: '' @@ -1245,13 +1245,6 @@ matrix_synapse_email_invite_client_location: "https://app.element.io" # - https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html#running-with-synapse matrix_synapse_experimental_features_msc2409_to_device_messages_enabled: false -# Controls whether to enable the "device masquerading" for encrypted appservices experimental feature. -# -# See: -# - https://github.com/matrix-org/matrix-spec-proposals/pull/3202 -# - https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html#running-with-synapse -matrix_synapse_experimental_features_msc3202_device_masquerading_enabled: false - # Controls whether to enable the "transaction extensions" for encrypted appservices experimental feature. # # See: @@ -1316,13 +1309,6 @@ matrix_synapse_experimental_features_msc4140_enabled: false # See `matrix_synapse_experimental_features_msc4140_enabled`. matrix_synapse_max_event_delay_duration: 24h -# Controls whether to enable the MSC4133 experimental feature (Custom profile fields). -# -# This allows clients to set custom profile fields (e.g. User Time Zone in Element Web) -# -# See https://github.com/matrix-org/matrix-spec-proposals/pull/4133 -matrix_synapse_experimental_features_msc4133_enabled: false - # Controls whether to enable the MSC4222 experimental feature (adding `state_after` to sync v2). # # Allow clients to opt-in to a change of the sync v2 API that allows them to correctly track the state of the room. diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 265052569..ff6f7b724 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -2998,9 +2998,6 @@ experimental_features: {% if matrix_synapse_experimental_features_msc2409_to_device_messages_enabled %} msc2409_to_device_messages_enabled: true {% endif %} - {% if matrix_synapse_experimental_features_msc3202_device_masquerading_enabled %} - msc3202_device_masquerading: true - {% endif %} {% if matrix_synapse_experimental_features_msc3202_transaction_extensions_enabled %} msc3202_transaction_extensions: true {% endif %} @@ -3010,9 +3007,6 @@ experimental_features: {% if matrix_synapse_experimental_features_msc4108_enabled %} msc4108_enabled: true {% endif %} - {% if matrix_synapse_experimental_features_msc4133_enabled %} - msc4133_enabled: true - {% endif %} {% if matrix_synapse_experimental_features_msc4140_enabled %} msc4140_enabled: true {% endif %} From afbf4df32db03db3fe6dd30e0a3c59b5f3971e50 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 29 Oct 2025 18:37:12 +0200 Subject: [PATCH 089/116] Add deprecation warnings for `matrix_synapse_experimental_features_msc3202_device_masquerading_enabled` and `matrix_synapse_experimental_features_msc4133_enabled` Follow-up to e0e403200206faac5fadd9d849826c7509d1bb65 --- roles/custom/matrix-synapse/tasks/validate_config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/custom/matrix-synapse/tasks/validate_config.yml b/roles/custom/matrix-synapse/tasks/validate_config.yml index 48930962b..9f10330a2 100644 --- a/roles/custom/matrix-synapse/tasks/validate_config.yml +++ b/roles/custom/matrix-synapse/tasks/validate_config.yml @@ -109,6 +109,8 @@ - {'old': 'matrix_s3_goofys_docker_image_name_prefix', 'new': 'matrix_s3_goofys_docker_image_registry_prefix'} - {'old': 'matrix_synapse_rust_synapse_compress_state_docker_image_name_prefix', 'new': 'matrix_synapse_rust_synapse_compress_state_docker_image_registry_prefix'} + - {'old': 'matrix_synapse_experimental_features_msc3202_device_masquerading_enabled', 'new': ''} - {'old': 'matrix_synapse_experimental_features_msc3861_client_id', 'new': ''} @@ -117,6 +119,8 @@ - {'old': 'matrix_synapse_experimental_features_msc3861_admin_token', 'new': ''} - {'old': 'matrix_synapse_experimental_features_msc3861_account_management_url', 'new': ''} + - {'old': 'matrix_synapse_experimental_features_msc4133_enabled', 'new': ''} + - {'old': 'matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled', 'new': ''} - name: (Deprecation) Catch and report renamed settings in matrix_synapse_configuration_extension_yaml From 1235ea886d1cb1b1fc41fde7c63c18204b5e480f Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Wed, 29 Oct 2025 18:38:10 +0200 Subject: [PATCH 090/116] Update `matrix_synapse_in_container_python_packages_path` for Synapse v1.141.0 (Python 3.12 -> 3.13) Ref: - https://github.com/element-hq/synapse/releases/tag/v1.141.0 - https://github.com/element-hq/synapse/pull/19064 > The Docker images are now based on Debian trixie and use Python 3.13. --- roles/custom/matrix-synapse/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 0d03d8ca1..a21a85b4d 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -365,7 +365,7 @@ matrix_synapse_goofys_systemd_required_services_list_custom: [] # This can be set to 0 to remove the delay. matrix_synapse_systemd_service_post_start_delay_seconds: 10 -matrix_synapse_in_container_python_packages_path: "/usr/local/lib/python3.12/site-packages" +matrix_synapse_in_container_python_packages_path: "/usr/local/lib/python3.13/site-packages" # Specifies which template files to use when configuring Synapse. # If you'd like to have your own different configuration, feel free to copy and paste From 5b4e1b1a7467f689e69b96b2eb9332b9c2b72931 Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 30 Oct 2025 09:25:48 +0000 Subject: [PATCH 091/116] FluffyChat v2.2.0 --- roles/custom/matrix-client-fluffychat/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-fluffychat/defaults/main.yml b/roles/custom/matrix-client-fluffychat/defaults/main.yml index 133816181..cdb3831d0 100644 --- a/roles/custom/matrix-client-fluffychat/defaults/main.yml +++ b/roles/custom/matrix-client-fluffychat/defaults/main.yml @@ -13,7 +13,7 @@ matrix_client_fluffychat_container_image_self_build_repo: "https://github.com/et matrix_client_fluffychat_container_image_self_build_version: "{{ 'main' if matrix_client_fluffychat_version == 'latest' else matrix_client_fluffychat_version }}" # renovate: datasource=docker depName=ghcr.io/etkecc/fluffychat-web -matrix_client_fluffychat_version: v2.1.1 +matrix_client_fluffychat_version: v2.2.0 matrix_client_fluffychat_docker_image: "{{ matrix_client_fluffychat_docker_image_registry_prefix }}etkecc/fluffychat-web:{{ matrix_client_fluffychat_version }}" matrix_client_fluffychat_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_fluffychat_container_image_self_build else matrix_client_fluffychat_docker_image_registry_prefix_upstream }}" matrix_client_fluffychat_docker_image_registry_prefix_upstream: "{{ matrix_client_fluffychat_docker_image_registry_prefix_upstream_default }}" From 9d049623305ba04b67c26f46263723311ff05b02 Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 30 Oct 2025 09:29:50 +0000 Subject: [PATCH 092/116] etherpad v2.5.2 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 909c10c87..3b0ed969d 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.5.0-3 + version: v2.5.2-0 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98.1-r0-2-2 From 710fe6cb6d87d1f65afbaeebb685ba267308bbff Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 30 Oct 2025 09:52:48 +0000 Subject: [PATCH 093/116] prometheus v3.7.3 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 3b0ed969d..ae2b63494 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.7.2-0 + version: v3.7.3-0 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From b108c8a15165cebe346c7b16cbe181a495db6bf7 Mon Sep 17 00:00:00 2001 From: Aine Date: Sat, 1 Nov 2025 08:45:20 +0000 Subject: [PATCH 094/116] borg v1.4.2 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index ae2b63494..7c2ac201f 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.1-2.0.10-0 + version: v1.4.2-2.0.10-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-1 From 7191c7a3be39594484299ac11517c8db0fc03393 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 09:39:03 +0000 Subject: [PATCH 095/116] chore(deps): update dependency container_socket_proxy to v0.4.1-2 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7c2ac201f..143017ab3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -7,7 +7,7 @@ version: v1.4.2-2.0.10-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git - version: v0.4.1-1 + version: v0.4.1-2 name: container_socket_proxy - src: git+https://github.com/geerlingguy/ansible-role-docker version: 7.8.0 From 3d5e3e4014cc1e46a341ce788c903d89f0d7e6a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 14:35:43 +0000 Subject: [PATCH 096/116] chore(deps): update dependency grafana to v11.6.5-4 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 143017ab3..2655e98c8 100644 --- a/requirements.yml +++ b/requirements.yml @@ -22,7 +22,7 @@ version: v4.98.1-r0-2-2 name: exim_relay - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-grafana.git - version: v11.6.5-3 + version: v11.6.5-4 name: grafana - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git version: v10590-0 From 87427b331a0dedb25ac1536587e0f0183bdc2f22 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 15:17:19 +0000 Subject: [PATCH 097/116] chore(deps): update dependency livekit_server to v1.9.3-0 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 2655e98c8..7ea80a092 100644 --- a/requirements.yml +++ b/requirements.yml @@ -28,7 +28,7 @@ version: v10590-0 name: jitsi - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git - version: v1.9.2-0 + version: v1.9.3-0 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git version: v2.14.0-2 From 506bf4d9aeac30745da63709a8f636f9428906a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 15:18:12 +0000 Subject: [PATCH 098/116] chore(deps): update dependency ntfy to v2.14.0-3 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7ea80a092..18e30f29d 100644 --- a/requirements.yml +++ b/requirements.yml @@ -31,7 +31,7 @@ version: v1.9.3-0 name: livekit_server - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git - version: v2.14.0-2 + version: v2.14.0-3 name: ntfy - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: 7663e3114513e56f28d3ed762059b445c678a71a From 7fbc55040a5229a032c458cd6e64c1e5b7547360 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 15:18:17 +0000 Subject: [PATCH 099/116] chore(deps): update dependency prometheus to v3.7.3-1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 18e30f29d..2d86bd968 100644 --- a/requirements.yml +++ b/requirements.yml @@ -49,7 +49,7 @@ version: v18-0 name: postgres_backup - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - version: v3.7.3-0 + version: v3.7.3-1 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git version: v1.9.1-11 From 1dab0ae510e0f38ebc149487e26649ab2b500c15 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 16:53:42 +0000 Subject: [PATCH 100/116] chore(deps): update dependency prometheus_node_exporter to v1.9.1-12 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 2d86bd968..01d083ce2 100644 --- a/requirements.yml +++ b/requirements.yml @@ -52,7 +52,7 @@ version: v3.7.3-1 name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter.git - version: v1.9.1-11 + version: v1.9.1-12 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git version: v0.18.1-0 From f068f42c6b4545f8501729a5b69182941ad9d1da Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 21:03:28 +0000 Subject: [PATCH 101/116] chore(deps): update dependency traefik to v3.5.4-1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 01d083ce2..1ded71fd7 100644 --- a/requirements.yml +++ b/requirements.yml @@ -67,7 +67,7 @@ version: v1.1.0-0 name: timesync - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git - version: v3.5.4-0 + version: v3.5.4-1 name: traefik - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git version: v2.10.0-2 From 80ff36ad06541f075f4478c105bdeccbba7525ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 21:03:23 +0000 Subject: [PATCH 102/116] chore(deps): update dependency prometheus_postgres_exporter to v0.18.1-1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 1ded71fd7..7c5fa993a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -55,7 +55,7 @@ version: v1.9.1-12 name: prometheus_node_exporter - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git - version: v0.18.1-0 + version: v0.18.1-1 name: prometheus_postgres_exporter - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git version: v1.4.1-0 From 37c02af0a68a5f96fcd112fb32abb12aa10ceaca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 2 Nov 2025 21:03:17 +0000 Subject: [PATCH 103/116] chore(deps): update dependency etherpad to v2.5.2-1 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index 7c5fa993a..b46e3bd0e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -16,7 +16,7 @@ version: 129c8590e106b83e6f4c259649a613c6279e937a name: docker_sdk_for_python - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git - version: v2.5.2-0 + version: v2.5.2-1 name: etherpad - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git version: v4.98.1-r0-2-2 From 7862fd7cddf82cc067962a6b55747c3242c05630 Mon Sep 17 00:00:00 2001 From: Aine Date: Mon, 3 Nov 2025 11:44:21 +0000 Subject: [PATCH 104/116] borgmatic v2.0.11 --- requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.yml b/requirements.yml index b46e3bd0e..8f0bd3ee8 100644 --- a/requirements.yml +++ b/requirements.yml @@ -4,7 +4,7 @@ version: v1.0.0-5 name: auxiliary - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg.git - version: v1.4.2-2.0.10-0 + version: v1.4.2-2.0.11-0 name: backup_borg - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-container-socket-proxy.git version: v0.4.1-2 From a406a57f01e61dabc592bae27e9b0ad2aedad522 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 15:01:54 +0900 Subject: [PATCH 105/116] Remove Go Skype Bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 8 + ...iguring-playbook-bridge-go-skype-bridge.md | 64 +---- ...iguring-playbook-bridge-mx-puppet-skype.md | 2 +- docs/configuring-playbook.md | 4 +- docs/container-images.md | 1 - group_vars/matrix_servers | 67 ----- .../defaults/main.yml | 164 ------------ .../tasks/main.yml | 25 -- .../tasks/setup_install.yml | 155 ------------ .../tasks/setup_uninstall.yml | 25 -- .../tasks/validate_config.yml | 28 --- .../templates/config.yaml.j2 | 237 ------------------ .../templates/config.yaml.j2.license | 6 - .../systemd/matrix-go-skype-bridge.service.j2 | 48 ---- .../matrix-go-skype-bridge.service.j2.license | 4 - .../tasks/validate_config.yml | 12 + setup.yml | 1 - 17 files changed, 34 insertions(+), 817 deletions(-) delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 delete mode 100644 roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index 4502b7512..5076af155 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 2025-11-04 + +## The Go Skype bridge has been removed from the playbook + +The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025. + +The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually). + # 2025-10-02 ## Element Admin support diff --git a/docs/configuring-playbook-bridge-go-skype-bridge.md b/docs/configuring-playbook-bridge-go-skype-bridge.md index 9ec4e1fe4..c32bd20da 100644 --- a/docs/configuring-playbook-bridge-go-skype-bridge.md +++ b/docs/configuring-playbook-bridge-go-skype-bridge.md @@ -1,68 +1,26 @@ -# Setting up Go Skype Bridge bridging (optional) +# Setting up Go Skype Bridge bridging (optional, removed) -The playbook can install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) for you, for bridging to [Skype](https://www.skype.com/). This bridge was created based on [mautrix-whatsapp](https://github.com/mautrix/whatsapp) and can be configured in a similar way to it. +🪦 The playbook used to be able to install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge), but no longer includes this component, as Skype has been discontinued since May 2025. -See the project's [documentation](https://github.com/kelaresg/go-skype-bridge/blob/master/README.md) to learn what it does and why it might be useful to you. +## Uninstalling the bridge manually -## Prerequisite (optional) +If you still have the Go Skype bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -### Enable Shared Secret Auth - -If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting. - -**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future. - -## Adjusting the playbook configuration - -To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_go_skype_bridge_enabled: true -``` - -### Extending the configuration - -There are some additional things you may wish to configure about the bridge. - -See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc. - -**Note**: when following the guide to configure the bridge, make sure to replace `_mautrix_SERVICENAME_` in the variable names with `_go_skype_bridge_`. - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -To use the bridge, you need to start a chat with `@skypebridgebot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -## Troubleshooting - -As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-go-skype-bridge`. - -### Increase logging verbosity +systemctl disable --now matrix-go-skype-bridge.service -The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook: +rm -rf /matrix/go-skype-bridge -```yaml -# Valid values: fatal, error, warn, info, debug -matrix_go_skype_bridge_log_level: 'info' +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_go_skype_bridge;' ``` diff --git a/docs/configuring-playbook-bridge-mx-puppet-skype.md b/docs/configuring-playbook-bridge-mx-puppet-skype.md index ffca067d6..c570c47f5 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-skype.md +++ b/docs/configuring-playbook-bridge-mx-puppet-skype.md @@ -10,4 +10,4 @@ SPDX-License-Identifier: AGPL-3.0-or-later 🪦 The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time. -Bridging to [Skype](https://www.skype.com/) can also happen via the [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) bridge supported by the playbook. +The playbook used to be able to install and configure [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) as alternative to this bridge, but no longer includes this component, because Skype has been discontinued since May 2025. diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 2b3de57ba..ac5ad30c8 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -188,8 +188,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up MX Puppet Steam bridging](configuring-playbook-bridge-mx-puppet-steam.md) -- [Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) - - [Setting up Postmoogle email bridging](configuring-playbook-bridge-postmoogle.md) - [Setting up Matrix SMS bridging](configuring-playbook-bridge-matrix-bridge-sms.md) @@ -281,6 +279,8 @@ Various services that don't fit any other categories. - [Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md)) +- [Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025) + - [Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md)) - [Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 6d0b668c8..1c96d87a0 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -108,7 +108,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-sms-bridge](configuring-playbook-bridge-matrix-bridge-sms.md) | [folivonet/matrix-sms-bridge](https://hub.docker.com/repository/docker/folivonet/matrix-sms-bridge) | ❌ | Bridge to SMS | | [matrix-wechat](configuring-playbook-bridge-wechat.md) | [lxduo/matrix-wechat](https://hub.docker.com/r/lxduo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | -| [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) | [nodefyme/go-skype-bridge](https://hub.docker.com/r/nodefyme/go-skype-bridge) | ❌ | Bridge to [Skype](https://www.skype.com) | | [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | | [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 7962e137c..dafbf7569 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -110,8 +110,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_beeper_linkedin_config_path + '/registration.yaml,dst=/matrix-beeper-linkedin-registration.yaml,ro'] if matrix_beeper_linkedin_enabled else []) + - (['--mount type=bind,src=' + matrix_go_skype_bridge_config_path + '/registration.yaml,dst=/matrix-go-skype-bridge-registration.yaml,ro'] if matrix_go_skype_bridge_enabled else []) - + (['--mount type=bind,src=' + matrix_wechat_config_path + '/registration.yaml,dst=/matrix-wechat-registration.yaml,ro'] if matrix_wechat_enabled else []) + (['--mount type=bind,src=' + matrix_heisenbridge_base_path + '/registration.yaml,dst=/heisenbridge-registration.yaml,ro'] if matrix_heisenbridge_enabled else []) @@ -185,8 +183,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-beeper-linkedin-registration.yaml'] if matrix_beeper_linkedin_enabled else []) + - (['/matrix-go-skype-bridge-registration.yaml'] if matrix_go_skype_bridge_enabled else []) - + (['/matrix-wechat-registration.yaml'] if matrix_wechat_enabled else []) + (['/heisenbridge-registration.yaml'] if matrix_heisenbridge_enabled else []) @@ -329,8 +325,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-beeper-linkedin.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'beeper-linkedin']}] if matrix_beeper_linkedin_enabled else []) + - ([{'name': 'matrix-go-skype-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'go-skype']}] if matrix_go_skype_bridge_enabled else []) - + ([{'name': 'matrix-wechat.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'wechat']}] if matrix_wechat_enabled else []) + ([{'name': 'matrix-wechat-agent.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'wechat']}] if matrix_wechat_enabled else []) @@ -1074,56 +1068,6 @@ matrix_beeper_linkedin_database_password: "{{ '%s' | format(matrix_homeserver_ge # ###################################################################### - -###################################################################### -# -# matrix-bridge-go-skype-bridge -# -###################################################################### - -# We don't enable bridges by default. -matrix_go_skype_bridge_enabled: false - -matrix_go_skype_bridge_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_go_skype_bridge_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_go_skype_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default }}" - -matrix_go_skype_bridge_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}" - -matrix_go_skype_bridge_container_network: "{{ matrix_addons_container_network }}" - -matrix_go_skype_bridge_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_go_skype_bridge_database_hostname == postgres_connection_hostname and matrix_go_skype_bridge_container_network != postgres_container_network) else []) - ) | unique - }} - -matrix_go_skype_bridge_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'skype.as.token', rounds=655555) | to_uuid }}" - -matrix_go_skype_bridge_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_go_skype_bridge_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'skype.hs.token', rounds=655555) | to_uuid }}" - -matrix_go_skype_bridge_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_go_skype_bridge_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_go_skype_bridge_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_go_skype_bridge_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'goskype.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-go-skype-bridge -# -###################################################################### - ###################################################################### # # matrix-bridge-mautrix-bluesky @@ -4352,12 +4296,6 @@ postgres_managed_databases_auto: | 'password': matrix_beeper_linkedin_database_password, }] if (matrix_beeper_linkedin_enabled and matrix_beeper_linkedin_database_engine == 'postgres' and matrix_beeper_linkedin_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_go_skype_bridge_database_name, - 'username': matrix_go_skype_bridge_database_username, - 'password': matrix_go_skype_bridge_database_password, - }] if (matrix_go_skype_bridge_enabled and matrix_go_skype_bridge_database_engine == 'postgres' and matrix_go_skype_bridge_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_wechat_database_name, 'username': matrix_wechat_database_username, @@ -5285,11 +5223,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@linkedin_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_beeper_linkedin_enabled else []) + - ([ - '^@'+(matrix_go_skype_bridge_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$', - '^@skype_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_go_skype_bridge_enabled else []) - + ([ '^@heisenbridge:'+(matrix_domain | regex_escape)+'$', '^@hbirc_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml deleted file mode 100644 index 92f43be70..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/defaults/main.yml +++ /dev/null @@ -1,164 +0,0 @@ -# SPDX-FileCopyrightText: 2022 - 2023 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 - 2025 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Arthur Brugière -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# Go Skype Bridge is a Matrix <-> Skype bridge -# Project source code URL: https://github.com/kelaresg/go-skype-bridge - -matrix_go_skype_bridge_enabled: true - -matrix_go_skype_bridge_container_image_self_build: false -matrix_go_skype_bridge_container_image_self_build_repo: "https://github.com/kelaresg/go-skype-bridge.git" -matrix_go_skype_bridge_container_image_self_build_branch: "{{ 'master' if matrix_go_skype_bridge_version == 'latest' else matrix_go_skype_bridge_version }}" - -# renovate: datasource=docker depName=nodefyme/go-skype-bridge -matrix_go_skype_bridge_version: latest -matrix_go_skype_bridge_docker_image: "{{ matrix_go_skype_bridge_docker_image_registry_prefix }}nodefyme/go-skype-bridge:{{ matrix_go_skype_bridge_version }}" -matrix_go_skype_bridge_docker_image_registry_prefix: "{{ 'localhost/' if matrix_go_skype_bridge_container_image_self_build else matrix_go_skype_bridge_docker_image_registry_prefix_upstream }}" -matrix_go_skype_bridge_docker_image_registry_prefix_upstream: "{{ matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default }}" -matrix_go_skype_bridge_docker_image_registry_prefix_upstream_default: "docker.io/" -matrix_go_skype_bridge_docker_image_force_pull: "{{ matrix_go_skype_bridge_docker_image.endswith(':latest') }}" - -matrix_go_skype_bridge_base_path: "{{ matrix_base_data_path }}/go-skype-bridge" -matrix_go_skype_bridge_config_path: "{{ matrix_go_skype_bridge_base_path }}/config" -matrix_go_skype_bridge_data_path: "{{ matrix_go_skype_bridge_base_path }}/data" -matrix_go_skype_bridge_docker_src_files_path: "{{ matrix_go_skype_bridge_base_path }}/docker-src" - -matrix_go_skype_bridge_homeserver_address: "" -matrix_go_skype_bridge_homeserver_domain: "{{ matrix_domain }}" -matrix_go_skype_bridge_appservice_address: 'http://matrix-go-skype-bridge:8080' - -matrix_go_skype_bridge_container_network: "" - -matrix_go_skype_bridge_container_additional_networks: "{{ matrix_go_skype_bridge_container_additional_networks_auto + matrix_go_skype_bridge_container_additional_networks_custom }}" -matrix_go_skype_bridge_container_additional_networks_auto: [] -matrix_go_skype_bridge_container_additional_networks_custom: [] - -# A list of extra arguments to pass to the container -matrix_go_skype_bridge_container_extra_arguments: [] - -# List of systemd services that matrix-go-skype-bridge.service depends on. -matrix_go_skype_bridge_systemd_required_services_list: "{{ matrix_go_skype_bridge_systemd_required_services_list_default + matrix_go_skype_bridge_systemd_required_services_list_auto + matrix_go_skype_bridge_systemd_required_services_list_custom }}" -matrix_go_skype_bridge_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_go_skype_bridge_systemd_required_services_list_auto: [] -matrix_go_skype_bridge_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-go-skype-bridge.service wants -matrix_go_skype_bridge_systemd_wanted_services_list: [] - -matrix_go_skype_bridge_appservice_token: '' -matrix_go_skype_bridge_homeserver_token: '' - -matrix_go_skype_bridge_appservice_bot_username: skypebridgebot - -matrix_go_skype_bridge_command_prefix: "!skype" - -# Whether or not created rooms should have federation enabled. -# If false, created portal rooms will never be federated. -matrix_go_skype_bridge_federate_rooms: true - -# Database-related configuration fields. -# -# To use SQLite, stick to these defaults. -# -# To use Postgres: -# - change the engine (`matrix_go_skype_bridge_database_engine: 'postgres'`) -# - adjust your database credentials via the `matrix_go_skype_bridge_database_*` variables -matrix_go_skype_bridge_database_engine: 'sqlite' - -matrix_go_skype_bridge_sqlite_database_path_local: "{{ matrix_go_skype_bridge_data_path }}/go-skype-bridge.db" -matrix_go_skype_bridge_sqlite_database_path_in_container: "/data/go-skype-bridge.db" - -matrix_go_skype_bridge_database_username: 'matrix_go_skype_bridge' -matrix_go_skype_bridge_database_password: 'some-password' -matrix_go_skype_bridge_database_hostname: '' -matrix_go_skype_bridge_database_port: 5432 -matrix_go_skype_bridge_database_name: 'matrix_go_skype_bridge' -matrix_go_skype_bridge_database_sslmode: disable - -matrix_go_skype_bridge_database_connection_string: 'postgresql://{{ matrix_go_skype_bridge_database_username }}:{{ matrix_go_skype_bridge_database_password }}@{{ matrix_go_skype_bridge_database_hostname }}:{{ matrix_go_skype_bridge_database_port }}/{{ matrix_go_skype_bridge_database_name }}?sslmode={{ matrix_go_skype_bridge_database_sslmode }}' - -matrix_go_skype_bridge_appservice_database_type: "{{ - { - 'sqlite': 'sqlite3', - 'postgres':'postgres', - }[matrix_go_skype_bridge_database_engine] -}}" - -matrix_go_skype_bridge_appservice_database_uri: "{{ - { - 'sqlite': matrix_go_skype_bridge_sqlite_database_path_in_container, - 'postgres': matrix_go_skype_bridge_database_connection_string, - }[matrix_go_skype_bridge_database_engine] -}}" - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_go_skype_bridge_login_shared_secret: '' -matrix_go_skype_bridge_bridge_login_shared_secret_map: - "{{ {matrix_go_skype_bridge_homeserver_domain: matrix_go_skype_bridge_login_shared_secret} if matrix_go_skype_bridge_login_shared_secret else {} }}" - -# Servers to always allow double puppeting from -matrix_go_skype_bridge_bridge_double_puppet_server_map: - "{{ matrix_go_skype_bridge_homeserver_domain: matrix_go_skype_bridge_homeserver_address }}" - -# Enable End-to-bridge encryption -matrix_go_skype_bridge_bridge_encryption_allow: "{{ matrix_bridges_encryption_enabled }}" -matrix_go_skype_bridge_bridge_encryption_default: "{{ matrix_bridges_encryption_default }}" - -# Minimum severity of journal log messages. -# Valid values: fatal, error, warn, info, debug -matrix_go_skype_bridge_log_level: 'warn' - -matrix_go_skype_bridge_bridge_permissions: | - {{ - {matrix_go_skype_bridge_homeserver_domain: 'user'} - | combine({matrix_admin: 'admin'} if matrix_admin else {}) - }} - -# Default go-skype-bridge configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_go_skype_bridge_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_go_skype_bridge_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_go_skype_bridge_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_go_skype_bridge_configuration_yaml`). - # - # 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 - # completely redefining `matrix_go_skype_bridge_configuration_yaml`. - -matrix_go_skype_bridge_configuration_extension: "{{ matrix_go_skype_bridge_configuration_extension_yaml | from_yaml if matrix_go_skype_bridge_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# 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_go_skype_bridge_configuration_yaml`. -matrix_go_skype_bridge_configuration: "{{ matrix_go_skype_bridge_configuration_yaml | from_yaml | combine(matrix_go_skype_bridge_configuration_extension, recursive=True) }}" - -matrix_go_skype_bridge_registration_yaml: | - id: skype - url: {{ matrix_go_skype_bridge_appservice_address }} - as_token: "{{ matrix_go_skype_bridge_appservice_token }}" - hs_token: "{{ matrix_go_skype_bridge_homeserver_token }}" - # See https://github.com/mautrix/signal/issues/43 - sender_localpart: _bot_{{ matrix_go_skype_bridge_appservice_bot_username }} - rate_limited: false - namespaces: - users: - - regex: '^@skype-(.*):{{ matrix_go_skype_bridge_homeserver_domain | regex_escape }}$' - exclusive: true - - exclusive: true - regex: '^@{{ matrix_go_skype_bridge_appservice_bot_username | regex_escape }}:{{ matrix_go_skype_bridge_homeserver_domain | regex_escape }}$' - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_go_skype_bridge_registration: "{{ matrix_go_skype_bridge_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml deleted file mode 100644 index a92f08d98..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-FileCopyrightText: 2019 - 2023 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-go-skype-bridge - - install-all - - install-go-skype-bridge - block: - - when: matrix_go_skype_bridge_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_go_skype_bridge_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-go-skype-bridge - block: - - when: not matrix_go_skype_bridge_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml deleted file mode 100644 index e877e9dfd..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_install.yml +++ /dev/null @@ -1,155 +0,0 @@ -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- ansible.builtin.set_fact: - matrix_go_skype_bridge_requires_restart: false - -- when: "matrix_go_skype_bridge_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" - register: matrix_go_skype_bridge_sqlite_database_path_local_stat_result - - - when: "matrix_go_skype_bridge_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_go_skype_bridge_sqlite_database_path_local }}" - dst: "{{ matrix_go_skype_bridge_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_go_skype_bridge_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-go-skype-bridge.service'] - pgloader_options: ['--with "quote identifiers"'] - - - ansible.builtin.set_fact: - matrix_go_skype_bridge_requires_restart: true - -- name: Ensure Go Skype Bridge paths exists - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_go_skype_bridge_base_path }}", when: true} - - {path: "{{ matrix_go_skype_bridge_config_path }}", when: true} - - {path: "{{ matrix_go_skype_bridge_data_path }}", when: true} - - {path: "{{ matrix_go_skype_bridge_docker_src_files_path }}", when: "{{ matrix_go_skype_bridge_container_image_self_build }}"} - when: item.when | bool - -- name: Ensure Go Skype Bridge image is pulled - community.docker.docker_image: - name: "{{ matrix_go_skype_bridge_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_go_skype_bridge_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_go_skype_bridge_docker_image_force_pull }}" - when: not matrix_go_skype_bridge_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure Go Skype Bridge repository is present on self-build - ansible.builtin.git: - repo: "{{ matrix_go_skype_bridge_container_image_self_build_repo }}" - dest: "{{ matrix_go_skype_bridge_docker_src_files_path }}" - version: "{{ matrix_go_skype_bridge_container_image_self_build_branch }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_go_skype_bridge_git_pull_results - when: "matrix_go_skype_bridge_container_image_self_build | bool" - -- name: Ensure Go Skype Bridge Docker image is built - community.docker.docker_image: - name: "{{ matrix_go_skype_bridge_docker_image }}" - source: build - force_source: "{{ matrix_go_skype_bridge_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_go_skype_bridge_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_go_skype_bridge_docker_src_files_path }}" - pull: true - when: "matrix_go_skype_bridge_container_image_self_build | bool" - -- name: Check if an old database file exists - ansible.builtin.stat: - path: "{{ matrix_go_skype_bridge_base_path }}/go-skype-bridge.db" - register: matrix_go_skype_bridge_stat_database - -- name: Check if an old Matrix state file exists - ansible.builtin.stat: - path: "{{ matrix_go_skype_bridge_base_path }}/mx-state.json" - register: matrix_go_skype_bridge_stat_mx_state - -- name: (Data relocation) Ensure matrix-go-skype-bridge.service is stopped - ansible.builtin.service: - name: matrix-go-skype-bridge - state: stopped - enabled: false - daemon_reload: true - failed_when: false - when: "matrix_go_skype_bridge_stat_database.stat.exists" - -- name: (Data relocation) Move go-skype-bridge database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_go_skype_bridge_base_path }}/go-skype-bridge.db {{ matrix_go_skype_bridge_data_path }}/go-skype-bridge.db" - creates: "{{ matrix_go_skype_bridge_data_path }}/go-skype-bridge.db" - removes: "{{ matrix_go_skype_bridge_base_path }}/go-skype-bridge.db" - when: "matrix_go_skype_bridge_stat_database.stat.exists" - -- name: (Data relocation) Move go-skype-bridge mx-state file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_go_skype_bridge_base_path }}/mx-state.json {{ matrix_go_skype_bridge_data_path }}/mx-state.json" - creates: "{{ matrix_go_skype_bridge_data_path }}/mx-state.json" - removes: "{{ matrix_go_skype_bridge_base_path }}/mx-state.json" - when: "matrix_go_skype_bridge_stat_mx_state.stat.exists" - -- name: Ensure go-skype-bridge config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_go_skype_bridge_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_go_skype_bridge_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure go-skype-bridge registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_go_skype_bridge_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_go_skype_bridge_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure matrix-go-skype-bridge container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_go_skype_bridge_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-go-skype-bridge.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-go-skype-bridge.service.j2" - dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-go-skype-bridge.service" - mode: 0644 - register: matrix_go_skype_bridge_systemd_service_result - -- name: Ensure matrix-go-skype-bridge.service restarted, if necessary - ansible.builtin.service: - name: "matrix-go-skype-bridge.service" - state: restarted - daemon_reload: true - when: "matrix_go_skype_bridge_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml deleted file mode 100644 index b7d3373c3..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/setup_uninstall.yml +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-go-skype-bridge service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-go-skype-bridge.service" - register: matrix_go_skype_bridge_service_stat - -- when: matrix_go_skype_bridge_service_stat.stat.exists | bool - block: - - name: Ensure matrix-go-skype-bridge is stopped - ansible.builtin.service: - name: matrix-go-skype-bridge - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-go-skype-bridge.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-go-skype-bridge.service" - state: absent diff --git a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml b/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml deleted file mode 100644 index b1c73a99c..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/tasks/validate_config.yml +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Vladimir Panteleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required go-skype-bridge settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" - with_items: - - {'name': 'matrix_go_skype_bridge_appservice_token', when: true} - - {'name': 'matrix_go_skype_bridge_homeserver_address', when: true} - - {'name': 'matrix_go_skype_bridge_homeserver_token', when: true} - - {'name': 'matrix_go_skype_bridge_database_hostname', when: "{{ matrix_go_skype_bridge_database_engine == 'postgres' }}"} - - {'name': 'matrix_go_skype_bridge_container_network', when: true} - -- name: (Deprecation) Catch and report renamed go-skype-bridge variables - ansible.builtin.fail: - msg: >- - Your configuration contains a variable, which now has a different name. - 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" - with_items: - - {'old': 'matrix_go_skype_bridge_docker_image_name_prefix', 'new': 'matrix_go_skype_bridge_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2 b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2 deleted file mode 100644 index 219a7e97d..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2 +++ /dev/null @@ -1,237 +0,0 @@ -#jinja2: lstrip_blocks: True -# Homeserver details. -homeserver: - # The address that this appservice can use to connect to the homeserver. - address: {{ matrix_go_skype_bridge_homeserver_address }} - # The domain of the homeserver (for MXIDs, etc). - domain: {{ matrix_go_skype_bridge_homeserver_domain }} - # If you don’t know what this is, no need to modify(for parse "mention user/reply message, etc") - server_name: matrix.to - -# Application service host/registration related details. -# Changing these values requires regeneration of the registration. -appservice: - # The address that the homeserver can use to connect to this appservice. - address: {{ matrix_go_skype_bridge_appservice_address }} - - # 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. - type: {{ matrix_go_skype_bridge_appservice_database_type|to_json }} - # The database URI. - # SQLite: File name is enough. https://github.com/mattn/go-sqlite3#connection-string - # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable - uri: {{ matrix_go_skype_bridge_appservice_database_uri|to_json }} - # Maximum number of connections. Mostly relevant for Postgres. - max_open_conns: 20 - max_idle_conns: 2 - - # Settings for provisioning API - provisioning: - # Prefix for the provisioning API paths. - prefix: /_matrix/provision/v1 - # Shared secret for authentication. If set to "disable", the provisioning API will be disabled. - shared_secret: disable - - # The unique ID of this appservice. - id: skype - # Appservice bot details. - bot: - # Username of the appservice bot. - username: skypebridgebot - # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty - # to leave display name/avatar as-is. - displayname: Skype bridge bot - avatar: mxc://matrix.org/kGQUDQyPiwbRXPFkjoBrPyhC - - # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify. - as_token: "{{ matrix_go_skype_bridge_appservice_token }}" - hs_token: "{{ matrix_go_skype_bridge_homeserver_token }}" - -# Bridge config -bridge: - # Localpart template of MXIDs for Skype users. - # {{ '{{.}}' }} is replaced with the phone number of the Skype user. - username_template: {{ 'skype-{{.}}' }} - # Displayname template for Skype users. - # {{ '{{.Notify}}' }} - nickname set by the Skype user - # {{ '{{.Jid}}' }} - phone number (international format) - # The following variables are also available, but will cause problems on multi-user instances: - # {{ '{{.Name}}' }} - display name from contact list - # {{ '{{.Short}}' }} - short display name from contact list - # To use multiple if's, you need to use: {{ '{{else if .Name}}' }}, for example: - # "{{ '{{if .Notify}}' }}{{ '{{.Notify}}' }}{{ '{{else if .Name}}' }}{{ '{{.Name}}' }}{{ '{{else}}' }}{{ '{{.Jid}}' }}{{ '{{end}}' }} (WA)" - displayname_template: "{{ '{{if .DisplayName}}' }}{{ '{{.DisplayName}}' }}{{ '{{else}}' }}{{ '{{.PersonId}}' }}{{ '{{end}}' }} (Skype)" - # Localpart template for per-user room grouping community IDs. - # On startup, the bridge will try to create these communities, add all of the specific user's - # portals to the community, and invite the Matrix user to it. - # (Note that, by default, non-admins might not have your homeserver's permission to create - # communities.) - # {{ '{{.Localpart}}' }} is the MXID localpart and {{ '{{.Server}}' }} is the MXID server part of the user. - community_template: skype-{{ '{{.Localpart}}' }}={{ '{{.Server}}' }} - - # Skype connection timeout in seconds. - connection_timeout: 20 - # If Skype doesn't respond within connection_timeout, should the bridge try to fetch the message - # to see if it was actually bridged? Use this if you have problems with sends timing out but actually - # succeeding. - fetch_message_on_timeout: false - # Whether or not the bridge should send a read receipt from the bridge bot when a message has been - # sent to Skype. If fetch_message_on_timeout is enabled, a successful post-timeout fetch will - # trigger a read receipt too. - delivery_receipts: false - # Number of times to regenerate QR code when logging in. - # The regenerated QR code is sent as an edit and essentially multiplies the login timeout (20 seconds) - login_qr_regen_count: 2 - # Maximum number of times to retry connecting on connection error. - max_connection_attempts: 3 - # Number of seconds to wait between connection attempts. - # Negative numbers are exponential backoff: -connection_retry_delay + 1 + 2^attempts - connection_retry_delay: -1 - # Whether or not the bridge should send a notice to the user's management room when it retries connecting. - # If false, it will only report when it stops retrying. - report_connection_retry: true - # Maximum number of seconds to wait for chats to be sent at startup. - # If this is too low and you have lots of chats, it could cause backfilling to fail. - chat_list_wait: 30 - # Maximum number of seconds to wait to sync portals before force unlocking message processing. - # If this is too low and you have lots of chats, it could cause backfilling to fail. - portal_sync_wait: 600 - - # Whether or not to send call start/end notices to Matrix. - call_notices: - start: true - end: true - - # Number of chats to sync for new users. - # Since some of the obtained conversations are not the conversations that the user needs to see, - # the actual number of conversations displayed on the Matrix client will be slightly less than the set value - initial_chat_sync_count: 10 - # Number of old messages to fill when creating new portal rooms. - initial_history_fill_count: 20 - # Whether or not notifications should be turned off while filling initial history. - # Only applicable when using double puppeting. - initial_history_disable_notifications: false - # Maximum number of chats to sync when recovering from downtime. - # Set to -1 to sync all new chats during downtime. - recovery_chat_sync_limit: -1 - # Whether or not to sync history when recovering from downtime. - recovery_history_backfill: true - # Maximum number of seconds since last message in chat to skip - # syncing the chat in any case. This setting will take priority - # over both recovery_chat_sync_limit and initial_chat_sync_count. - # Default is 3 days = 259200 seconds - sync_max_chat_age: 259200 - - # sync contact, Non-martix-standard parameter, defaults to false - sync_contact: false - - # Whether or not to sync with custom puppets to receive EDUs that - # are not normally sent to appservices. - sync_with_custom_puppets: true - - # Servers to always allow double puppeting from - double_puppet_server_map: - "{{ matrix_go_skype_bridge_homeserver_domain }}": {{ matrix_go_skype_bridge_homeserver_address }} - # Allow using double puppeting from any server with a valid client .well-known file. - double_puppet_allow_discovery: false - # Shared secret for https://github.com/devture/matrix-synapse-shared-secret-auth - # - # If set, custom puppets will be enabled automatically for local users - # instead of users having to find an access token and run `login-matrix` - # manually. - login_shared_secret_map: {{ matrix_go_skype_bridge_bridge_login_shared_secret_map|to_json }} - - # Whether or not to invite own Skype user's Matrix puppet into private - # chat portals when backfilling if needed. - # This always uses the default puppet instead of custom puppets due to - # rate limits and timestamp massaging. - invite_own_puppet_for_backfilling: true - # Whether or not to explicitly set the avatar and room name for private - # chat portal rooms. This can be useful if the previous field works fine, - # but causes room avatar/name bugs. - private_chat_portal_meta: true - - # Whether or not thumbnails from Skype should be sent. - # They're disabled by default due to very low resolution. - Skype_thumbnail: false - - # Allow invite permission for user. User can invite any bots to room with Skype - # users (private chat and groups) - allow_user_invite: false - - # The prefix for commands. Only required in non-management rooms. - command_prefix: "{{ matrix_go_skype_bridge_command_prefix }}" - - # End-to-bridge encryption support options. This requires login_shared_secret to be configured - # in order to get a device for the bridge bot. - # - # Additionally, https://github.com/matrix-org/synapse/pull/5758 is required if using a normal - # application service. - encryption: - # Allow encryption, work in group chat rooms with e2ee enabled - allow: {{ matrix_go_skype_bridge_bridge_encryption_allow|to_json }} - # Default to encryption, force-enable encryption in all portals the bridge creates - # This will cause the bridge bot to be in private chats for the encryption to work properly. - # It is recommended to also set private_chat_portal_meta to true when using this. - default: {{ matrix_go_skype_bridge_bridge_encryption_default|to_json }} - - puppet_id: - # when set to true, the matrixid of the contact (puppet) from the bridge to the Matrix will be encrypted into another string - allow: false - # 8 characters - key: '12dsf323' - # Use the username_template prefix. (Warning: At present, username_template cannot be too complicated, otherwise this function may cause unknown errors) - username_template_prefix: 'skype-' - - # Permissions for using the bridge. - # Permitted values: - # relaybot - Talk through the relaybot (if enabled), no access otherwise - # user - Access to use the bridge to chat with a Skype account. - # admin - User level and some additional administration tools - # Permitted keys: - # * - All Matrix users - # domain - All users on that homeserver - # mxid - Specific user - permissions: {{ matrix_go_skype_bridge_bridge_permissions|to_json }} - - relaybot: - # Whether or not relaybot support is enabled. - enabled: false - # The management room for the bot. This is where all status notifications are posted and - # in this room, you can use `!wa ` instead of `!wa relaybot `. Omitting - # the command prefix completely like in user management rooms is not possible. - management: '!qporfwt:example.com' - # List of users to invite to all created rooms that include the relaybot. - invites: [] - # The formats to use when sending messages to Skype via the relaybot. - message_formats: - m.text: "{{ '{{ .Sender.Displayname }}' }}: {{ '{{ .Message }}' }}" - m.notice: "{{ '{{ .Sender.Displayname }}' }}:: {{ '{{ .Message }}' }}" - m.emote: "* {{ '{{ .Sender.Displayname }}' }}: {{ '{{ .Message }}' }}" - m.file: "{{ '{{ .Sender.Displayname }}' }}: sent a file" - m.image: "{{ '{{ .Sender.Displayname }}' }}: sent an image" - m.audio: "{{ '{{ .Sender.Displayname }}' }}: sent an audio file" - m.video: "{{ '{{ .Sender.Displayname }}' }}: sent a video" - m.location: "{{ '{{ .Sender.Displayname }}' }}: sent a location" - -# Logging config. -logging: - # The directory for log files. Will be created if not found. - directory: ./logs - # Available variables: .Date for the file date and .Index for different log files on the same day. - # empty/null = journal logging only - file_name_format: - # Date format for file names in the Go time format: https://golang.org/pkg/time/#pkg-constants - file_date_format: "2006-01-02" - # Log file permissions. - file_mode: 0600 - # Timestamp format for log entries in the Go time format. - timestamp_format: "Jan _2, 2006 15:04:05" - # Minimum severity for log messages. - # Options: debug, info, warn, error, fatal - print_level: {{ matrix_go_skype_bridge_log_level }} diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license deleted file mode 100644 index c9507bbdb..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/config.yaml.j2.license +++ /dev/null @@ -1,6 +0,0 @@ -SPDX-FileCopyrightText: 2022 MDAD project contributors -SPDX-FileCopyrightText: 2022 Nikita Chernyi -SPDX-FileCopyrightText: 2022 Vladimir Panteleev -SPDX-FileCopyrightText: 2024 Suguru Hirahara - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 deleted file mode 100644 index 816dd676a..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2 +++ /dev/null @@ -1,48 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Go Skype Bridge bridge -{% for service in matrix_go_skype_bridge_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_go_skype_bridge_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-go-skype-bridge 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-go-skype-bridge \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_go_skype_bridge_container_network }} \ - --mount type=bind,src={{ matrix_go_skype_bridge_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_go_skype_bridge_data_path }},dst=/data \ - --workdir=/data \ - {% for arg in matrix_go_skype_bridge_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_go_skype_bridge_docker_image }} \ - /usr/bin/matrix-skype -c /config/config.yaml -r /config/registration.yaml - -{% for network in matrix_go_skype_bridge_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-go-skype-bridge -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-go-skype-bridge - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-go-skype-bridge 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-go-skype-bridge 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-go-skype-bridge - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license b/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license deleted file mode 100644 index 9815cd215..000000000 --- a/roles/custom/matrix-bridge-go-skype-bridge/templates/systemd/matrix-go-skype-bridge.service.j2.license +++ /dev/null @@ -1,4 +0,0 @@ -SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -SPDX-FileCopyrightText: 2022 Vladimir Panteleev - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 53d0a32d4..a6858c6da 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -558,3 +558,15 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_email2matrix_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_email2matrix_.+', wantlist=True) | length > 0" + +- name: (Deprecation) Catch and report go-skype-bridge variables + ansible.builtin.fail: + msg: |- + The go-skype-bridge was completely removed from the playbook in November 2025, as Skype has been discontinued since May 2025. + + Please remove all `matrix_go_skype_bridge_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-go-skype-bridge.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_go_skype_bridge_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_go_skype_bridge_.+', wantlist=True) | length > 0" diff --git a/setup.yml b/setup.yml index 7e4168440..bdcfcc7fb 100644 --- a/setup.yml +++ b/setup.yml @@ -60,7 +60,6 @@ - custom/matrix-bridge-appservice-irc - custom/matrix-bridge-appservice-kakaotalk - custom/matrix-bridge-beeper-linkedin - - custom/matrix-bridge-go-skype-bridge - custom/matrix-bridge-wechat - custom/matrix-bridge-mautrix-facebook - custom/matrix-bridge-mautrix-twitter From dd2ce83fc2b93a4a8a2b0ba39c29ca65c63e50ee Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 17:14:33 +0900 Subject: [PATCH 106/116] Remove an entry for go-skype-bridge on README.md Signed-off-by: Suguru Hirahara --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 265bc81ef..54e57e10d 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) | ❌ | Bridge to SMS | [Link](docs/configuring-playbook-bridge-matrix-bridge-sms.md) | | [matrix-wechat](https://github.com/duo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | [Link](docs/configuring-playbook-bridge-wechat.md) | | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | -| [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) | ❌ | Bridge to [Skype](https://www.skype.com) | [Link](docs/configuring-playbook-bridge-go-skype-bridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | | [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md) | | [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md) | From bac0463bc844bedd2ed87fd12979b67f1d6787bb Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 22:41:22 +0900 Subject: [PATCH 107/116] Update README.md: move an entry for `matrix-steam-bridge` up Signed-off-by: Suguru Hirahara --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54e57e10d..690fe2cc0 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) | ❌ | Bridge to [Slack](https://slack.com/) | [Link](docs/configuring-playbook-bridge-appservice-slack.md) | | [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) | ❌ | Bridge for generic webhooks and multiple project management services, such as GitHub, GitLab, Figma, and Jira in particular | [Link](docs/configuring-playbook-bridge-hookshot.md) | | [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) | ❌ | Bridge to SMS | [Link](docs/configuring-playbook-bridge-matrix-bridge-sms.md) | +| [matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | [Link](docs/configuring-playbook-bridge-steam.md) | | [matrix-wechat](https://github.com/duo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | [Link](docs/configuring-playbook-bridge-wechat.md) | | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | @@ -140,7 +141,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | -| [matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | [Link](docs/configuring-playbook-bridge-steam.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | ### Bots From d9d671d8d9921711422ffabc323da0b50a079e84 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 22:45:23 +0900 Subject: [PATCH 108/116] Update links to `mx-puppet-steam` Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 2 +- README.md | 2 +- docs/configuring-playbook-bridge-mx-puppet-steam.md | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5076af155..a21e040a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2833,7 +2833,7 @@ See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrati ## Steam bridging support via mx-puppet-steam -Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started. +Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started. # 2020-07-01 diff --git a/README.md b/README.md index 690fe2cc0..b75240a8f 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Bridges can be used to connect your Matrix installation with third-party communi | [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md) | | [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | -| [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | +| [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | ### Bots diff --git a/docs/configuring-playbook-bridge-mx-puppet-steam.md b/docs/configuring-playbook-bridge-mx-puppet-steam.md index d0987773b..6c662561f 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-steam.md +++ b/docs/configuring-playbook-bridge-mx-puppet-steam.md @@ -11,9 +11,9 @@ SPDX-License-Identifier: AGPL-3.0-or-later **Note**: This bridge has been deprecated in favor of the [matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge) bridge for Steam, which can be [installed using this playbook](configuring-playbook-bridge-steam.md). Consider using that bridge instead of this one. -The playbook can install and configure [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) for you. +The playbook can install and configure [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) for you. -See the project's [documentation](https://github.com/icewind1991/mx-puppet-steam/blob/master/README.md) to learn what it does and why it might be useful to you. +See the project's [documentation](https://codeberg.org/icewind/mx-puppet-steam/blob/master/README.md) to learn what it does and why it might be useful to you. ## Adjusting the playbook configuration @@ -40,7 +40,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju To use the bridge, you need to start a chat with `Steam Puppet Bridge` with the handle `@_steampuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). -Three authentication methods are available, Legacy Token, OAuth and xoxc token. See mx-puppet-steam [documentation](https://github.com/icewind1991/mx-puppet-steam) for more information about how to configure the bridge. +Three authentication methods are available, Legacy Token, OAuth and xoxc token. See mx-puppet-steam [documentation](https://codeberg.org/icewind/mx-puppet-steam) for more information about how to configure the bridge. Once logged in, send `list` to the bot user to list the available rooms. From fba4ee598a91021bfb7c7a1c55fb79f1150ec63c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 20:11:44 +0000 Subject: [PATCH 109/116] chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.3 --- roles/custom/matrix-client-element/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index b485dc087..318fdf99b 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -29,7 +29,7 @@ matrix_client_element_container_image_self_build_repo: "https://github.com/eleme matrix_client_element_container_image_self_build_low_memory_system_patch_enabled: "{{ ansible_memtotal_mb < 4096 }}" # renovate: datasource=docker depName=ghcr.io/element-hq/element-web -matrix_client_element_version: v1.12.2 +matrix_client_element_version: v1.12.3 matrix_client_element_docker_image: "{{ matrix_client_element_docker_image_registry_prefix }}element-hq/element-web:{{ matrix_client_element_version }}" matrix_client_element_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_element_container_image_self_build else matrix_client_element_docker_image_registry_prefix_upstream }}" From 0579e14d6b009f63f5939e1cd169db1513fe6447 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 17:30:33 +0900 Subject: [PATCH 110/116] Remove MX Puppet Twitter bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 8 + README.md | 1 - ...iguring-playbook-bridge-mautrix-twitter.md | 2 - ...uring-playbook-bridge-mx-puppet-twitter.md | 56 ++---- docs/configuring-playbook.md | 4 +- docs/container-images.md | 2 +- group_vars/matrix_servers | 80 -------- .../defaults/main.yml | 184 ------------------ .../tasks/main.yml | 26 --- .../tasks/setup_install.yml | 155 --------------- .../tasks/setup_uninstall.yml | 26 --- .../tasks/validate_config.yml | 32 --- .../templates/config.yaml.j2 | 79 -------- .../templates/config.yaml.j2.license | 5 - .../templates/labels.j2 | 47 ----- .../matrix-mx-puppet-twitter.service.j2 | 51 ----- ...atrix-mx-puppet-twitter.service.j2.license | 5 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 19 files changed, 37 insertions(+), 739 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/labels.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index a21e040a0..1324fba9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # 2025-11-04 +## The MX Puppet Twitter bridge has been removed from the playbook + +The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. + +The playbook will let you know if you're using any `matrix_mx_puppet_twitter_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually). + +# 2025-11-04 + ## The Go Skype bridge has been removed from the playbook The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025. diff --git a/README.md b/README.md index b75240a8f..49fe94d17 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | | [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md) | -| [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md) | | [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | diff --git a/docs/configuring-playbook-bridge-mautrix-twitter.md b/docs/configuring-playbook-bridge-mautrix-twitter.md index 0698135df..1a51dfbd6 100644 --- a/docs/configuring-playbook-bridge-mautrix-twitter.md +++ b/docs/configuring-playbook-bridge-mautrix-twitter.md @@ -11,8 +11,6 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) bridge supported by the playbook. - The playbook can install and configure [mautrix-twitter](https://github.com/mautrix/twitter) for you. See the project's [documentation](https://github.com/mautrix/twitter/blob/master/README.md) to learn what it does and why it might be useful to you. diff --git a/docs/configuring-playbook-bridge-mx-puppet-twitter.md b/docs/configuring-playbook-bridge-mx-puppet-twitter.md index b2ecb54c8..0ea17cff0 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-twitter.md +++ b/docs/configuring-playbook-bridge-mx-puppet-twitter.md @@ -1,57 +1,29 @@ -# Setting up MX Puppet Twitter bridging (optional) +# Setting up MX Puppet Twitter bridging (optional, removed) -**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook. +🪦 The playbook used to be able to install and configure [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter), but no longer includes this component, as it has been unmaintained for a long time. -The playbook can install and configure [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) for you. +You may wish to use the [Mautrix Twitter bridge](https://github.com/mautrix/twitter) instead. -See the project's [documentation](https://github.com/Sorunome/mx-puppet-twitter/blob/master/README.md) to learn what it does and why it might be useful to you. +## Uninstalling the bridge manually -## Prerequisite +If you still have the MX Puppet Twitter bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -Make an app on [developer.twitter.com](https://developer.twitter.com/en/apps). - -## Adjusting the playbook configuration - -To enable the [Twitter](https://twitter.com) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_mx_puppet_twitter_enabled: true -matrix_mx_puppet_twitter_consumer_key: '' -matrix_mx_puppet_twitter_consumer_secret: '' -matrix_mx_puppet_twitter_access_token: '' -matrix_mx_puppet_twitter_access_token_secret: '' -matrix_mx_puppet_twitter_environment: '' -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` +systemctl disable --now matrix-mx-puppet-twitter.service -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` +rm -rf /matrix/mx-puppet-twitter -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -To use the bridge, you need to start a chat with `Twitter Puppet Bridge` with the handle `@_twitterpuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -To log in, use `link` and click the link. - -Once logged in, send `list` to the bot user to list the available rooms. - -Clicking rooms in the list will result in you receiving an invitation to the bridged room. - -Send `help` to the bot to see the available commands. +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mx_puppet_twitter;' +``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index ac5ad30c8..9e6e59355 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -178,8 +178,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) -- [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) - - [Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) - [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md) @@ -288,3 +286,5 @@ Various services that don't fit any other categories. - [Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md)) - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) + +- [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 1c96d87a0..6d8e47298 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -110,7 +110,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | | [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | -| [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | | [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | | [mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md) | [xangelix/mx-puppet-groupme](https://hub.docker.com/r/xangelix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | | [matrix-steam-bridge](configuring-playbook-bridge-steam.md) | [jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | @@ -185,3 +184,4 @@ The list of the deprecated or unmaintained services is available [here](configur | [matrix-chatgpt-bot](configuring-playbook-bot-chatgpt.md) | [matrixgpt/matrix-chatgpt-bot](https://ghcr.io/matrixgpt/matrix-chatgpt-bot) | ❌ | Accessing ChatGPT via your favourite Matrix client | | [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) | | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | +| [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index dafbf7569..c06964fdb 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -156,8 +156,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mx_puppet_steam_config_path + '/registration.yaml,dst=/matrix-mx-puppet-steam-registration.yaml,ro'] if matrix_mx_puppet_steam_enabled else []) + - (['--mount type=bind,src=' + matrix_mx_puppet_twitter_config_path + '/registration.yaml,dst=/matrix-mx-puppet-twitter-registration.yaml,ro'] if matrix_mx_puppet_twitter_enabled else []) - + (['--mount type=bind,src=' + matrix_sms_bridge_config_path + '/registration.yaml,dst=/matrix-sms-bridge-registration.yaml,ro'] if matrix_sms_bridge_enabled else []) + (['--mount type=bind,src=' + matrix_steam_bridge_config_path + '/registration.yaml,dst=/matrix-steam-bridge-registration.yaml,ro'] if matrix_steam_bridge_enabled else []) @@ -229,8 +227,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mx-puppet-steam-registration.yaml'] if matrix_mx_puppet_steam_enabled else []) + - (['/matrix-mx-puppet-twitter-registration.yaml'] if matrix_mx_puppet_twitter_enabled else []) - + (['/matrix-sms-bridge-registration.yaml'] if matrix_sms_bridge_enabled else []) + (['/matrix-cactus-comments.yaml'] if matrix_cactus_comments_enabled else []) @@ -373,8 +369,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mx-puppet-steam.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) + - ([{'name': 'matrix-mx-puppet-twitter.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-twitter']}] if matrix_mx_puppet_twitter_enabled else []) - + ([{'name': 'matrix-postmoogle.service', 'priority': 2200, 'groups': ['matrix', 'bridges', 'postmoogle']}] if matrix_postmoogle_enabled else []) + ([{'name': 'matrix-sms-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'sms']}] if matrix_sms_bridge_enabled else []) @@ -2375,69 +2369,6 @@ matrix_mx_puppet_slack_database_password: "{{ '%s' | format(matrix_homeserver_ge # ###################################################################### -###################################################################### -# -# matrix-bridge-mx-puppet-twitter -# -###################################################################### - -# We don't enable bridges by default. -matrix_mx_puppet_twitter_enabled: false - -matrix_mx_puppet_twitter_hostname: "{{ matrix_server_fqn_matrix }}" - -matrix_mx_puppet_twitter_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" - -matrix_mx_puppet_twitter_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - -matrix_mx_puppet_twitter_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '' ~ matrix_mx_puppet_twitter_appservice_port) if matrix_playbook_service_host_bind_interface_prefix else '' }}" - -matrix_mx_puppet_twitter_container_network: "{{ matrix_addons_container_network }}" - -matrix_mx_puppet_twitter_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname and matrix_mx_puppet_twitter_container_network != postgres_container_network) else []) - + - ([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_mx_puppet_twitter_container_labels_traefik_enabled) else []) - ) | unique - }} - -matrix_mx_puppet_twitter_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_mx_puppet_twitter_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_mx_puppet_twitter_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" - -matrix_mx_puppet_twitter_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxtwt.as.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_twitter_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mx_puppet_twitter_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxtwt.hs.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_twitter_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -matrix_mx_puppet_twitter_presence_enabled: "{{ matrix_homeserver_implementation != 'synapse' or matrix_synapse_presence_enabled }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_mx_puppet_twitter_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mx_puppet_twitter_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mx_puppet_twitter_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxpup.twitter.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mx-puppet-twitter -# -###################################################################### - - ###################################################################### # # matrix-bridge-mx-puppet-instagram @@ -4392,12 +4323,6 @@ postgres_managed_databases_auto: | 'password': matrix_mx_puppet_slack_database_password, }] if (matrix_mx_puppet_slack_enabled and matrix_mx_puppet_slack_database_engine == 'postgres' and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mx_puppet_twitter_database_name, - 'username': matrix_mx_puppet_twitter_database_username, - 'password': matrix_mx_puppet_twitter_database_password, - }] if (matrix_mx_puppet_twitter_enabled and matrix_mx_puppet_twitter_database_engine == 'postgres' and matrix_mx_puppet_twitter_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mx_puppet_instagram_database_name, 'username': matrix_mx_puppet_instagram_database_username, @@ -5326,11 +5251,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@_steampuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_steam_enabled else []) + - ([ - '^@'+(matrix_mx_puppet_twitter_bot_localpart | default('') | regex_escape)+':'+ (matrix_domain | regex_escape)+'$', - '^@'+(matrix_mx_puppet_twitter_namespace_prefix | default('') | regex_escape)+'[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mx_puppet_twitter_enabled else []) - + ([ '^@smsbot:'+(matrix_domain | regex_escape)+'$', '^@sms_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml deleted file mode 100644 index 9f14f1272..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/defaults/main.yml +++ /dev/null @@ -1,184 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -# Mx Puppet Twitter is a Matrix <-> Twitter bridge -# Project source code URL: https://github.com/Sorunome/mx-puppet-twitter - -matrix_mx_puppet_twitter_enabled: true - -matrix_mx_puppet_twitter_scheme: https -matrix_mx_puppet_twitter_hostname: '' -matrix_mx_puppet_twitter_path_prefix: /twitter/webhook - -matrix_mx_puppet_twitter_container_image_self_build: false -matrix_mx_puppet_twitter_container_image_self_build_repo: "https://github.com/Sorunome/mx-puppet-twitter.git" - -# Controls whether the mx-puppet-twitter container exposes its HTTP port (tcp/8432 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:8432"), or empty string to not expose. -matrix_mx_puppet_twitter_container_http_host_bind_port: '' - -# renovate: datasource=docker depName=sorunome/mx-puppet-twitter -matrix_mx_puppet_twitter_version: latest -matrix_mx_puppet_twitter_docker_image: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix }}sorunome/mx-puppet-twitter:{{ matrix_mx_puppet_twitter_version }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_twitter_container_image_self_build else matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default }}" -matrix_mx_puppet_twitter_docker_image_registry_prefix_upstream_default: "docker.io/" -matrix_mx_puppet_twitter_docker_image_force_pull: "{{ matrix_mx_puppet_twitter_docker_image.endswith(':latest') }}" - -matrix_mx_puppet_twitter_base_path: "{{ matrix_base_data_path }}/mx-puppet-twitter" -matrix_mx_puppet_twitter_config_path: "{{ matrix_mx_puppet_twitter_base_path }}/config" -matrix_mx_puppet_twitter_data_path: "{{ matrix_mx_puppet_twitter_base_path }}/data" -matrix_mx_puppet_twitter_docker_src_files_path: "{{ matrix_mx_puppet_twitter_base_path }}/docker-src" - -matrix_mx_puppet_twitter_appservice_port: "8432" - -matrix_mx_puppet_twitter_homeserver_address: "" -matrix_mx_puppet_twitter_homeserver_domain: '{{ matrix_domain }}' -matrix_mx_puppet_twitter_appservice_address: 'http://matrix-mx-puppet-twitter:{{ matrix_mx_puppet_twitter_appservice_port }}' - -matrix_mx_puppet_twitter_consumer_key: '' -matrix_mx_puppet_twitter_consumer_secret: '' -matrix_mx_puppet_twitter_access_token: '' -matrix_mx_puppet_twitter_access_token_secret: '' -matrix_mx_puppet_twitter_environment: '' -matrix_mx_puppet_twitter_server_path: "{{ matrix_mx_puppet_twitter_path_prefix }}" -matrix_mx_puppet_twitter_server_url: '{{ matrix_homeserver_url }}{{ matrix_mx_puppet_twitter_server_path }}' - -# "@alice:example.com" to allow a specific user -# "@.*:example.com" to allow users on a specific homeserver -# "@.*" to allow anyone -matrix_mx_puppet_twitter_provisioning_whitelist: - - "@.*:{{ matrix_domain | regex_escape }}" - -# Leave empty to disable blacklist -# "@bob:example.com" to disallow a specific user -# "@.*:example.com" to disallow users on a specific homeserver -matrix_mx_puppet_twitter_provisioning_blacklist: [] - -matrix_mx_puppet_twitter_container_network: "" - -matrix_mx_puppet_twitter_container_additional_networks: "{{ matrix_mx_puppet_twitter_container_additional_networks_auto + matrix_mx_puppet_twitter_container_additional_networks_custom }}" -matrix_mx_puppet_twitter_container_additional_networks_auto: [] -matrix_mx_puppet_twitter_container_additional_networks_custom: [] - -# matrix_mx_puppet_twitter_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. -# -# To inject your own other container labels, see `matrix_mx_puppet_twitter_container_labels_additional_labels`. -matrix_mx_puppet_twitter_container_labels_traefik_enabled: true -matrix_mx_puppet_twitter_container_labels_traefik_docker_network: "{{ matrix_mx_puppet_twitter_container_network }}" -matrix_mx_puppet_twitter_container_labels_traefik_entrypoints: web-secure -matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver: default # noqa var-naming - -# Controls whether labels will be added that expose mx-puppet-twitter's public endpoint -matrix_mx_puppet_twitter_container_labels_public_endpoint_enabled: true -matrix_mx_puppet_twitter_container_labels_public_endpoint_hostname: "{{ matrix_mx_puppet_twitter_hostname }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_path_prefix: "{{ matrix_mx_puppet_twitter_path_prefix }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_rule: "Host(`{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_hostname }}`) && PathPrefix(`{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_path_prefix }}`)" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_priority: 0 -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints: "{{ matrix_mx_puppet_twitter_container_labels_traefik_entrypoints }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls: "{{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints != 'web' }}" -matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls_certResolver: "{{ matrix_mx_puppet_twitter_container_labels_traefik_tls_certResolver }}" # noqa var-naming - -# matrix_mx_puppet_twitter_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. -# See `../templates/labels.j2` for details. -# -# Example: -# matrix_mx_puppet_twitter_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_mx_puppet_twitter_container_labels_additional_labels: '' - -# A list of extra arguments to pass to the container -matrix_mx_puppet_twitter_container_extra_arguments: [] - -# List of systemd services that mx-puppet-twitter.service depends on. -matrix_mx_puppet_twitter_systemd_required_services_list: "{{ matrix_mx_puppet_twitter_systemd_required_services_list_default + matrix_mx_puppet_twitter_systemd_required_services_list_auto + matrix_mx_puppet_twitter_systemd_required_services_list_custom }}" -matrix_mx_puppet_twitter_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mx_puppet_twitter_systemd_required_services_list_auto: [] -matrix_mx_puppet_twitter_systemd_required_services_list_custom: [] - -# List of systemd services that mx-puppet-twitter.service wants -matrix_mx_puppet_twitter_systemd_wanted_services_list: [] - -matrix_mx_puppet_twitter_appservice_token: '' -matrix_mx_puppet_twitter_homeserver_token: '' - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mx_puppet_twitter_login_shared_secret: '' - -matrix_mx_puppet_twitter_presence_enabled: true -matrix_mx_puppet_twitter_presence_interval: 5000 - -# Database configuration -matrix_mx_puppet_twitter_database_engine: sqlite - -matrix_mx_puppet_twitter_sqlite_database_path_local: "{{ matrix_mx_puppet_twitter_data_path }}/database.db" -matrix_mx_puppet_twitter_sqlite_database_path_in_container: "/data/database.db" - -matrix_mx_puppet_twitter_database_username: mx_puppet_twitter -matrix_mx_puppet_twitter_database_password: ~ -matrix_mx_puppet_twitter_database_hostname: '' -matrix_mx_puppet_twitter_database_port: 5432 -matrix_mx_puppet_twitter_database_name: matrix_mx_puppet_twitter -matrix_mx_puppet_twitter_database_sslmode: disable - -matrix_mx_puppet_twitter_database_connection_string: 'postgresql://{{ matrix_mx_puppet_twitter_database_username }}:{{ matrix_mx_puppet_twitter_database_password }}@{{ matrix_mx_puppet_twitter_database_hostname }}:{{ matrix_mx_puppet_twitter_database_port }}/{{ matrix_mx_puppet_twitter_database_name }}?sslmode={{ matrix_mx_puppet_twitter_database_sslmode }}' - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mx_puppet_twitter_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mx_puppet_twitter_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mx_puppet_twitter_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mx_puppet_twitter_configuration_yaml`). - # - # 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 - # completely redefining `matrix_mx_puppet_twitter_configuration_yaml`. - -matrix_mx_puppet_twitter_configuration_extension: "{{ matrix_mx_puppet_twitter_configuration_extension_yaml | from_yaml if matrix_mx_puppet_twitter_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# 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_mx_puppet_twitter_configuration_yaml`. -matrix_mx_puppet_twitter_configuration: "{{ matrix_mx_puppet_twitter_configuration_yaml | from_yaml | combine(matrix_mx_puppet_twitter_configuration_extension, recursive=True) }}" - -# The prefix for user IDs and aliases -matrix_mx_puppet_twitter_namespace_prefix: _twitterpuppet_ -matrix_mx_puppet_twitter_bot_localpart: _twitterpuppet_bot - -matrix_mx_puppet_twitter_registration_yaml: | - as_token: "{{ matrix_mx_puppet_twitter_appservice_token }}" - hs_token: "{{ matrix_mx_puppet_twitter_homeserver_token }}" - id: twitter-puppet - namespaces: - users: - - exclusive: true - regex: '@{{ matrix_mx_puppet_twitter_namespace_prefix | regex_escape }}.*:{{ matrix_mx_puppet_twitter_homeserver_domain | regex_escape }}' - rooms: [] - aliases: - - exclusive: true - regex: '#{{ matrix_mx_puppet_twitter_namespace_prefix | regex_escape }}.*:{{ matrix_mx_puppet_twitter_homeserver_domain | regex_escape }}' - protocols: [] - rate_limited: false - sender_localpart: "{{ matrix_mx_puppet_twitter_bot_localpart }}" - url: {{ matrix_mx_puppet_twitter_appservice_address }} - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_mx_puppet_twitter_registration: "{{ matrix_mx_puppet_twitter_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml deleted file mode 100644 index b534f22c0..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-mx-puppet-twitter - - install-all - - install-mx-puppet-twitter - block: - - when: matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mx-puppet-twitter - block: - - when: not matrix_mx_puppet_twitter_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml deleted file mode 100644 index 137d358c0..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_install.yml +++ /dev/null @@ -1,155 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure MX Puppet Twitter paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_mx_puppet_twitter_base_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_config_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_data_path }}", when: true} - - {path: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}", when: "{{ matrix_mx_puppet_twitter_container_image_self_build }}"} - when: matrix_mx_puppet_twitter_enabled | bool and item.when | bool - -- name: Check if an old database file already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_twitter_base_path }}/database.db" - register: matrix_mx_puppet_twitter_stat_database - -- name: (Data relocation) Ensure matrix-mx-puppet-twitter.service is stopped - ansible.builtin.service: - name: matrix-mx-puppet-twitter - state: stopped - enabled: false - daemon_reload: true - failed_when: false - when: "matrix_mx_puppet_twitter_stat_database.stat.exists" - -- name: (Data relocation) Move mx-puppet-twitter database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_mx_puppet_twitter_base_path }}/database.db {{ matrix_mx_puppet_twitter_data_path }}/database.db" - creates: "{{ matrix_mx_puppet_twitter_data_path }}/database.db" - removes: "{{ matrix_mx_puppet_twitter_base_path }}/database.db" - when: "matrix_mx_puppet_twitter_stat_database.stat.exists" - -- ansible.builtin.set_fact: - matrix_mx_puppet_twitter_requires_restart: false - -- when: "matrix_mx_puppet_twitter_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" - register: matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result - - - when: "matrix_mx_puppet_twitter_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mx_puppet_twitter_sqlite_database_path_local }}" - dst: "{{ matrix_mx_puppet_twitter_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mx_puppet_twitter_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mx-puppet-twitter.service'] - - - ansible.builtin.set_fact: - matrix_mx_puppet_twitter_requires_restart: true - -- name: Ensure MX Puppet Twitter image is pulled - community.docker.docker_image: - name: "{{ matrix_mx_puppet_twitter_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mx_puppet_twitter_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_twitter_docker_image_force_pull }}" - when: matrix_mx_puppet_twitter_enabled | bool and not matrix_mx_puppet_twitter_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure MX Puppet Twitter repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mx_puppet_twitter_container_image_self_build_repo }}" - version: master - dest: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_mx_puppet_twitter_git_pull_results - when: "matrix_mx_puppet_twitter_enabled | bool and matrix_mx_puppet_twitter_container_image_self_build" - -- name: Ensure MX Puppet Twitter Docker image is built - community.docker.docker_image: - name: "{{ matrix_mx_puppet_twitter_docker_image }}" - source: build - force_source: "{{ matrix_mx_puppet_twitter_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_twitter_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_mx_puppet_twitter_docker_src_files_path }}" - pull: true - when: "matrix_mx_puppet_twitter_enabled | bool and matrix_mx_puppet_twitter_container_image_self_build" - -- name: Ensure mx-puppet-twitter config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_twitter_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_twitter_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-twitter twitter-registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_twitter_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_twitter_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-twitter support files installed - ansible.builtin.template: - src: "{{ role_path }}/templates/{{ item }}.j2" - dest: "{{ matrix_mx_puppet_twitter_base_path }}/{{ item }}" - mode: 0640 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - labels - -- name: Ensure mx-puppet-twitter container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mx_puppet_twitter_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mx-puppet-twitter.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-twitter.service.j2" - dest: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - mode: 0644 - -- name: Ensure matrix-mx-puppet-twitter.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mx-puppet-twitter.service" - state: restarted - daemon_reload: true - when: "matrix_mx_puppet_twitter_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml deleted file mode 100644 index c5f3bc2bf..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-mx-puppet-twitter service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - register: matrix_mx_puppet_twitter_service_stat - -- when: matrix_mx_puppet_twitter_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mx-puppet-twitter is stopped - ansible.builtin.service: - name: matrix-mx-puppet-twitter - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mx-puppet-twitter.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-mx-puppet-twitter.service" - state: absent diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml deleted file mode 100644 index 286305106..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/tasks/validate_config.yml +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Tulir Asokan -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required mx-puppet-twitter settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" - with_items: - - {'name': 'matrix_mx_puppet_twitter_hostname', when: true} - - {'name': 'matrix_mx_puppet_twitter_path_prefix', when: true} - - {'name': 'matrix_mx_puppet_twitter_appservice_token', when: true} - - {'name': 'matrix_mx_puppet_twitter_homeserver_address', when: true} - - {'name': 'matrix_mx_puppet_twitter_homeserver_token', when: true} - - {'name': 'matrix_mx_puppet_twitter_database_hostname', when: "{{ matrix_mx_puppet_twitter_database_engine == 'postgres' }}"} - - {'name': 'matrix_mx_puppet_twitter_container_network', when: true} - -- name: (Deprecation) Catch and report renamed mx-puppet-twitter settings - ansible.builtin.fail: - msg: >- - Your configuration contains a variable, which now has a different name. - 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" - with_items: - - {'old': 'matrix_mx_puppet_twitter_webhook_path', 'new': ' 0 %} -traefik.http.routers.matrix-mx-puppet-twitter-public.priority={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mx-puppet-twitter-public.service=martix-mx-puppet-twitter -traefik.http.routers.matrix-mx-puppet-twitter-public.entrypoints={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_entrypoints }} - -traefik.http.routers.matrix-mx-puppet-twitter-public.tls={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls | to_json }} -{% if matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls %} -traefik.http.routers.matrix-mx-puppet-twitter-public.tls.certResolver={{ matrix_mx_puppet_twitter_container_labels_public_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Public # -# # -############################################################ -{% endif %} - - -{% endif %} - -{{ matrix_mx_puppet_twitter_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 deleted file mode 100644 index f9fc0eb3e..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2 +++ /dev/null @@ -1,51 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Mx Puppet Twitter bridge -{% for service in matrix_mx_puppet_twitter_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mx_puppet_twitter_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mx-puppet-twitter \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mx_puppet_twitter_container_network }} \ - {% if matrix_mx_puppet_twitter_container_http_host_bind_port %} - -p {{ matrix_mx_puppet_twitter_container_http_host_bind_port }}:{{ matrix_mx_puppet_twitter_appservice_port }} \ - {% endif %} - -e CONFIG_PATH=/config/config.yaml \ - -e REGISTRATION_PATH=/config/registration.yaml \ - --mount type=bind,src={{ matrix_mx_puppet_twitter_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mx_puppet_twitter_data_path }},dst=/data \ - {% for arg in matrix_mx_puppet_twitter_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mx_puppet_twitter_docker_image }} - -{% for network in matrix_mx_puppet_twitter_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mx-puppet-twitter -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-twitter - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-twitter 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-twitter 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mx-puppet-twitter - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license deleted file mode 100644 index 2bcb63426..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-twitter/templates/systemd/matrix-mx-puppet-twitter.service.j2.license +++ /dev/null @@ -1,5 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Scott Crossen -SPDX-FileCopyrightText: 2020 Tulir Asokan - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index a6858c6da..fe36251c5 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -547,6 +547,18 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | length > 0" +- name: (Deprecation) Catch and report mx-puppet-twitter variables + ansible.builtin.fail: + msg: |- + The MX Puppet Twitter bridge was completely removed from the playbook in November 2025. + + Please remove all `matrix_mx_puppet_twitter_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mx-puppet-twitter.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_twitter_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_twitter_.+', wantlist=True) | length > 0" + - name: (Deprecation) Catch and report Email2Matrix variables ansible.builtin.fail: msg: |- diff --git a/setup.yml b/setup.yml index bdcfcc7fb..95fd18493 100644 --- a/setup.yml +++ b/setup.yml @@ -79,7 +79,6 @@ - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - custom/matrix-bridge-mx-puppet-slack - - custom/matrix-bridge-mx-puppet-twitter - custom/matrix-bridge-mx-puppet-instagram - custom/matrix-bridge-postmoogle - custom/matrix-bridge-sms From d3858ed0794623e2f2a22465462e8daccada0868 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 22:39:03 +0900 Subject: [PATCH 111/116] Remove MX Puppet Discord bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 6 + README.md | 1 - ...ring-playbook-bridge-appservice-discord.md | 2 +- ...iguring-playbook-bridge-mautrix-discord.md | 4 +- ...uring-playbook-bridge-mx-puppet-discord.md | 50 ++---- docs/configuring-playbook.md | 4 +- docs/container-images.md | 2 +- group_vars/matrix_servers | 67 -------- .../defaults/main.yml | 144 ------------------ .../tasks/main.yml | 26 ---- .../tasks/setup_install.yml | 144 ------------------ .../tasks/setup_uninstall.yml | 26 ---- .../tasks/validate_config.yml | 26 ---- .../templates/config.yaml.j2 | 125 --------------- .../templates/config.yaml.j2.license | 6 - .../matrix-mx-puppet-discord.service.j2 | 48 ------ ...atrix-mx-puppet-discord.service.j2.license | 5 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 19 files changed, 39 insertions(+), 660 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index 1324fba9e..2aeeaaaaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # 2025-11-04 +## The MX Puppet Discord bridge has been removed from the playbook + +The [mx-puppet-discord](./docs/configuring-playbook-bridge-mx-puppet-discord.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. + +The playbook will let you know if you're using any `matrix_mx_puppet_discord_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually). + ## The MX Puppet Twitter bridge has been removed from the playbook The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. diff --git a/README.md b/README.md index 49fe94d17..91e8518a3 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | | [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md) | -| [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | diff --git a/docs/configuring-playbook-bridge-appservice-discord.md b/docs/configuring-playbook-bridge-appservice-discord.md index 8aeb188b4..6c4f77a73 100644 --- a/docs/configuring-playbook-bridge-appservice-discord.md +++ b/docs/configuring-playbook-bridge-appservice-discord.md @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Appservice Discord bridging (optional) -**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. +**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridge supported by the playbook. - For using as a Bot we are recommend the Appservice Discord bridge (the one being discussed here), because it supports plumbing. - For personal use we recommend the [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridge, because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook. diff --git a/docs/configuring-playbook-bridge-mautrix-discord.md b/docs/configuring-playbook-bridge-mautrix-discord.md index 884b17afa..d53af91af 100644 --- a/docs/configuring-playbook-bridge-mautrix-discord.md +++ b/docs/configuring-playbook-bridge-mautrix-discord.md @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridges supported by the playbook. +**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridge supported by the playbook. - For using as a Bot we recommend the [Appservice Discord](configuring-playbook-bridge-appservice-discord.md), because it supports plumbing. - For personal use with a discord account we recommend the `mautrix-discord` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook. @@ -26,7 +26,7 @@ See the project's [documentation](https://docs.mau.fi/bridges/go/discord/index.h There are 2 ways to login to discord using this bridge, either by [scanning a QR code](#method-1-login-using-qr-code-recommended) using the Discord mobile app **or** by using a [Discord token](#method-2-login-using-discord-token-not-recommended). -If this is a dealbreaker for you, consider using one of the other Discord bridges supported by the playbook: [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) or [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md). These come with their own complexity and limitations, however, so we recommend that you proceed with this one if possible. +If this is a dealbreaker for you, consider using [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md). This comes with its own complexity and limitations, however, so we recommend that you proceed with this one if possible. ### Enable Appservice Double Puppet or Shared Secret Auth (optional) diff --git a/docs/configuring-playbook-bridge-mx-puppet-discord.md b/docs/configuring-playbook-bridge-mx-puppet-discord.md index 7285e8971..0613cd260 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-discord.md +++ b/docs/configuring-playbook-bridge-mx-puppet-discord.md @@ -1,51 +1,31 @@ -# Setting up MX Puppet Discord bridging (optional) +# Setting up MX Puppet Discord bridging (optional, removed) -**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. -- For using as a Bot we recommend the [Appservice Discord](configuring-playbook-bridge-appservice-discord.md), because it supports plumbing. -- For personal use with a discord account we recommend the [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridge, because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook. +🪦 The playbook used to be able to install and configure [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord), but no longer includes this component, as it has been unmaintained for a long time. -The playbook can install and configure [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) for you. +You may wish to use the [Mautrix Discord bridge](https://github.com/mautrix/discord) instead. -See the project's [documentation](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/blob/master/README.md) to learn what it does and why it might be useful to you. +## Uninstalling the bridge manually -## Adjusting the playbook configuration +If you still have the MX Puppet Discord bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -To enable the [Discord](https://discordapp.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_mx_puppet_discord_enabled: true -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` +systemctl disable --now matrix-mx-puppet-discord.service -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. +rm -rf /matrix/mx-puppet-discord -## Usage - -To use the bridge, you need to start a chat with `Discord Puppet Bridge` with the handle `@_discordpuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -Three authentication methods are available, Legacy Token, OAuth and xoxc token. See mx-puppet-discord [documentation](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) for more information about how to configure the bridge. - -Once logged in, send `list` to the bot user to list the available rooms. - -Clicking rooms in the list will result in you receiving an invitation to the bridged room. - -Send `help` to the bot to see the available commands. +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mx_puppet_discord;' +``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 9e6e59355..5302acc9a 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -178,8 +178,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) -- [Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) - - [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md) - [Setting up Steam bridging](configuring-playbook-bridge-steam.md) @@ -285,6 +283,8 @@ Various services that don't fit any other categories. - [Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md)) +- [Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)) + - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) - [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 6d8e47298..8e9cfbcb9 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -110,7 +110,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | | [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | -| [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | | [mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md) | [xangelix/mx-puppet-groupme](https://hub.docker.com/r/xangelix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | | [matrix-steam-bridge](configuring-playbook-bridge-steam.md) | [jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | | [mx-puppet-steam](configuring-playbook-bridge-mx-puppet-steam.md) | [icewind1991/mx-puppet-steam](https://hub.docker.com/r/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | @@ -184,4 +183,5 @@ The list of the deprecated or unmaintained services is available [here](configur | [matrix-chatgpt-bot](configuring-playbook-bot-chatgpt.md) | [matrixgpt/matrix-chatgpt-bot](https://ghcr.io/matrixgpt/matrix-chatgpt-bot) | ❌ | Accessing ChatGPT via your favourite Matrix client | | [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) | | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | +| [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | | [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index c06964fdb..d9e0d3fe0 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -146,8 +146,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mautrix_wsproxy_config_path + '/imessage-registration.yaml,dst=/matrix-mautrix-imessage-registration.yaml,ro'] if matrix_mautrix_wsproxy_enabled else []) + - (['--mount type=bind,src=' + matrix_mx_puppet_discord_config_path + '/registration.yaml,dst=/matrix-mx-puppet-discord-registration.yaml,ro'] if matrix_mx_puppet_discord_enabled else []) - + (['--mount type=bind,src=' + matrix_mx_puppet_groupme_config_path + '/registration.yaml,dst=/matrix-mx-puppet-groupme-registration.yaml,ro'] if matrix_mx_puppet_groupme_enabled else []) + (['--mount type=bind,src=' + matrix_mx_puppet_instagram_config_path + '/registration.yaml,dst=/matrix-mx-puppet-instagram-registration.yaml,ro'] if matrix_mx_puppet_instagram_enabled else []) @@ -217,8 +215,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mautrix-imessage-registration.yaml'] if matrix_mautrix_wsproxy_enabled else []) + - (['/matrix-mx-puppet-discord-registration.yaml'] if matrix_mx_puppet_discord_enabled else []) - + (['/matrix-mx-puppet-groupme-registration.yaml'] if matrix_mx_puppet_groupme_enabled else []) + (['/matrix-mx-puppet-instagram-registration.yaml'] if matrix_mx_puppet_instagram_enabled else []) @@ -359,8 +355,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mautrix-wsproxy-syncproxy.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mautrix-wsproxy-syncproxy']}] if matrix_mautrix_wsproxy_enabled else []) + - ([{'name': 'matrix-mx-puppet-discord.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-discord']}] if matrix_mx_puppet_discord_enabled else []) - + ([{'name': 'matrix-mx-puppet-groupme.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-groupme']}] if matrix_mx_puppet_groupme_enabled else []) + ([{'name': 'matrix-mx-puppet-instagram.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-instagram']}] if matrix_mx_puppet_instagram_enabled else []) @@ -2420,57 +2414,6 @@ matrix_mx_puppet_instagram_database_password: "{{ '%s' | format(matrix_homeserve # ###################################################################### -###################################################################### -# -# matrix-bridge-mx-puppet-discord -# -###################################################################### - -# We don't enable bridges by default. -matrix_mx_puppet_discord_enabled: false - -matrix_mx_puppet_discord_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mx_puppet_discord_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default }}" - -matrix_mx_puppet_discord_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - -matrix_mx_puppet_discord_container_network: "{{ matrix_addons_container_network }}" - -matrix_mx_puppet_discord_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname and matrix_mx_puppet_discord_container_network != postgres_container_network) else []) - ) | unique - }} - -matrix_mx_puppet_discord_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxdsc.as.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_discord_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mx_puppet_discord_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxdsc.hs.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_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 '' }}" - -matrix_mx_puppet_discord_presence_enabled: "{{ matrix_homeserver_implementation != 'synapse' or matrix_synapse_presence_enabled }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_mx_puppet_discord_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mx_puppet_discord_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mx_puppet_discord_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxpup.dsc.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mx-puppet-discord -# -###################################################################### - ###################################################################### # # matrix-bridge-mx-puppet-steam @@ -4329,12 +4272,6 @@ postgres_managed_databases_auto: | 'password': matrix_mx_puppet_instagram_database_password, }] if (matrix_mx_puppet_instagram_enabled and matrix_mx_puppet_instagram_database_engine == 'postgres' and matrix_mx_puppet_instagram_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mx_puppet_discord_database_name, - 'username': matrix_mx_puppet_discord_database_username, - 'password': matrix_mx_puppet_discord_database_password, - }] if (matrix_mx_puppet_discord_enabled and matrix_mx_puppet_discord_database_engine == 'postgres' and matrix_mx_puppet_discord_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mx_puppet_steam_database_name, 'username': matrix_mx_puppet_steam_database_username, @@ -5231,10 +5168,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@imessage_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mautrix_wsproxy_enabled else []) + - ([ - '^@_discordpuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mx_puppet_discord_enabled else []) - + ([ '^@_groupmepuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_groupme_enabled else []) diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml deleted file mode 100644 index 196052d59..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/defaults/main.yml +++ /dev/null @@ -1,144 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 Daniel Sonck -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# Mx Puppet Discord is a Matrix <-> Discord bridge -# Project source code URL: https://gitlab.com/mx-puppet/discord/mx-puppet-discord - -matrix_mx_puppet_discord_enabled: true - -matrix_mx_puppet_discord_container_image_self_build: false -matrix_mx_puppet_discord_container_image_self_build_repo: "https://gitlab.com/mx-puppet/discord/mx-puppet-discord.git" -matrix_mx_puppet_discord_container_image_self_build_version: "{{ 'main' if matrix_mx_puppet_discord_version == 'latest' else matrix_mx_puppet_discord_version }}" -matrix_mx_puppet_discord_container_image_self_build_dockerfile_path: "Dockerfile" - -# Controls whether the mx-puppet-discord container exposes its HTTP port (tcp/8432 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:8432"), or empty string to not expose. -matrix_mx_puppet_discord_container_http_host_bind_port: '' - -# renovate: datasource=docker depName=registry.gitlab.com/mx-puppet/discord/mx-puppet-discord -matrix_mx_puppet_discord_version: v0.1.1 -matrix_mx_puppet_discord_docker_image: "{{ matrix_mx_puppet_discord_docker_image_registry_prefix }}mx-puppet/discord/mx-puppet-discord:{{ matrix_mx_puppet_discord_version }}" -matrix_mx_puppet_discord_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_discord_container_image_self_build else matrix_mx_puppet_discord_docker_image_registry_prefix_upstream }}" -matrix_mx_puppet_discord_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default }}" -matrix_mx_puppet_discord_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" -matrix_mx_puppet_discord_docker_image_force_pull: "{{ matrix_mx_puppet_discord_docker_image.endswith(':latest') }}" - -matrix_mx_puppet_discord_base_path: "{{ matrix_base_data_path }}/mx-puppet-discord" -matrix_mx_puppet_discord_config_path: "{{ matrix_mx_puppet_discord_base_path }}/config" -matrix_mx_puppet_discord_data_path: "{{ matrix_mx_puppet_discord_base_path }}/data" -matrix_mx_puppet_discord_docker_src_files_path: "{{ matrix_mx_puppet_discord_base_path }}/docker-src" - -matrix_mx_puppet_discord_appservice_port: "8432" - -matrix_mx_puppet_discord_homeserver_address: "" -matrix_mx_puppet_discord_homeserver_domain: '{{ matrix_domain }}' -matrix_mx_puppet_discord_appservice_address: 'http://matrix-mx-puppet-discord:{{ matrix_mx_puppet_discord_appservice_port }}' - -matrix_mx_puppet_discord_bridge_mediaUrl: "{{ matrix_homeserver_url }}" # noqa var-naming - -# "@alice:example.com" to allow a specific user -# "@.*:example.com" to allow users on a specific homeserver -# "@.*" to allow anyone -matrix_mx_puppet_discord_provisioning_whitelist: - - "@.*:{{ matrix_domain | regex_escape }}" - -# Leave empty to disable blacklist -# "@bob:example.com" to disallow a specific user -# "@.*:example.com" to disallow users on a specific homeserver -matrix_mx_puppet_discord_provisioning_blacklist: [] - -matrix_mx_puppet_discord_container_network: "" - -matrix_mx_puppet_discord_container_additional_networks: "{{ matrix_mx_puppet_discord_container_additional_networks_auto + matrix_mx_puppet_discord_container_additional_networks_custom }}" -matrix_mx_puppet_discord_container_additional_networks_auto: [] -matrix_mx_puppet_discord_container_additional_networks_custom: [] - -# A list of extra arguments to pass to the container -matrix_mx_puppet_discord_container_extra_arguments: [] - -# List of systemd services that matrix-puppet-discord.service depends on. -matrix_mx_puppet_discord_systemd_required_services_list: "{{ matrix_mx_puppet_discord_systemd_required_services_list_default + matrix_mx_puppet_discord_systemd_required_services_list_auto + matrix_mx_puppet_discord_systemd_required_services_list_custom }}" -matrix_mx_puppet_discord_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mx_puppet_discord_systemd_required_services_list_auto: [] -matrix_mx_puppet_discord_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-puppet-discord.service wants -matrix_mx_puppet_discord_systemd_wanted_services_list: [] - -matrix_mx_puppet_discord_appservice_token: '' -matrix_mx_puppet_discord_homeserver_token: '' - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mx_puppet_discord_login_shared_secret: '' - -matrix_mx_puppet_discord_presence_enabled: true -matrix_mx_puppet_discord_presence_interval: 5000 - -# Database configuration -matrix_mx_puppet_discord_database_engine: 'sqlite' - -matrix_mx_puppet_discord_sqlite_database_path_local: "{{ matrix_mx_puppet_discord_data_path }}/database.db" -matrix_mx_puppet_discord_sqlite_database_path_in_container: "/data/database.db" - -matrix_mx_puppet_discord_database_username: matrix_mx_puppet_discord -matrix_mx_puppet_discord_database_password: ~ -matrix_mx_puppet_discord_database_hostname: '' -matrix_mx_puppet_discord_database_port: 5432 -matrix_mx_puppet_discord_database_name: matrix_mx_puppet_discord -matrix_mx_puppet_discord_database_sslmode: disable - -matrix_mx_puppet_discord_database_connection_string: 'postgresql://{{ matrix_mx_puppet_discord_database_username }}:{{ matrix_mx_puppet_discord_database_password }}@{{ matrix_mx_puppet_discord_database_hostname }}:{{ matrix_mx_puppet_discord_database_port }}/{{ matrix_mx_puppet_discord_database_name }}?sslmode={{ matrix_mx_puppet_discord_database_sslmode }}' - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mx_puppet_discord_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mx_puppet_discord_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mx_puppet_discord_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mx_puppet_discord_configuration_yaml`). - # - # 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 - # completely redefining `matrix_mx_puppet_discord_configuration_yaml`. - -matrix_mx_puppet_discord_configuration_extension: "{{ matrix_mx_puppet_discord_configuration_extension_yaml | from_yaml if matrix_mx_puppet_discord_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# 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_mx_puppet_discord_configuration_yaml`. -matrix_mx_puppet_discord_configuration: "{{ matrix_mx_puppet_discord_configuration_yaml | from_yaml | combine(matrix_mx_puppet_discord_configuration_extension, recursive=True) }}" - -matrix_mx_puppet_discord_registration_yaml: | - as_token: "{{ matrix_mx_puppet_discord_appservice_token }}" - hs_token: "{{ matrix_mx_puppet_discord_homeserver_token }}" - id: discord-puppet - namespaces: - users: - - exclusive: true - regex: '@_discordpuppet_.*:{{ matrix_mx_puppet_discord_homeserver_domain | regex_escape }}' - rooms: [] - aliases: - - exclusive: true - regex: '#_discordpuppet_.*:{{ matrix_mx_puppet_discord_homeserver_domain | regex_escape }}' - protocols: [] - rate_limited: false - sender_localpart: _discordpuppet_bot - url: {{ matrix_mx_puppet_discord_appservice_address }} - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_mx_puppet_discord_registration: "{{ matrix_mx_puppet_discord_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml deleted file mode 100644 index 67e4948e4..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-mx-puppet-discord - - install-all - - install-mx-puppet-discord - block: - - when: matrix_mx_puppet_discord_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mx_puppet_discord_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mx-puppet-discord - block: - - when: not matrix_mx_puppet_discord_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml deleted file mode 100644 index d98a2628d..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_install.yml +++ /dev/null @@ -1,144 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure MX Puppet Discord paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_mx_puppet_discord_base_path }}", when: true} - - {path: "{{ matrix_mx_puppet_discord_config_path }}", when: true} - - {path: "{{ matrix_mx_puppet_discord_data_path }}", when: true} - - {path: "{{ matrix_mx_puppet_discord_docker_src_files_path }}", when: "{{ matrix_mx_puppet_discord_container_image_self_build }}"} - when: matrix_mx_puppet_discord_enabled | bool and item.when | bool - -- name: Check if an old database file already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_discord_base_path }}/database.db" - register: matrix_mx_puppet_discord_stat_database - -- when: "matrix_mx_puppet_discord_stat_database.stat.exists" - block: - - name: (Data relocation) Ensure matrix-mx-puppet-discord.service is stopped - ansible.builtin.service: - name: matrix-mx-puppet-discord - state: stopped - daemon_reload: true - failed_when: false - - - name: (Data relocation) Move mx-puppet-discord database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_mx_puppet_discord_base_path }}/database.db {{ matrix_mx_puppet_discord_data_path }}/database.db" - register: matrix_mx_puppet_discord_relocate_database_result - changed_when: matrix_mx_puppet_discord_relocate_database_result.rc == 0 - -- ansible.builtin.set_fact: - matrix_mx_puppet_discord_requires_restart: false - -- when: "matrix_mx_puppet_discord_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" - register: matrix_mx_puppet_discord_sqlite_database_path_local_stat_result - - - when: "matrix_mx_puppet_discord_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mx_puppet_discord_sqlite_database_path_local }}" - dst: "{{ matrix_mx_puppet_discord_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mx_puppet_discord_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mx-puppet-discord.service'] - - - ansible.builtin.set_fact: - matrix_mx_puppet_discord_requires_restart: true - -- name: Ensure MX Puppet Discord image is pulled - community.docker.docker_image: - name: "{{ matrix_mx_puppet_discord_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mx_puppet_discord_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_discord_docker_image_force_pull }}" - when: matrix_mx_puppet_discord_enabled | bool and not matrix_mx_puppet_discord_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure MX Puppet Discord repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mx_puppet_discord_container_image_self_build_repo }}" - dest: "{{ matrix_mx_puppet_discord_docker_src_files_path }}" - force: "yes" - version: "{{ matrix_mx_puppet_discord_container_image_self_build_version }}" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_mx_puppet_discord_git_pull_results - when: "matrix_mx_puppet_discord_enabled | bool and matrix_mx_puppet_discord_container_image_self_build" - -- name: Ensure MX Puppet Discord Docker image is built - community.docker.docker_image: - name: "{{ matrix_mx_puppet_discord_docker_image }}" - source: build - force_source: "{{ matrix_mx_puppet_discord_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_discord_git_pull_results.changed }}" - build: - dockerfile: "{{ matrix_mx_puppet_discord_container_image_self_build_dockerfile_path }}" - path: "{{ matrix_mx_puppet_discord_docker_src_files_path }}" - pull: true - when: "matrix_mx_puppet_discord_enabled | bool and matrix_mx_puppet_discord_container_image_self_build | bool" - -- name: Ensure mx-puppet-discord config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_discord_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_discord_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-discord discord-registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_discord_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_discord_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-discord container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mx_puppet_discord_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mx-puppet-discord.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-discord.service.j2" - dest: "/etc/systemd/system/matrix-mx-puppet-discord.service" - mode: 0644 - -- name: Ensure matrix-mx-puppet-discord.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mx-puppet-discord.service" - state: restarted - daemon_reload: true - when: "matrix_mx_puppet_discord_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml deleted file mode 100644 index 2deb391a0..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-mx-puppet-discord service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-mx-puppet-discord.service" - register: matrix_mx_puppet_discord_service_stat - -- when: matrix_mx_puppet_discord_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mx-puppet-discord is stopped - ansible.builtin.service: - name: matrix-mx-puppet-discord - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mx-puppet-discord.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-mx-puppet-discord.service" - state: absent diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml deleted file mode 100644 index ba90eb314..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/tasks/validate_config.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required mx-puppet-discord settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" - with_items: - - {'name': 'matrix_mx_puppet_discord_appservice_token', when: true} - - {'name': 'matrix_mx_puppet_discord_homeserver_address', when: true} - - {'name': 'matrix_mx_puppet_discord_homeserver_token', when: true} - - {'name': 'matrix_mx_puppet_discord_database_hostname', when: "{{ matrix_mx_puppet_discord_database_engine == 'postgres' }}"} - - {'name': 'matrix_mx_puppet_discord_container_network', when: true} - -- name: (Deprecation) Catch and report renamed mx-puppet-discord variables - ansible.builtin.fail: - msg: >- - The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. - when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" - with_items: - - {'old': 'matrix_mx_puppet_discord_docker_image_name_prefix', 'new': 'matrix_mx_puppet_discord_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2 deleted file mode 100644 index 2a1046417..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2 +++ /dev/null @@ -1,125 +0,0 @@ -#jinja2: lstrip_blocks: True -bridge: - # Port to host the bridge on - # Used for communication between the homeserver and the bridge - port: {{ matrix_mx_puppet_discord_appservice_port }} - # The host connections to the bridge's webserver are allowed from - bindAddress: 0.0.0.0 - # Public domain of the homeserver - domain: {{ matrix_mx_puppet_discord_homeserver_domain }} - # Reachable URL of the Matrix homeserver - homeserverUrl: {{ matrix_mx_puppet_discord_homeserver_address }} - # Optionally specify a different media URL used for the media store - # - # This is where Discord will download user profile pictures and media - # from - mediaUrl: {{ matrix_mx_puppet_discord_bridge_mediaUrl }} - {% if matrix_mx_puppet_discord_login_shared_secret != '' %} - loginSharedSecretMap: - {{ matrix_domain }}: {{ matrix_mx_puppet_discord_login_shared_secret }} - {% endif %} - # Display name of the bridge bot - displayname: Discord Puppet Bridge - -presence: - # Bridge Discord online/offline status - enabled: {{ matrix_mx_puppet_discord_presence_enabled | to_json }} - # How often to send status to the homeserver in milliseconds - interval: {{ matrix_mx_puppet_discord_presence_interval | to_json }} - -provisioning: - # Regex of Matrix IDs allowed to use the puppet bridge - whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }} - # Allow a specific user - #- "@alice:example\\.com" - # Allow users on a specific homeserver - #- "@.*:example\\.com" - # Allow anyone - #- ".*" - # Regex of Matrix IDs forbidden from using the puppet bridge - #blacklist: - # Disallow a specific user - #- "@bob:example\\.com" - # Disallow users on a specific homeserver - #- "@.*:example\\.com" - blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }} - -relay: - # Regex of Matrix IDs who are allowed to use the bridge in relay mode. - # Relay mode is when a single Discord bot account relays messages of - # multiple Matrix users - # - # Same format as in provisioning - whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }} - blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }} - -selfService: - # Regex of Matrix IDs who are allowed to use bridge self-servicing (plumbed rooms) - # - # Same format as in provisioning - whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }} - blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }} - -# Override the default name patterns for users, rooms and groups -# -# Variable names must be prefixed with a ':' -namePatterns: - # The default displayname for a bridged user - # - # Available variables: - # - # name: username of the user - # discriminator: hashtag of the user (ex. #1234) - user: :name - - # A user's guild-specific displayname - if they've set a custom nick in - # a guild - # - # Available variables: - # - # name: username of the user - # discriminator: hashtag of the user (ex. #1234) - # displayname: the user's custom group-specific nick - # channel: the name of the channel - # guild: the name of the guild - userOverride: :name - - # Room names for bridged Discord channels - # - # Available variables: - # - # name: name of the channel - # guild: name of the guild - room: :name - - # Group names for bridged Discord servers - # - # Available variables: - # - # name: name of the guide - group: :name - -database: -{% if matrix_mx_puppet_discord_database_engine == 'sqlite' %} - # Use SQLite3 as a database backend - # The name of the database file - filename: {{ matrix_mx_puppet_discord_sqlite_database_path_in_container|to_json }} -{% else %} - # Use Postgres as a database backend - # If set, will be used instead of SQLite3 - # Connection string to connect to the Postgres instance - # with username "user", password "pass", host "localhost" and database name "dbname". - # Modify each value as necessary - connString: {{ matrix_mx_puppet_discord_database_connection_string|to_json }} -{% endif %} - -logging: - # Log level of console output - # Allowed values starting with most verbose: - # silly, debug, verbose, info, warn, error - console: warn - # Date and time formatting - lineDateFormat: MMM-D HH:mm:ss.SSS - # Logging files - # Log files are rotated daily by default - files: [] diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license deleted file mode 100644 index 7b4bc3507..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/templates/config.yaml.j2.license +++ /dev/null @@ -1,6 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Hugues Morisset -SPDX-FileCopyrightText: 2020 MDAD project contributors -SPDX-FileCopyrightText: 2022 Nikita Chernyi - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 deleted file mode 100644 index 200712092..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2 +++ /dev/null @@ -1,48 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Mx Puppet Discord bridge -{% for service in matrix_mx_puppet_discord_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mx_puppet_discord_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mx-puppet-discord \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mx_puppet_discord_container_network }} \ - -e CONFIG_PATH=/config/config.yaml \ - -e REGISTRATION_PATH=/config/registration.yaml \ - --mount type=bind,src={{ matrix_mx_puppet_discord_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mx_puppet_discord_data_path }},dst=/data \ - {% for arg in matrix_mx_puppet_discord_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mx_puppet_discord_docker_image }} - -{% for network in matrix_mx_puppet_discord_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mx-puppet-discord -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-discord - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-discord 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-discord 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mx-puppet-discord - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license deleted file mode 100644 index 16b2b499b..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-discord/templates/systemd/matrix-mx-puppet-discord.service.j2.license +++ /dev/null @@ -1,5 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Hugues Morisset -SPDX-FileCopyrightText: 2020 Scott Crossen - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index fe36251c5..8136be9d1 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -547,6 +547,18 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_mautrix_hangouts_.+', wantlist=True) | length > 0" +- name: (Deprecation) Catch and report mx-puppet-discord variables + ansible.builtin.fail: + msg: |- + The MX Puppet Discord bridge was completely removed from the playbook in November 2025. + + Please remove all `matrix_mx_puppet_discord_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mx-puppet-discord.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_discord_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_discord_.+', wantlist=True) | length > 0" + - name: (Deprecation) Catch and report mx-puppet-twitter variables ansible.builtin.fail: msg: |- diff --git a/setup.yml b/setup.yml index 95fd18493..e5addd5f3 100644 --- a/setup.yml +++ b/setup.yml @@ -75,7 +75,6 @@ - custom/matrix-bridge-mautrix-discord - custom/matrix-bridge-mautrix-slack - custom/matrix-bridge-mautrix-bluesky - - custom/matrix-bridge-mx-puppet-discord - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - custom/matrix-bridge-mx-puppet-slack From 4d465a9d922dbe6e0282f15619202ec2db12b268 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 23:04:37 +0900 Subject: [PATCH 112/116] Remove MX Puppet Instagram bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 6 + README.md | 1 - ...ing-playbook-bridge-mx-puppet-instagram.md | 53 +++---- docs/configuring-playbook.md | 4 +- docs/container-images.md | 2 +- group_vars/matrix_servers | 67 --------- .../defaults/main.yml | 132 ------------------ .../tasks/main.yml | 26 ---- .../tasks/setup_install.yml | 124 ---------------- .../tasks/setup_uninstall.yml | 26 ---- .../tasks/validate_config.yml | 26 ---- .../templates/config.yaml.j2 | 69 --------- .../templates/config.yaml.j2.license | 5 - .../matrix-mx-puppet-instagram.service.j2 | 48 ------- ...rix-mx-puppet-instagram.service.j2.license | 5 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 17 files changed, 37 insertions(+), 570 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index 2aeeaaaaa..8f0117ca6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The [mx-puppet-discord](./docs/configuring-playbook-bridge-mx-puppet-discord.md) The playbook will let you know if you're using any `matrix_mx_puppet_discord_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually). +## The MX Puppet Instagram bridge has been removed from the playbook + +The [mx-puppet-instagram](./docs/configuring-playbook-bridge-mx-puppet-instagram.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. + +The playbook will let you know if you're using any `matrix_mx_puppet_instagram_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually). + ## The MX Puppet Twitter bridge has been removed from the playbook The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. diff --git a/README.md b/README.md index 91e8518a3..e3096c796 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-wechat](https://github.com/duo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | [Link](docs/configuring-playbook-bridge-wechat.md) | | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | | [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | -| [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | [Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | diff --git a/docs/configuring-playbook-bridge-mx-puppet-instagram.md b/docs/configuring-playbook-bridge-mx-puppet-instagram.md index ede7e4600..946a7af84 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-instagram.md +++ b/docs/configuring-playbook-bridge-mx-puppet-instagram.md @@ -1,51 +1,30 @@ -# Setting up MX Puppet Instagram bridging (optional) +# Setting up MX Puppet Instagram bridging (optional, removed) -The playbook can install and configure [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) for you. +🪦 The playbook used to be able to install and configure [mx-puppet-instagram](https://gitlab.com/mx-puppet/instagram/mx-puppet-instagram), but no longer includes this component, as it has been unmaintained for a long time. -This allows you to bridge Instagram DirectMessages into Matrix. +You may wish to use the [Mautrix Meta](https://github.com/mautrix/meta) Messenger/Instagram bridge instead. -## Adjusting the playbook configuration +## Uninstalling the bridge manually -To enable the [Instagram](https://www.instagram.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: +If you still have the MX Puppet Instagram bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -```yaml -matrix_mx_puppet_instagram_enabled: true -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` - -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. +systemctl disable --now matrix-mx-puppet-instagram.service -## Usage +rm -rf /matrix/mx-puppet-instagram -To use the bridge, you need to start a chat with `Instagram Puppet Bridge` with the handle `@_instagrampuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -Send `link ` to the bridge bot to link your instagram account. - -The `list` commands shows which accounts are linked and which `puppetId` is associated. - -For double-puppeting, you probably want to issue these commands: - -- `settype $puppetId puppet` to enable puppeting for the link (instead of relaying) -- `setautoinvite $puppetId 1` to automatically invite you to chats -- `setmatrixtoken $accessToken` to set the access token to enable puppeting from the other side (the "double" in double puppeting) - -If you are linking only one Instagram account, your `$puppetId` is probably 1, but use the `list` command find out. - -Send `help` to the bot to see the available commands. At the time of writing, not every command is fully implemented. +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mx_puppet_instagram;' +``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 5302acc9a..917533bf7 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -176,8 +176,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) -- [Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) - - [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md) - [Setting up Steam bridging](configuring-playbook-bridge-steam.md) @@ -285,6 +283,8 @@ Various services that don't fit any other categories. - [Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)) +- [Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)) + - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) - [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 8e9cfbcb9..8412bc4dd 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -109,7 +109,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-wechat](configuring-playbook-bridge-wechat.md) | [lxduo/matrix-wechat](https://hub.docker.com/r/lxduo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | | [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | -| [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | | [mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md) | [xangelix/mx-puppet-groupme](https://hub.docker.com/r/xangelix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | | [matrix-steam-bridge](configuring-playbook-bridge-steam.md) | [jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | | [mx-puppet-steam](configuring-playbook-bridge-mx-puppet-steam.md) | [icewind1991/mx-puppet-steam](https://hub.docker.com/r/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | @@ -184,4 +183,5 @@ The list of the deprecated or unmaintained services is available [here](configur | [mautrix-facebook](configuring-playbook-bridge-mautrix-facebook.md) | [mautrix/facebook](https://mau.dev/mautrix/facebook/container_registry) | ❌ | Bridge to [Facebook](https://facebook.com/) | | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | | [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | +| [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | | [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index d9e0d3fe0..d6bedd5f4 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -148,8 +148,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mx_puppet_groupme_config_path + '/registration.yaml,dst=/matrix-mx-puppet-groupme-registration.yaml,ro'] if matrix_mx_puppet_groupme_enabled else []) + - (['--mount type=bind,src=' + matrix_mx_puppet_instagram_config_path + '/registration.yaml,dst=/matrix-mx-puppet-instagram-registration.yaml,ro'] if matrix_mx_puppet_instagram_enabled else []) - + (['--mount type=bind,src=' + matrix_mx_puppet_slack_config_path + '/registration.yaml,dst=/matrix-mx-puppet-slack-registration.yaml,ro'] if matrix_mx_puppet_slack_enabled else []) + (['--mount type=bind,src=' + matrix_mx_puppet_steam_config_path + '/registration.yaml,dst=/matrix-mx-puppet-steam-registration.yaml,ro'] if matrix_mx_puppet_steam_enabled else []) @@ -217,8 +215,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mx-puppet-groupme-registration.yaml'] if matrix_mx_puppet_groupme_enabled else []) + - (['/matrix-mx-puppet-instagram-registration.yaml'] if matrix_mx_puppet_instagram_enabled else []) - + (['/matrix-mx-puppet-slack-registration.yaml'] if matrix_mx_puppet_slack_enabled else []) + (['/matrix-mx-puppet-steam-registration.yaml'] if matrix_mx_puppet_steam_enabled else []) @@ -357,8 +353,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mx-puppet-groupme.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-groupme']}] if matrix_mx_puppet_groupme_enabled else []) + - ([{'name': 'matrix-mx-puppet-instagram.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-instagram']}] if matrix_mx_puppet_instagram_enabled else []) - + ([{'name': 'matrix-mx-puppet-slack.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-slack']}] if matrix_mx_puppet_slack_enabled else []) + ([{'name': 'matrix-mx-puppet-steam.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) @@ -2363,57 +2357,6 @@ matrix_mx_puppet_slack_database_password: "{{ '%s' | format(matrix_homeserver_ge # ###################################################################### -###################################################################### -# -# matrix-bridge-mx-puppet-instagram -# -###################################################################### - -# We don't enable bridges by default. -matrix_mx_puppet_instagram_enabled: false - -matrix_mx_puppet_instagram_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_instagram_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default }}" - -matrix_mx_puppet_instagram_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - -matrix_mx_puppet_instagram_container_network: "{{ matrix_addons_container_network }}" - -matrix_mx_puppet_instagram_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mx_puppet_instagram_database_hostname == postgres_connection_hostname and matrix_mx_puppet_instagram_container_network != postgres_container_network) else []) - ) | unique - }} - -matrix_mx_puppet_instagram_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxig.as.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_instagram_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mx_puppet_instagram_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxig.hs.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_instagram_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -matrix_mx_puppet_instagram_presence_enabled: "{{ matrix_homeserver_implementation != 'synapse' or matrix_synapse_presence_enabled }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_mx_puppet_instagram_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mx_puppet_instagram_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mx_puppet_instagram_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxpup.ig.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mx-puppet-instagram -# -###################################################################### - ###################################################################### # # matrix-bridge-mx-puppet-steam @@ -4266,12 +4209,6 @@ postgres_managed_databases_auto: | 'password': matrix_mx_puppet_slack_database_password, }] if (matrix_mx_puppet_slack_enabled and matrix_mx_puppet_slack_database_engine == 'postgres' and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mx_puppet_instagram_database_name, - 'username': matrix_mx_puppet_instagram_database_username, - 'password': matrix_mx_puppet_instagram_database_password, - }] if (matrix_mx_puppet_instagram_enabled and matrix_mx_puppet_instagram_database_engine == 'postgres' and matrix_mx_puppet_instagram_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mx_puppet_steam_database_name, 'username': matrix_mx_puppet_steam_database_username, @@ -5172,10 +5109,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@_groupmepuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_groupme_enabled else []) + - ([ - '^@_instagrampuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mx_puppet_instagram_enabled else []) - + ([ '^@_slackpuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_slack_enabled else []) diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml deleted file mode 100644 index 72ccc00d9..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/defaults/main.yml +++ /dev/null @@ -1,132 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# mx-puppet-instagram bridges instagram DMs -# Project source code URL: https://github.com/Sorunome/mx-puppet-instagram - -matrix_mx_puppet_instagram_enabled: true - -matrix_mx_puppet_instagram_container_image_self_build: false -matrix_mx_puppet_instagram_container_image_self_build_repo: "https://github.com/Sorunome/mx-puppet-instagram.git" -matrix_mx_puppet_instagram_container_image_self_build_repo_version: "{{ 'master' if matrix_mx_puppet_instagram_version == 'latest' else matrix_mx_puppet_instagram_version }}" - -# renovate: datasource=docker depName=sorunome/mx-puppet-instagram -matrix_mx_puppet_instagram_version: latest -matrix_mx_puppet_instagram_docker_image: "{{ matrix_mx_puppet_instagram_docker_image_registry_prefix }}sorunome/mx-puppet-instagram:{{ matrix_mx_puppet_instagram_version }}" -matrix_mx_puppet_instagram_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_instagram_container_image_self_build else matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream }}" -matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default }}" -matrix_mx_puppet_instagram_docker_image_registry_prefix_upstream_default: "docker.io/" -matrix_mx_puppet_instagram_docker_image_force_pull: "{{ matrix_mx_puppet_instagram_docker_image.endswith(':latest') }}" - -matrix_mx_puppet_instagram_base_path: "{{ matrix_base_data_path }}/mx-puppet-instagram" -matrix_mx_puppet_instagram_config_path: "{{ matrix_mx_puppet_instagram_base_path }}/config" -matrix_mx_puppet_instagram_data_path: "{{ matrix_mx_puppet_instagram_base_path }}/data" -matrix_mx_puppet_instagram_docker_src_files_path: "{{ matrix_mx_puppet_instagram_base_path }}/docker-src" - -matrix_mx_puppet_instagram_appservice_port: "8440" -matrix_mx_puppet_instagram_homeserver_address: "" -matrix_mx_puppet_instagram_homeserver_domain: '{{ matrix_domain }}' -matrix_mx_puppet_instagram_appservice_address: 'http://matrix-mx-puppet-instagram:{{ matrix_mx_puppet_instagram_appservice_port }}' - -# "@alice:example.com" to allow a specific user -# "@.*:example.com" to allow users on a specific homeserver -# "@.*" to allow anyone -matrix_mx_puppet_instagram_provisioning_whitelist: - - "@.*:{{ matrix_domain | regex_escape }}" - -# Leave empty to disable blacklist -# "@bob:example.com" to disallow a specific user -# "@.*:example.com" to disallow users on a specific homeserver -matrix_mx_puppet_instagram_provisioning_blacklist: [] - -matrix_mx_puppet_instagram_container_network: "" - -matrix_mx_puppet_instagram_container_additional_networks: "{{ matrix_mx_puppet_instagram_container_additional_networks_auto + matrix_mx_puppet_instagram_container_additional_networks_custom }}" -matrix_mx_puppet_instagram_container_additional_networks_auto: [] -matrix_mx_puppet_instagram_container_additional_networks_custom: [] - -# A list of extra arguments to pass to the container -matrix_mx_puppet_instagram_container_extra_arguments: [] - -# List of systemd services that matrix-puppet-instagram.service depends on. -matrix_mx_puppet_instagram_systemd_required_services_list: "{{ matrix_mx_puppet_instagram_systemd_required_services_list_default + matrix_mx_puppet_instagram_systemd_required_services_list_auto + matrix_mx_puppet_instagram_systemd_required_services_list_custom }}" -matrix_mx_puppet_instagram_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mx_puppet_instagram_systemd_required_services_list_auto: [] -matrix_mx_puppet_instagram_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-puppet-instagram.service wants -matrix_mx_puppet_instagram_systemd_wanted_services_list: [] - -matrix_mx_puppet_instagram_appservice_token: '' -matrix_mx_puppet_instagram_homeserver_token: '' - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mx_puppet_instagram_login_shared_secret: '' - -matrix_mx_puppet_instagram_presence_enabled: true -matrix_mx_puppet_instagram_presence_interval: 5000 - -matrix_mx_puppet_instagram_database_engine: sqlite - -matrix_mx_puppet_instagram_sqlite_database_path_local: "{{ matrix_mx_puppet_instagram_data_path }}/database.db" -matrix_mx_puppet_instagram_sqlite_database_path_in_container: "/data/database.db" - -matrix_mx_puppet_instagram_database_username: matrix_mx_puppet_instagram -matrix_mx_puppet_instagram_database_password: ~ -matrix_mx_puppet_instagram_database_hostname: '' -matrix_mx_puppet_instagram_database_port: 5432 -matrix_mx_puppet_instagram_database_name: matrix_mx_puppet_instagram -matrix_mx_puppet_instagram_database_sslmode: disable - -matrix_mx_puppet_instagram_database_connection_string: 'postgresql://{{ matrix_mx_puppet_instagram_database_username }}:{{ matrix_mx_puppet_instagram_database_password }}@{{ matrix_mx_puppet_instagram_database_hostname }}:{{ matrix_mx_puppet_instagram_database_port }}/{{ matrix_mx_puppet_instagram_database_name }}?sslmode={{ matrix_mx_puppet_instagram_database_sslmode }}' - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mx_puppet_instagram_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mx_puppet_instagram_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mx_puppet_instagram_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mx_puppet_instagram_configuration_yaml`). - # - # 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 - # completely redefining `matrix_mx_puppet_instagram_configuration_yaml`. - -matrix_mx_puppet_instagram_configuration_extension: "{{ matrix_mx_puppet_instagram_configuration_extension_yaml | from_yaml if matrix_mx_puppet_instagram_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# 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_mx_puppet_instagram_configuration_yaml`. -matrix_mx_puppet_instagram_configuration: "{{ matrix_mx_puppet_instagram_configuration_yaml | from_yaml | combine(matrix_mx_puppet_instagram_configuration_extension, recursive=True) }}" - -matrix_mx_puppet_instagram_registration_yaml: | - as_token: "{{ matrix_mx_puppet_instagram_appservice_token }}" - hs_token: "{{ matrix_mx_puppet_instagram_homeserver_token }}" - id: instagram-puppet - namespaces: - users: - - exclusive: true - regex: '@_instagrampuppet_.*:{{ matrix_mx_puppet_instagram_homeserver_domain | regex_escape }}' - rooms: [] - aliases: - - exclusive: true - regex: '#_instagrampuppet_.*:{{ matrix_mx_puppet_instagram_homeserver_domain | regex_escape }}' - protocols: [] - rate_limited: false - sender_localpart: _instagrampuppet_bot - url: {{ matrix_mx_puppet_instagram_appservice_address }} - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_mx_puppet_instagram_registration: "{{ matrix_mx_puppet_instagram_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml deleted file mode 100644 index c2944596f..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-mx-puppet-instagram - - install-all - - install-mx-puppet-instagram - block: - - when: matrix_mx_puppet_instagram_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mx_puppet_instagram_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mx-puppet-instagram - block: - - when: not matrix_mx_puppet_instagram_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml deleted file mode 100644 index fbed97693..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_install.yml +++ /dev/null @@ -1,124 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Stuart Mumford -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- ansible.builtin.set_fact: - matrix_mx_puppet_instagram_requires_restart: false - -- when: "matrix_mx_puppet_instagram_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" - register: matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result - - - when: "matrix_mx_puppet_instagram_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mx_puppet_instagram_sqlite_database_path_local }}" - dst: "{{ matrix_mx_puppet_instagram_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mx_puppet_instagram_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mx-puppet-instagram.service'] - - - ansible.builtin.set_fact: - matrix_mx_puppet_instagram_requires_restart: true - -- name: Ensure mx-puppet-instagram image is pulled - community.docker.docker_image: - name: "{{ matrix_mx_puppet_instagram_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mx_puppet_instagram_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_instagram_docker_image_force_pull }}" - when: matrix_mx_puppet_instagram_enabled | bool and not matrix_mx_puppet_instagram_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure mx-puppet-instagram paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_mx_puppet_instagram_base_path }}", when: true} - - {path: "{{ matrix_mx_puppet_instagram_config_path }}", when: true} - - {path: "{{ matrix_mx_puppet_instagram_data_path }}", when: true} - - {path: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}", when: "{{ matrix_mx_puppet_instagram_container_image_self_build }}"} - when: matrix_mx_puppet_instagram_enabled | bool and item.when | bool - -- name: Ensure mx-puppet-instagram repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mx_puppet_instagram_container_image_self_build_repo }}" - version: "{{ matrix_mx_puppet_instagram_container_image_self_build_repo_version }}" - dest: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_mx_puppet_instagram_git_pull_results - when: "matrix_mx_puppet_instagram_enabled | bool and matrix_mx_puppet_instagram_container_image_self_build | bool" - -- name: Ensure mx-puppet-instagram Docker image is built - community.docker.docker_image: - name: "{{ matrix_mx_puppet_instagram_docker_image }}" - source: build - force_source: "{{ matrix_mx_puppet_instagram_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_instagram_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_mx_puppet_instagram_docker_src_files_path }}" - pull: true - when: "matrix_mx_puppet_instagram_enabled | bool and matrix_mx_puppet_instagram_container_image_self_build | bool" - -- name: Ensure mx-puppet-instagram config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_instagram_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_instagram_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-instagram-registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_instagram_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_instagram_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-instagram container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mx_puppet_instagram_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mx-puppet-instagram.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-instagram.service.j2" - dest: "/etc/systemd/system/matrix-mx-puppet-instagram.service" - mode: 0644 - -- name: Ensure matrix-mx-puppet-instagram.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mx-puppet-instagram.service" - state: restarted - daemon_reload: true - when: "matrix_mx_puppet_instagram_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml deleted file mode 100644 index b3b465060..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-mx-puppet-instagram service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-mx-puppet-instagram.service" - register: matrix_mx_puppet_instagram_service_stat - -- when: matrix_mx_puppet_instagram_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mx-puppet-instagram is stopped - ansible.builtin.service: - name: matrix-mx-puppet-instagram - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mx-puppet-instagram.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-mx-puppet-instagram.service" - state: absent diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml deleted file mode 100644 index 2afd623f4..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/tasks/validate_config.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 MDAD project contributors -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required mx-puppet-instagram settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" - with_items: - - {'name': 'matrix_mx_puppet_instagram_appservice_token', when: true} - - {'name': 'matrix_mx_puppet_instagram_homeserver_address', when: true} - - {'name': 'matrix_mx_puppet_instagram_homeserver_token', when: true} - - {'name': 'matrix_mx_puppet_instagram_database_hostname', when: "{{ matrix_mx_puppet_instagram_database_engine == 'postgres' }}"} - - {'name': 'matrix_mx_puppet_instagram_container_network', when: true} - -- name: (Deprecation) Catch and report renamed mx-puppet-instagram variables - ansible.builtin.fail: - msg: >- - The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead. - when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" - with_items: - - {'old': 'matrix_mx_puppet_instagram_docker_image_name_prefix', 'new': 'matrix_mx_puppet_instagram_docker_image_registry_prefix'} diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2 b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2 deleted file mode 100644 index 80c94dd7f..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2 +++ /dev/null @@ -1,69 +0,0 @@ -#jinja2: lstrip_blocks: True -bridge: - # Port to host the bridge on - # Used for communication between the homeserver and the bridge - port: {{ matrix_mx_puppet_instagram_appservice_port }} - # The host connections to the bridge's webserver are allowed from - bindAddress: 0.0.0.0 - # Public domain of the homeserver - domain: {{ matrix_mx_puppet_instagram_homeserver_domain }} - # Reachable URL of the Matrix homeserver - homeserverUrl: {{ matrix_mx_puppet_instagram_homeserver_address }} - {% if matrix_mx_puppet_instagram_login_shared_secret != '' %} - loginSharedSecretMap: - {{ matrix_domain }}: {{ matrix_mx_puppet_instagram_login_shared_secret }} - {% endif %} - -presence: - # Bridge Instagram online/offline status - enabled: {{ matrix_mx_puppet_instagram_presence_enabled | to_json }} - # How often to send status to the homeserver in milliseconds - interval: {{ matrix_mx_puppet_instagram_presence_interval | to_json }} - -provisioning: - # Regex of Matrix IDs allowed to use the puppet bridge - whitelist: {{ matrix_mx_puppet_instagram_provisioning_whitelist|to_json }} - # Allow a specific user - #- "@alice:example\\.com" - # Allow users on a specific homeserver - #- "@.*:example\\.com" - # Allow anyone - #- ".*" - # Regex of Matrix IDs forbidden from using the puppet bridge - #blacklist: - # Disallow a specific user - #- "@bob:example\\.com" - # Disallow users on a specific homeserver - #- "@.*:example\\.com" - blacklist: {{ matrix_mx_puppet_instagram_provisioning_blacklist|to_json }} - - # Shared secret for the provisioning API for use by integration managers. - # If this is not set, the provisioning API will not be enabled. - #sharedSecret: random string - # Path prefix for the provisioning API. /v1 will be appended to the prefix automatically. - apiPrefix: /_matrix/provision - -database: -{% if matrix_mx_puppet_instagram_database_engine == 'postgres' %} - # Use Postgres as a database backend - # If set, will be used instead of SQLite3 - # Connection string to connect to the Postgres instance - # with username "user", password "pass", host "localhost" and database name "dbname". - # Modify each value as necessary - connString: {{ matrix_mx_puppet_instagram_database_connection_string|to_json }} -{% else %} - # Use SQLite3 as a database backend - # The name of the database file - filename: {{ matrix_mx_puppet_instagram_sqlite_database_path_in_container|to_json }} -{% endif %} - -logging: - # Log level of console output - # Allowed values starting with most verbose: - # silly, debug, verbose, info, warn, error - console: warn - # Date and time formatting - lineDateFormat: MMM-D HH:mm:ss.SSS - # Logging files - # Log files are rotated daily by default - files: [] diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license deleted file mode 100644 index 7ae771d35..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/config.yaml.j2.license +++ /dev/null @@ -1,5 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 MDAD project contributors -SPDX-FileCopyrightText: 2022 Nikita Chernyi - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 deleted file mode 100644 index 847d10ccf..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2 +++ /dev/null @@ -1,48 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Mx Puppet Instagram bridge -{% for service in matrix_mx_puppet_instagram_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mx_puppet_instagram_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mx-puppet-instagram \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mx_puppet_instagram_container_network }} \ - -e CONFIG_PATH=/config/config.yaml \ - -e REGISTRATION_PATH=/config/registration.yaml \ - --mount type=bind,src={{ matrix_mx_puppet_instagram_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mx_puppet_instagram_data_path }},dst=/data \ - {% for arg in matrix_mx_puppet_instagram_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mx_puppet_instagram_docker_image }} - -{% for network in matrix_mx_puppet_instagram_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mx-puppet-instagram -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-instagram - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-instagram 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-instagram 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mx-puppet-instagram - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license deleted file mode 100644 index ed96bddd2..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-instagram/templates/systemd/matrix-mx-puppet-instagram.service.j2.license +++ /dev/null @@ -1,5 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 MDAD project contributors -SPDX-FileCopyrightText: 2020 Scott Crossen - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 8136be9d1..23ffbe873 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -559,6 +559,18 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_discord_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_discord_.+', wantlist=True) | length > 0" +- name: (Deprecation) Catch and report mx-puppet-instagram variables + ansible.builtin.fail: + msg: |- + The MX Puppet Instagram bridge was completely removed from the playbook in November 2025. + + Please remove all `matrix_mx_puppet_instagram_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mx-puppet-instagram.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_instagram_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_instagram_.+', wantlist=True) | length > 0" + - name: (Deprecation) Catch and report mx-puppet-twitter variables ansible.builtin.fail: msg: |- diff --git a/setup.yml b/setup.yml index e5addd5f3..7a73dab8d 100644 --- a/setup.yml +++ b/setup.yml @@ -78,7 +78,6 @@ - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - custom/matrix-bridge-mx-puppet-slack - - custom/matrix-bridge-mx-puppet-instagram - custom/matrix-bridge-postmoogle - custom/matrix-bridge-sms - custom/matrix-bridge-steam From 2b7a0453eb33d7026dfdcb20619d4a73a9727f5b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 23:16:17 +0900 Subject: [PATCH 113/116] Remove MX Puppet Slack bridge Reuse c399992542aa4b7f19e7fea9c1d24d64b4a3cab5 Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 6 + README.md | 1 - ...guring-playbook-bridge-appservice-slack.md | 2 +- ...nfiguring-playbook-bridge-mautrix-slack.md | 2 +- ...iguring-playbook-bridge-mx-puppet-slack.md | 55 ++---- docs/configuring-playbook.md | 4 +- docs/container-images.md | 2 +- group_vars/matrix_servers | 77 -------- .../defaults/main.yml | 184 ------------------ .../tasks/main.yml | 26 --- .../tasks/setup_install.yml | 150 -------------- .../tasks/setup_uninstall.yml | 26 --- .../tasks/validate_config.yml | 32 --- .../templates/config.yaml.j2 | 83 -------- .../templates/config.yaml.j2.license | 8 - .../templates/labels.j2 | 47 ----- .../systemd/matrix-mx-puppet-slack.service.j2 | 52 ----- .../matrix-mx-puppet-slack.service.j2.license | 6 - .../tasks/validate_config.yml | 12 ++ setup.yml | 1 - 20 files changed, 38 insertions(+), 738 deletions(-) delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/config.yaml.j2.license delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/labels.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 delete mode 100644 roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f0117ca6..193ba3fcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ The [mx-puppet-instagram](./docs/configuring-playbook-bridge-mx-puppet-instagram The playbook will let you know if you're using any `matrix_mx_puppet_instagram_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually). +## The MX Puppet Slack bridge has been removed from the playbook + +The [mx-puppet-slack](./docs/configuring-playbook-bridge-mx-puppet-slack.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. + +The playbook will let you know if you're using any `matrix_mx_puppet_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually). + ## The MX Puppet Twitter bridge has been removed from the playbook The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. diff --git a/README.md b/README.md index e3096c796..68fc4d348 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | [Link](docs/configuring-playbook-bridge-steam.md) | | [matrix-wechat](https://github.com/duo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | [Link](docs/configuring-playbook-bridge-wechat.md) | | [Heisenbridge](https://github.com/hifi/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | [Link](docs/configuring-playbook-bridge-heisenbridge.md) | -| [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) | ❌ | Bridge to [Slack](https://slack.com) | [Link](docs/configuring-playbook-bridge-mx-puppet-slack.md) | | [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) | | [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | diff --git a/docs/configuring-playbook-bridge-appservice-slack.md b/docs/configuring-playbook-bridge-appservice-slack.md index 2ffb0527e..dc9a579e6 100644 --- a/docs/configuring-playbook-bridge-appservice-slack.md +++ b/docs/configuring-playbook-bridge-appservice-slack.md @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later # Setting up Appservice Slack bridging (optional) **Notes**: -- Bridging to [Slack](https://slack.com) can also happen via the [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. +- Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook. - Currently (as of November, 2024) **this component is not available for new installation unless you have already created a classic Slack application** (which the bridge makes use of in order to enable bridging between Slack and Matrix), because the creation of classic Slack applications has been discontinued since June 4 2024. The author of the bridge claims [here](https://github.com/matrix-org/matrix-appservice-slack/issues/789#issuecomment-2172947787) that he plans to support the modern Slack application and until then "the best (and only) option for new installations is to use the webhook bridging". The playbook can install and configure [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) for you. diff --git a/docs/configuring-playbook-bridge-mautrix-slack.md b/docs/configuring-playbook-bridge-mautrix-slack.md index 5652b5a52..c1f46de6f 100644 --- a/docs/configuring-playbook-bridge-mautrix-slack.md +++ b/docs/configuring-playbook-bridge-mautrix-slack.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) -**Note**: bridging to [Slack](https://slack.com/) can also happen via the [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) and [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridges supported by the playbook. +**Note**: bridging to [Slack](https://slack.com/) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridge supported by the playbook. - For using as a Bot we recommend the [Appservice Slack](configuring-playbook-bridge-appservice-slack.md), because it supports plumbing. Note that it is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued. - For personal use with a slack account we recommend the `mautrix-slack` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Slack bridges supported by the playbook. diff --git a/docs/configuring-playbook-bridge-mx-puppet-slack.md b/docs/configuring-playbook-bridge-mx-puppet-slack.md index 60a7d3467..bfd5819ee 100644 --- a/docs/configuring-playbook-bridge-mx-puppet-slack.md +++ b/docs/configuring-playbook-bridge-mx-puppet-slack.md @@ -1,58 +1,33 @@ -# Setting up MX Puppet Slack bridging (optional) +# Setting up MX Puppet Slack bridging (optional, removed) -**Note**: bridging to [Slack](https://slack.com) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. Note that `matrix-appservice-slack` is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued. +🪦 The playbook used to be able to install and configure [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack), but no longer includes this component, as it has been unmaintained for a long time. -The playbook can install and configure [mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) for you. +You may wish to use the [Mautrix Slack bridge](https://github.com/mautrix/slack) instead. -See the project's [documentation](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/blob/master/README.md) to learn what it does and why it might be useful to you. +## Uninstalling the bridge manually -## Prerequisite +If you still have the MX Puppet Slack bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server: -Follow the [OAuth credentials](https://gitlab.com/mx-puppet/slack/mx-puppet-slack#option-2-oauth) instructions to create a new Slack app, setting the redirect URL to `https://matrix.example.com/slack/oauth`. - -## Adjusting the playbook configuration - -To enable the [Slack](https://slack.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_mx_puppet_slack_enabled: true -# Client ID must be quoted so YAML does not parse it as a float. -matrix_mx_puppet_slack_oauth_client_id: "" -matrix_mx_puppet_slack_oauth_client_secret: "" -``` - -## Installing - -After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: - - ```sh -ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start -``` +systemctl disable --now matrix-mx-puppet-slack.service -The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` +rm -rf /matrix/mx-puppet-slack -`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too. - -## Usage - -To use the bridge, you need to start a chat with `Slack Puppet Bridge` with the handle `@_slackpuppet_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). - -Three authentication methods are available, Legacy Token, OAuth and xoxc token. See mx-puppet-slack [documentation](https://gitlab.com/mx-puppet/slack/mx-puppet-slack) for more information about how to configure the bridge. - -Once logged in, send `list` to the bot user to list the available rooms. - -Clicking rooms in the list will result in you receiving an invitation to the bridged room. - -Send `help` to the bot to see the available commands. +/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mx_puppet_slack;' +``` diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 917533bf7..bd453c12e 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -174,8 +174,6 @@ Bridges can be used to connect your Matrix installation with third-party communi - [Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) — a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira). -- [Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) - - [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md) - [Setting up Steam bridging](configuring-playbook-bridge-steam.md) @@ -287,4 +285,6 @@ Various services that don't fit any other categories. - [Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)) +- [Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)) + - [Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)) diff --git a/docs/container-images.md b/docs/container-images.md index 8412bc4dd..69b880870 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -108,7 +108,6 @@ Bridges can be used to connect your Matrix installation with third-party communi | [matrix-sms-bridge](configuring-playbook-bridge-matrix-bridge-sms.md) | [folivonet/matrix-sms-bridge](https://hub.docker.com/repository/docker/folivonet/matrix-sms-bridge) | ❌ | Bridge to SMS | | [matrix-wechat](configuring-playbook-bridge-wechat.md) | [lxduo/matrix-wechat](https://hub.docker.com/r/lxduo/matrix-wechat) | ❌ | Bridge to [WeChat](https://www.wechat.com/) | | [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) | [hif1/heisenbridge](https://hub.docker.com/r/hif1/heisenbridge) | ❌ | Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat) | -| [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md) | [xangelix/mx-puppet-groupme](https://hub.docker.com/r/xangelix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | | [matrix-steam-bridge](configuring-playbook-bridge-steam.md) | [jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge) | ❌ | Bridge to [Steam](https://steampowered.com/) | | [mx-puppet-steam](configuring-playbook-bridge-mx-puppet-steam.md) | [icewind1991/mx-puppet-steam](https://hub.docker.com/r/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | @@ -184,4 +183,5 @@ The list of the deprecated or unmaintained services is available [here](configur | [mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md) | [mautrix/instagram](https://mau.dev/mautrix/instagram/container_registry) | ❌ | Bridge to [Instagram](https://instagram.com/) | | [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) | [mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry) | ❌ | Bridge to [Discord](https://discordapp.com/) | | [mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md) | [sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram) | ❌ | Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/)) | +| [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) | [mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry) | ❌ | Bridge to [Slack](https://slack.com) | | [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) | [sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter) | ❌ | Bridge for Twitter-DMs ([Twitter](https://twitter.com/)) | diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index d6bedd5f4..33153af74 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -148,8 +148,6 @@ matrix_homeserver_container_extra_arguments_auto: | + (['--mount type=bind,src=' + matrix_mx_puppet_groupme_config_path + '/registration.yaml,dst=/matrix-mx-puppet-groupme-registration.yaml,ro'] if matrix_mx_puppet_groupme_enabled else []) + - (['--mount type=bind,src=' + matrix_mx_puppet_slack_config_path + '/registration.yaml,dst=/matrix-mx-puppet-slack-registration.yaml,ro'] if matrix_mx_puppet_slack_enabled else []) - + (['--mount type=bind,src=' + matrix_mx_puppet_steam_config_path + '/registration.yaml,dst=/matrix-mx-puppet-steam-registration.yaml,ro'] if matrix_mx_puppet_steam_enabled else []) + (['--mount type=bind,src=' + matrix_sms_bridge_config_path + '/registration.yaml,dst=/matrix-sms-bridge-registration.yaml,ro'] if matrix_sms_bridge_enabled else []) @@ -215,8 +213,6 @@ matrix_homeserver_app_service_config_files_auto: | + (['/matrix-mx-puppet-groupme-registration.yaml'] if matrix_mx_puppet_groupme_enabled else []) + - (['/matrix-mx-puppet-slack-registration.yaml'] if matrix_mx_puppet_slack_enabled else []) - + (['/matrix-mx-puppet-steam-registration.yaml'] if matrix_mx_puppet_steam_enabled else []) + (['/matrix-sms-bridge-registration.yaml'] if matrix_sms_bridge_enabled else []) @@ -353,8 +349,6 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': 'matrix-mx-puppet-groupme.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-groupme']}] if matrix_mx_puppet_groupme_enabled else []) + - ([{'name': 'matrix-mx-puppet-slack.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-slack']}] if matrix_mx_puppet_slack_enabled else []) - + ([{'name': 'matrix-mx-puppet-steam.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'mx-puppet-steam']}] if matrix_mx_puppet_steam_enabled else []) + ([{'name': 'matrix-postmoogle.service', 'priority': 2200, 'groups': ['matrix', 'bridges', 'postmoogle']}] if matrix_postmoogle_enabled else []) @@ -2296,67 +2290,6 @@ matrix_hookshot_public_hostname: "{{ matrix_server_fqn_matrix }}" # ###################################################################### - -###################################################################### -# -# matrix-bridge-mx-puppet-slack -# -###################################################################### - -# We don't enable bridges by default. -matrix_mx_puppet_slack_enabled: false - -matrix_mx_puppet_slack_hostname: "{{ matrix_server_fqn_matrix }}" - -matrix_mx_puppet_slack_systemd_required_services_list_auto: | - {{ - matrix_addons_homeserver_systemd_services_list - + - ([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) - }} - -matrix_mx_puppet_slack_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default }}" - -matrix_mx_puppet_slack_container_image_self_build: "{{ matrix_architecture != 'amd64' }}" - -matrix_mx_puppet_slack_container_network: "{{ matrix_addons_container_network }}" - -matrix_mx_puppet_slack_container_additional_networks_auto: |- - {{ - ( - ([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network]) - + - ([postgres_container_network] if (postgres_enabled and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname and matrix_mx_puppet_slack_container_network != postgres_container_network) else []) - + - ([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_mx_puppet_slack_container_labels_traefik_enabled) else []) - ) | unique - }} - -matrix_mx_puppet_slack_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_mx_puppet_slack_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_mx_puppet_slack_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_mx_puppet_slack_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" - -matrix_mx_puppet_slack_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxslk.as.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_slack_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}" -matrix_mx_puppet_slack_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxslk.hs.tok', rounds=655555) | to_uuid }}" - -matrix_mx_puppet_slack_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}" - -matrix_mx_puppet_slack_presence_enabled: "{{ matrix_homeserver_implementation != 'synapse' or matrix_synapse_presence_enabled }}" - -# Postgres is the default, except if not using internal Postgres server -matrix_mx_puppet_slack_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}" -matrix_mx_puppet_slack_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}" -matrix_mx_puppet_slack_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mxpup.slack.db', rounds=655555) | to_uuid }}" - -###################################################################### -# -# /matrix-bridge-mx-puppet-slack -# -###################################################################### - ###################################################################### # # matrix-bridge-mx-puppet-steam @@ -4203,12 +4136,6 @@ postgres_managed_databases_auto: | 'password': matrix_mautrix_slack_database_password, }] if (matrix_mautrix_slack_enabled and matrix_mautrix_slack_database_engine == 'postgres' and matrix_mautrix_slack_database_hostname == postgres_connection_hostname) else []) + - ([{ - 'name': matrix_mx_puppet_slack_database_name, - 'username': matrix_mx_puppet_slack_database_username, - 'password': matrix_mx_puppet_slack_database_password, - }] if (matrix_mx_puppet_slack_enabled and matrix_mx_puppet_slack_database_engine == 'postgres' and matrix_mx_puppet_slack_database_hostname == postgres_connection_hostname) else []) - + ([{ 'name': matrix_mx_puppet_steam_database_name, 'username': matrix_mx_puppet_steam_database_username, @@ -5109,10 +5036,6 @@ matrix_synapse_admin_config_asManagedUsers_auto: | '^@_groupmepuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_groupme_enabled else []) + - ([ - '^@_slackpuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', - ] if matrix_mx_puppet_slack_enabled else []) - + ([ '^@_steampuppet_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$', ] if matrix_mx_puppet_steam_enabled else []) diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml deleted file mode 100644 index e073b5089..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/defaults/main.yml +++ /dev/null @@ -1,184 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Hugues Morisset -# SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2021 Marcel Ackermann -# SPDX-FileCopyrightText: 2022 Daniel Sonck -# SPDX-FileCopyrightText: 2022 Jim Myhrberg -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# SPDX-FileCopyrightText: 2024 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# Mx Puppet Slack is a Matrix <-> Slack bridge -# Project source code URL: https://gitlab.com/mx-puppet/slack/mx-puppet-slack - -matrix_mx_puppet_slack_enabled: true - -matrix_mx_puppet_slack_scheme: https -matrix_mx_puppet_slack_hostname: '' -matrix_mx_puppet_slack_path_prefix: /slack/oauth - -matrix_mx_puppet_slack_oauth_client_id: '' -matrix_mx_puppet_slack_oauth_client_secret: '' - -matrix_mx_puppet_slack_container_image_self_build: false -matrix_mx_puppet_slack_container_image_self_build_repo: "https://gitlab.com/mx-puppet/slack/mx-puppet-slack.git" -matrix_mx_puppet_slack_container_image_self_build_version: "{{ 'main' if matrix_mx_puppet_slack_version == 'latest' else matrix_mx_puppet_slack_version }}" -matrix_mx_puppet_slack_container_image_self_build_dockerfile_path: "Dockerfile" - -# Controls whether the mx-puppet-slack container exposes its HTTP port (tcp/8432 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:8432"), or empty string to not expose. -matrix_mx_puppet_slack_container_http_host_bind_port: '' - -# renovate: datasource=docker depName=registry.gitlab.com/mx-puppet/slack/mx-puppet-slack -matrix_mx_puppet_slack_version: v0.1.2 -matrix_mx_puppet_slack_docker_image: "{{ matrix_mx_puppet_slack_docker_image_registry_prefix }}mx-puppet/slack/mx-puppet-slack:{{ matrix_mx_puppet_slack_version }}" -matrix_mx_puppet_slack_docker_image_registry_prefix: "{{ 'localhost/' if matrix_mx_puppet_slack_container_image_self_build else matrix_mx_puppet_slack_docker_image_registry_prefix_upstream }}" -matrix_mx_puppet_slack_docker_image_registry_prefix_upstream: "{{ matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default }}" -matrix_mx_puppet_slack_docker_image_registry_prefix_upstream_default: "registry.gitlab.com/" -matrix_mx_puppet_slack_docker_image_force_pull: "{{ matrix_mx_puppet_slack_docker_image.endswith(':latest') }}" - -matrix_mx_puppet_slack_base_path: "{{ matrix_base_data_path }}/mx-puppet-slack" -matrix_mx_puppet_slack_config_path: "{{ matrix_mx_puppet_slack_base_path }}/config" -matrix_mx_puppet_slack_data_path: "{{ matrix_mx_puppet_slack_base_path }}/data" -matrix_mx_puppet_slack_docker_src_files_path: "{{ matrix_mx_puppet_slack_base_path }}/docker-src" - -matrix_mx_puppet_slack_appservice_port: "8432" - -matrix_mx_puppet_slack_homeserver_address: "" -matrix_mx_puppet_slack_homeserver_domain: '{{ matrix_domain }}' -matrix_mx_puppet_slack_appservice_address: 'http://matrix-mx-puppet-slack:{{ matrix_mx_puppet_slack_appservice_port }}' - -matrix_mx_puppet_slack_oauth_enabled: true -matrix_mx_puppet_slack_oauth_redirect_path: "{{ matrix_mx_puppet_slack_path_prefix }}" -matrix_mx_puppet_slack_oauth_redirect_uri: '{{ matrix_mx_puppet_slack_scheme }}://{{ matrix_mx_puppet_slack_hostname }}{{ matrix_mx_puppet_slack_oauth_redirect_path }}' - -# "@alice:example.com" to allow a specific user -# "@.*:example.com" to allow users on a specific homeserver -# "@.*" to allow anyone -matrix_mx_puppet_slack_provisioning_whitelist: - - "@.*:{{ matrix_domain | regex_escape }}" - -# Leave empty to disable blacklist -# "@bob:example.com" to disallow a specific user -# "@.*:example.com" to disallow users on a specific homeserver -matrix_mx_puppet_slack_provisioning_blacklist: [] - -matrix_mx_puppet_slack_container_network: "" - -matrix_mx_puppet_slack_container_additional_networks: "{{ matrix_mx_puppet_slack_container_additional_networks_auto + matrix_mx_puppet_slack_container_additional_networks_custom }}" -matrix_mx_puppet_slack_container_additional_networks_auto: [] -matrix_mx_puppet_slack_container_additional_networks_custom: [] - -# matrix_mx_puppet_slack_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. -# -# To inject your own other container labels, see `matrix_mx_puppet_slack_container_labels_additional_labels`. -matrix_mx_puppet_slack_container_labels_traefik_enabled: true -matrix_mx_puppet_slack_container_labels_traefik_docker_network: "{{ matrix_mx_puppet_slack_container_network }}" -matrix_mx_puppet_slack_container_labels_traefik_entrypoints: web-secure -matrix_mx_puppet_slack_container_labels_traefik_tls_certResolver: default # noqa var-naming - -# Controls whether labels will be added that expose mx-puppet-slack's public endpoint -matrix_mx_puppet_slack_container_labels_public_endpoint_enabled: true -matrix_mx_puppet_slack_container_labels_public_endpoint_hostname: "{{ matrix_mx_puppet_slack_hostname }}" -matrix_mx_puppet_slack_container_labels_public_endpoint_path_prefix: "{{ matrix_mx_puppet_slack_path_prefix }}" -matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_rule: "Host(`{{ matrix_mx_puppet_slack_container_labels_public_endpoint_hostname }}`) && PathPrefix(`{{ matrix_mx_puppet_slack_container_labels_public_endpoint_path_prefix }}`)" -matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_priority: 0 -matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_entrypoints: "{{ matrix_mx_puppet_slack_container_labels_traefik_entrypoints }}" -matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_tls: "{{ matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_entrypoints != 'web' }}" -matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_tls_certResolver: "{{ matrix_mx_puppet_slack_container_labels_traefik_tls_certResolver }}" # noqa var-naming - -# matrix_mx_puppet_slack_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. -# See `../templates/labels.j2` for details. -# -# Example: -# matrix_mx_puppet_slack_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_mx_puppet_slack_container_labels_additional_labels: '' - -# A list of extra arguments to pass to the container -matrix_mx_puppet_slack_container_extra_arguments: [] - -# List of systemd services that matrix-puppet-slack.service depends on. -matrix_mx_puppet_slack_systemd_required_services_list: "{{ matrix_mx_puppet_slack_systemd_required_services_list_default + matrix_mx_puppet_slack_systemd_required_services_list_auto + matrix_mx_puppet_slack_systemd_required_services_list_custom }}" -matrix_mx_puppet_slack_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" -matrix_mx_puppet_slack_systemd_required_services_list_auto: [] -matrix_mx_puppet_slack_systemd_required_services_list_custom: [] - -# List of systemd services that matrix-puppet-slack.service wants -matrix_mx_puppet_slack_systemd_wanted_services_list: [] - -matrix_mx_puppet_slack_appservice_token: '' -matrix_mx_puppet_slack_homeserver_token: '' - -# Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth). -matrix_mx_puppet_slack_login_shared_secret: '' - -matrix_mx_puppet_slack_presence_enabled: true -matrix_mx_puppet_slack_presence_interval: 5000 - -# Database configuration, role uses 'sqlite' per default but playbook sets up Postgres by default -matrix_mx_puppet_slack_database_engine: sqlite - -matrix_mx_puppet_slack_sqlite_database_path_local: "{{ matrix_mx_puppet_slack_data_path }}/database.db" -matrix_mx_puppet_slack_sqlite_database_path_in_container: "/data/database.db" - -matrix_mx_puppet_slack_database_username: matrix_mx_puppet_slack -matrix_mx_puppet_slack_database_password: ~ -matrix_mx_puppet_slack_database_hostname: '' -matrix_mx_puppet_slack_database_port: 5432 -matrix_mx_puppet_slack_database_name: matrix_mx_puppet_slack -matrix_mx_puppet_slack_database_sslmode: disable - -matrix_mx_puppet_slack_database_connection_string: 'postgresql://{{ matrix_mx_puppet_slack_database_username }}:{{ matrix_mx_puppet_slack_database_password }}@{{ matrix_mx_puppet_slack_database_hostname }}:{{ matrix_mx_puppet_slack_database_port }}/{{ matrix_mx_puppet_slack_database_name }}?sslmode={{ matrix_mx_puppet_slack_database_sslmode }}' - -# Default configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_mx_puppet_slack_configuration_extension_yaml`) -# or completely replace this variable with your own template. -matrix_mx_puppet_slack_configuration_yaml: "{{ lookup('template', 'templates/config.yaml.j2') }}" - -matrix_mx_puppet_slack_configuration_extension_yaml: | - # Your custom YAML configuration goes here. - # This configuration extends the default starting configuration (`matrix_mx_puppet_slack_configuration_yaml`). - # - # 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 - # completely redefining `matrix_mx_puppet_slack_configuration_yaml`. - -matrix_mx_puppet_slack_configuration_extension: "{{ matrix_mx_puppet_slack_configuration_extension_yaml | from_yaml if matrix_mx_puppet_slack_configuration_extension_yaml | from_yaml is mapping else {} }}" - -# 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_mx_puppet_slack_configuration_yaml`. -matrix_mx_puppet_slack_configuration: "{{ matrix_mx_puppet_slack_configuration_yaml | from_yaml | combine(matrix_mx_puppet_slack_configuration_extension, recursive=True) }}" - -matrix_mx_puppet_slack_registration_yaml: | - as_token: "{{ matrix_mx_puppet_slack_appservice_token }}" - hs_token: "{{ matrix_mx_puppet_slack_homeserver_token }}" - id: slack-puppet - namespaces: - users: - - exclusive: true - regex: '@_slackpuppet_.*:{{ matrix_mx_puppet_slack_homeserver_domain | regex_escape }}' - rooms: [] - aliases: - - exclusive: true - regex: '#_slackpuppet_.*:{{ matrix_mx_puppet_slack_homeserver_domain | regex_escape }}' - protocols: [] - rate_limited: false - sender_localpart: _slackpuppet_bot - url: {{ matrix_mx_puppet_slack_appservice_address }} - de.sorunome.msc2409.push_ephemeral: true - receive_ephemeral: true - -matrix_mx_puppet_slack_registration: "{{ matrix_mx_puppet_slack_registration_yaml | from_yaml }}" diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml deleted file mode 100644 index 3e66fd822..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- tags: - - setup-all - - setup-mx-puppet-slack - - install-all - - install-mx-puppet-slack - block: - - when: matrix_mx_puppet_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - - when: matrix_mx_puppet_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - -- tags: - - setup-all - - setup-mx-puppet-slack - block: - - when: not matrix_mx_puppet_slack_enabled | bool - ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml deleted file mode 100644 index c817d293c..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_install.yml +++ /dev/null @@ -1,150 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure MX Puppet Slack paths exist - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: 0750 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_mx_puppet_slack_base_path }}", when: true} - - {path: "{{ matrix_mx_puppet_slack_config_path }}", when: true} - - {path: "{{ matrix_mx_puppet_slack_data_path }}", when: true} - - {path: "{{ matrix_mx_puppet_slack_docker_src_files_path }}", when: "{{ matrix_mx_puppet_slack_container_image_self_build }}"} - when: matrix_mx_puppet_slack_enabled | bool and item.when | bool - -- name: Check if an old database file already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_slack_base_path }}/database.db" - register: matrix_mx_puppet_slack_stat_database - -- name: (Data relocation) Ensure matrix-mx-puppet-slack.service is stopped - ansible.builtin.service: - name: matrix-mx-puppet-slack - state: stopped - enabled: false - daemon_reload: true - failed_when: false - when: "matrix_mx_puppet_slack_stat_database.stat.exists" - -- ansible.builtin.set_fact: - matrix_mx_puppet_slack_requires_restart: false - -- when: "matrix_mx_puppet_slack_database_engine == 'postgres'" - block: - - name: Check if an SQLite database already exists - ansible.builtin.stat: - path: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" - register: matrix_mx_puppet_slack_sqlite_database_path_local_stat_result - - - when: "matrix_mx_puppet_slack_sqlite_database_path_local_stat_result.stat.exists | bool" - block: - - ansible.builtin.include_role: - name: galaxy/postgres - tasks_from: migrate_db_to_postgres - vars: - postgres_db_migration_request: - src: "{{ matrix_mx_puppet_slack_sqlite_database_path_local }}" - dst: "{{ matrix_mx_puppet_slack_database_connection_string }}" - caller: "{{ role_path | basename }}" - engine_variable_name: 'matrix_mx_puppet_slack_database_engine' - engine_old: 'sqlite' - systemd_services_to_stop: ['matrix-mx-puppet-slack.service'] - - - ansible.builtin.set_fact: - matrix_mx_puppet_slack_requires_restart: true - -- name: Ensure MX Puppet Slack image is pulled - community.docker.docker_image: - name: "{{ matrix_mx_puppet_slack_docker_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_mx_puppet_slack_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_slack_docker_image_force_pull }}" - when: matrix_mx_puppet_slack_enabled | bool and not matrix_mx_puppet_slack_container_image_self_build - register: result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: result is not failed - -- name: Ensure MX Puppet Slack repository is present on self build - ansible.builtin.git: - repo: "{{ matrix_mx_puppet_slack_container_image_self_build_repo }}" - dest: "{{ matrix_mx_puppet_slack_docker_src_files_path }}" - force: "yes" - version: "{{ matrix_mx_puppet_slack_container_image_self_build_version }}" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_mx_puppet_slack_git_pull_results - when: "matrix_mx_puppet_slack_enabled | bool and matrix_mx_puppet_slack_container_image_self_build" - -- name: Ensure MX Puppet Slack Docker image is built - community.docker.docker_image: - name: "{{ matrix_mx_puppet_slack_docker_image }}" - source: build - force_source: "{{ matrix_mx_puppet_slack_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mx_puppet_slack_git_pull_results.changed }}" - build: - dockerfile: "{{ matrix_mx_puppet_slack_container_image_self_build_dockerfile_path }}" - path: "{{ matrix_mx_puppet_slack_docker_src_files_path }}" - pull: true - when: "matrix_mx_puppet_slack_enabled | bool and matrix_mx_puppet_slack_container_image_self_build" - -- name: (Data relocation) Move mx-puppet-slack database file to ./data directory - ansible.builtin.command: - cmd: "mv {{ matrix_mx_puppet_slack_base_path }}/database.db {{ matrix_mx_puppet_slack_data_path }}/database.db" - creates: "{{ matrix_mx_puppet_slack_data_path }}/database.db" - removes: "{{ matrix_mx_puppet_slack_base_path }}/database.db" - when: "matrix_mx_puppet_slack_stat_database.stat.exists" - -- name: Ensure mx-puppet-slack config.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_slack_configuration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_slack_config_path }}/config.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-slack slack-registration.yaml installed - ansible.builtin.copy: - content: "{{ matrix_mx_puppet_slack_registration | to_nice_yaml(indent=2, width=999999) }}" - dest: "{{ matrix_mx_puppet_slack_config_path }}/registration.yaml" - mode: 0644 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - -- name: Ensure mx-puppet-slack support files installed - ansible.builtin.template: - src: "{{ role_path }}/templates/{{ item }}.j2" - dest: "{{ matrix_mx_puppet_slack_base_path }}/{{ item }}" - mode: 0640 - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - labels - -- name: Ensure mx-puppet-slack container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_mx_puppet_slack_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-mx-puppet-slack.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-mx-puppet-slack.service.j2" - dest: "/etc/systemd/system/matrix-mx-puppet-slack.service" - mode: 0644 - -- name: Ensure matrix-mx-puppet-slack.service restarted, if necessary - ansible.builtin.service: - name: "matrix-mx-puppet-slack.service" - state: restarted - daemon_reload: true - when: "matrix_mx_puppet_slack_requires_restart | bool" diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml deleted file mode 100644 index 33d2ad22c..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/setup_uninstall.yml +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2021 - 2022 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-mx-puppet-slack service - ansible.builtin.stat: - path: "/etc/systemd/system/matrix-mx-puppet-slack.service" - register: matrix_mx_puppet_slack_service_stat - -- when: matrix_mx_puppet_slack_service_stat.stat.exists | bool - block: - - name: Ensure matrix-mx-puppet-slack is stopped - ansible.builtin.service: - name: matrix-mx-puppet-slack - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-mx-puppet-slack.service doesn't exist - ansible.builtin.file: - path: "/etc/systemd/system/matrix-mx-puppet-slack.service" - state: absent diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml b/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml deleted file mode 100644 index ffe171fd4..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/tasks/validate_config.yml +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-FileCopyrightText: 2020 Rodrigo Belem -# SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if required mx-puppet-slack settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item.name }}`). - when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0" - with_items: - - {'name': 'matrix_mx_puppet_slack_hostname', when: true} - - {'name': 'matrix_mx_puppet_slack_path_prefix', when: true} - - {'name': 'matrix_mx_puppet_slack_appservice_token', when: true} - - {'name': 'matrix_mx_puppet_slack_homeserver_address', when: true} - - {'name': 'matrix_mx_puppet_slack_homeserver_token', when: true} - - {'name': 'matrix_mx_puppet_slack_database_hostname', when: "{{ matrix_mx_puppet_slack_database_engine == 'postgres' }}"} - - {'name': 'matrix_mx_puppet_slack_container_network', when: true} - -- name: (Deprecation) Catch and report renamed mx-puppet-slack settings - ansible.builtin.fail: - msg: >- - Your configuration contains a variable, which now has a different name. - 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" - with_items: - - {'old': 'matrix_mx_puppet_slack_redirect_path', 'new': 'matrix_mx_puppet_slack_oauth_redirect_path, but setting matrix_mx_puppet_slack_path_prefix is better'} - - {'old': 'matrix_mx_puppet_slack_redirect_uri', 'new': ' 0 %} -traefik.http.routers.matrix-mx-puppet-slack-public.priority={{ matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_priority }} -{% endif %} - -traefik.http.routers.matrix-mx-puppet-slack-public.service=matrix-mx-puppet-slack -traefik.http.routers.matrix-mx-puppet-slack-public.entrypoints={{ matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_entrypoints }} - -traefik.http.routers.matrix-mx-puppet-slack-public.tls={{ matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_tls | to_json }} -{% if matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_tls %} -traefik.http.routers.matrix-mx-puppet-slack-public.tls.certResolver={{ matrix_mx_puppet_slack_container_labels_public_endpoint_traefik_tls_certResolver }} -{% endif %} - -############################################################ -# # -# /Public # -# # -############################################################ -{% endif %} - - -{% endif %} - -{{ matrix_mx_puppet_slack_container_labels_additional_labels }} diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 deleted file mode 100644 index d95fe5268..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2 +++ /dev/null @@ -1,52 +0,0 @@ -#jinja2: lstrip_blocks: True -[Unit] -Description=Matrix Mx Puppet Slack bridge -{% for service in matrix_mx_puppet_slack_systemd_required_services_list %} -Requires={{ service }} -After={{ service }} -{% endfor %} -{% for service in matrix_mx_puppet_slack_systemd_wanted_services_list %} -Wants={{ service }} -{% endfor %} -DefaultDependencies=no - -[Service] -Type=simple -Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null || true' - -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ - --rm \ - --name=matrix-mx-puppet-slack \ - --log-driver=none \ - --user={{ matrix_user_uid }}:{{ matrix_user_gid }} \ - --cap-drop=ALL \ - --network={{ matrix_mx_puppet_slack_container_network }} \ - {% if matrix_mx_puppet_slack_container_http_host_bind_port %} - -p {{ matrix_mx_puppet_slack_container_http_host_bind_port }}:{{ matrix_mx_puppet_slack_appservice_port }} \ - {% endif %} - -e CONFIG_PATH=/config/config.yaml \ - -e REGISTRATION_PATH=/config/registration.yaml \ - --mount type=bind,src={{ matrix_mx_puppet_slack_config_path }},dst=/config \ - --mount type=bind,src={{ matrix_mx_puppet_slack_data_path }},dst=/data \ - --label-file={{ matrix_mx_puppet_slack_base_path }}/labels \ - {% for arg in matrix_mx_puppet_slack_container_extra_arguments %} - {{ arg }} \ - {% endfor %} - {{ matrix_mx_puppet_slack_docker_image }} - -{% for network in matrix_mx_puppet_slack_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-mx-puppet-slack -{% endfor %} - -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-mx-puppet-slack - -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-mx-puppet-slack 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-mx-puppet-slack 2>/dev/null || true' -Restart=always -RestartSec=30 -SyslogIdentifier=matrix-mx-puppet-slack - -[Install] -WantedBy=multi-user.target diff --git a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license b/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license deleted file mode 100644 index 04f321b44..000000000 --- a/roles/custom/matrix-bridge-mx-puppet-slack/templates/systemd/matrix-mx-puppet-slack.service.j2.license +++ /dev/null @@ -1,6 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Chris van Dijk -SPDX-FileCopyrightText: 2020 Rodrigo Belem -SPDX-FileCopyrightText: 2020 Scott Crossen - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index 23ffbe873..1ac998c9f 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -571,6 +571,18 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_instagram_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_instagram_.+', wantlist=True) | length > 0" +- name: (Deprecation) Catch and report mx-puppet-slack variables + ansible.builtin.fail: + msg: |- + The MX Puppet Slack bridge was completely removed from the playbook in November 2025. + + Please remove all `matrix_mx_puppet_slack_*` variables from your configuration file (vars.yml). + + You may also wish to uninstall the bridge manually. See `docs/configuring-playbook-bridge-mx-puppet-slack.md` for more information. + + The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_mx_puppet_slack_.+', wantlist=True) | join(', ') }} + when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_slack_.+', wantlist=True) | length > 0" + - name: (Deprecation) Catch and report mx-puppet-twitter variables ansible.builtin.fail: msg: |- diff --git a/setup.yml b/setup.yml index 7a73dab8d..7eff7acc7 100644 --- a/setup.yml +++ b/setup.yml @@ -77,7 +77,6 @@ - custom/matrix-bridge-mautrix-bluesky - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - - custom/matrix-bridge-mx-puppet-slack - custom/matrix-bridge-postmoogle - custom/matrix-bridge-sms - custom/matrix-bridge-steam From 4f6293ecb80fade1ec284901e9900c904d5e3b8a Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Tue, 4 Nov 2025 23:28:17 +0900 Subject: [PATCH 114/116] Merge entries on CHANGELOG.md Signed-off-by: Suguru Hirahara --- CHANGELOG.md | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 193ba3fcb..9ae31b4c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,22 @@ -# 2025-11-04 - -## The MX Puppet Discord bridge has been removed from the playbook - -The [mx-puppet-discord](./docs/configuring-playbook-bridge-mx-puppet-discord.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. - -The playbook will let you know if you're using any `matrix_mx_puppet_discord_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually). - -## The MX Puppet Instagram bridge has been removed from the playbook - -The [mx-puppet-instagram](./docs/configuring-playbook-bridge-mx-puppet-instagram.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. - -The playbook will let you know if you're using any `matrix_mx_puppet_instagram_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually). +# 2025-11-05 -## The MX Puppet Slack bridge has been removed from the playbook +## The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook -The [mx-puppet-slack](./docs/configuring-playbook-bridge-mx-puppet-slack.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. +The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. -The playbook will let you know if you're using any `matrix_mx_puppet_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually). +The playbook will let you know if you're using any variables for those bridges: -## The MX Puppet Twitter bridge has been removed from the playbook +- `matrix_mx_puppet_discord_*` +- `matrix_mx_puppet_instagram_*` +- `matrix_mx_puppet_slack_*` +- `matrix_mx_puppet_twitter_*` -The [mx-puppet-twitter](./docs/configuring-playbook-bridge-mx-puppet-twitter.md) bridge has been removed from the playbook, as it has been unmaintained for a long time more than several years and does not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context. +You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details: -The playbook will let you know if you're using any `matrix_mx_puppet_twitter_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually). +- [Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually) +- [Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually) +- [Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually) +- [Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually) # 2025-11-04 From 32eeab7c42608a1eccebf0cef74cff52dedf6107 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 07:49:59 +0000 Subject: [PATCH 115/116] chore(deps): update ajbura/cinny docker tag to v4.10.2 --- roles/custom/matrix-client-cinny/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-client-cinny/defaults/main.yml b/roles/custom/matrix-client-cinny/defaults/main.yml index f57451acc..2b5283ce0 100644 --- a/roles/custom/matrix-client-cinny/defaults/main.yml +++ b/roles/custom/matrix-client-cinny/defaults/main.yml @@ -17,7 +17,7 @@ matrix_client_cinny_container_image_self_build: false matrix_client_cinny_container_image_self_build_repo: "https://github.com/ajbura/cinny.git" # renovate: datasource=docker depName=ajbura/cinny -matrix_client_cinny_version: v4.10.1 +matrix_client_cinny_version: v4.10.2 matrix_client_cinny_docker_image: "{{ matrix_client_cinny_docker_image_registry_prefix }}ajbura/cinny:{{ matrix_client_cinny_version }}" matrix_client_cinny_docker_image_registry_prefix: "{{ 'localhost/' if matrix_client_cinny_container_image_self_build else matrix_client_cinny_docker_image_registry_prefix_upstream }}" matrix_client_cinny_docker_image_registry_prefix_upstream: "{{ matrix_client_cinny_docker_image_registry_prefix_upstream_default }}" From 3c587f25afd52dacf4fe5c3e11e8bf08e74a328e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 07:50:04 +0000 Subject: [PATCH 116/116] chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2025.11.5 --- roles/custom/matrix-alertmanager-receiver/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml index 1c4292812..e12544194 100644 --- a/roles/custom/matrix-alertmanager-receiver/defaults/main.yml +++ b/roles/custom/matrix-alertmanager-receiver/defaults/main.yml @@ -11,7 +11,7 @@ matrix_alertmanager_receiver_enabled: true # renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver -matrix_alertmanager_receiver_version: 2025.10.22 +matrix_alertmanager_receiver_version: 2025.11.5 matrix_alertmanager_receiver_scheme: https