537 Commits

Author SHA1 Message Date
renovate[bot]
c0686e5ac3 chore(deps): update dependency docker to v7.7.0 2025-10-15 18:47:56 +00:00
renovate[bot]
d755b959d6 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2025.10.15 2025-10-15 13:47:37 +03:00
Slavi Pantaleev
8fd2b75756 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
2025-10-14 21:09:22 +03:00
renovate[bot]
9fb28c9fd7 chore(deps): update dependency matrix-org/synapse-s3-storage-provider to v1.6.0 2025-10-14 21:09:05 +03:00
renovate[bot]
ec5efe8c4e chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.140.0 2025-10-14 21:08:57 +03:00
Benjamin Blacher
ec3f25e8ad Add (Discord) to discord displaynames 2025-10-14 18:40:40 +03:00
Benjamin Blacher
2719f5e806 Fix steam bridge displaynames 2025-10-14 18:40:15 +03:00
Benjamin Blacher
489bf39322 Fix signal displayname config 2025-10-14 18:39:53 +03:00
renovate[bot]
525d4bc997 chore(deps): update dependency charset-normalizer to v3.4.4 2025-10-14 13:20:33 +03:00
Aleksandrs Jansons
8511d4dfc4 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 <alex@peledu.casa>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-10-14 07:32:40 +03:00
Aine
1c4738b89a Merge pull request #4640 from spantaleev/renovate/gnuxie-draupnir-2.x
chore(deps): update gnuxie/draupnir docker tag to v2.7.1
2025-10-13 17:18:41 +00:00
renovate[bot]
7caa583743 chore(deps): update gnuxie/draupnir docker tag to v2.7.1 2025-10-13 16:35:03 +00:00
Slavi Pantaleev
f048a0f9a5 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
2025-10-13 12:25:59 +03:00
Slavi Pantaleev
b54eadb9e0 Revert "Remove matrix_synapse_container_image_customizations_s3_storage_provider_installation_old_boto_workaround_enabled"
This reverts commit 2b0ea94a72.

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
2025-10-13 12:24:58 +03:00
Slavi Pantaleev
2b0ea94a72 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
2025-10-13 10:16:56 +03:00
renovate[bot]
ad9c01fd5b chore(deps): update dependency idna to v3.11 2025-10-13 07:15:54 +03:00
Slavi Pantaleev
ed9bb75a52 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
- 2d05db52c7/.github/renovate.json (L16)
2025-10-11 07:43:28 +03:00
Benjamin Blacher
2d05db52c7 Update s3 storage provider version to 1.6.0, add renovate 2025-10-11 07:33:07 +03:00
Aine
f53a3bb365 Merge pull request #4634 from spantaleev/renovate/halfshot-matrix-hookshot-7.x
chore(deps): update halfshot/matrix-hookshot docker tag to v7.2.0
2025-10-10 17:10:29 +00:00
renovate[bot]
9791f8a120 chore(deps): update halfshot/matrix-hookshot docker tag to v7.2.0 2025-10-10 16:36:24 +00:00
renovate[bot]
4145b811a3 chore(deps): update gnuxie/draupnir docker tag to v2.7.0 2025-10-10 16:06:57 +03:00
renovate[bot]
6e4f781995 chore(deps): update oci.element.io/element-admin docker tag to v0.1.4 2025-10-10 07:02:20 +03:00
renovate[bot]
958b0de4f1 chore(deps): update ansible/ansible-lint action to v25.9.2 2025-10-08 18:56:09 +03:00
renovate[bot]
1bd6e8d064 chore(deps): update nginx docker tag to v1.29.2 2025-10-08 10:49:58 +03:00
renovate[bot]
01d548d4a7 chore(deps): update pre-commit hook fsfe/reuse-tool to v6.1.2 2025-10-08 06:47:05 +03:00
renovate[bot]
3a5e6d5f2e chore(deps): update dependency prometheus to v3.6.0-0 2025-10-08 06:43:43 +03:00
renovate[bot]
feb7953132 chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.139.2 2025-10-08 06:43:35 +03:00
renovate[bot]
951b27ed7f chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.1 2025-10-07 16:53:53 +03:00
Aine
b7f03aa4b2 Synapse v1.139.1 - security fix 2025-10-07 13:58:51 +01:00
renovate[bot]
4e21bbe064 chore(deps): update pre-commit hook fsfe/reuse-tool to v6 2025-10-07 07:04:29 +03:00
Aine
58688bf538 synapse - introduce vars to control server notices 2025-10-06 16:41:48 +01:00
Yan Minagawa
14c32cad77 Removes a copy and paste leftover in the element-admin doc (#4622) 2025-10-06 14:10:42 +03:00
Aine
afa003fadd postmoogle v0.9.27 2025-10-06 11:41:20 +01:00
renovate[bot]
03607e8dcd chore(deps): update dependency container_socket_proxy to v0.4.1-1 2025-10-06 06:56:12 +03:00
renovate[bot]
edad6a17bd chore(deps): update dependency certifi to v2025.10.5 2025-10-05 08:16:09 +03:00
Benjamin Blacher
dbae258970 Add support for new mas account variables 2025-10-05 06:44:37 +03:00
Aine
647652852b fix missing endif 2025-10-04 19:00:44 +01:00
Aine
c704be1f68 fix typo 2025-10-04 18:58:00 +01:00
Aine
ba19f37cb2 add more vars to dynamic dns config 2025-10-04 18:56:40 +01:00
Aine
7261a50892 Merge pull request #4618 from spantaleev/renovate/hif1-heisenbridge-1.x
chore(deps): update hif1/heisenbridge docker tag to v1.15.4
2025-10-04 11:47:39 +00:00
renovate[bot]
32f9c34aeb chore(deps): update hif1/heisenbridge docker tag to v1.15.4 2025-10-04 11:47:10 +00:00
Slavi Pantaleev
37a0967258 Fix templating of matrix_authentication_service_config_http_listener_web_resources_default when not matrix_authentication_service_admin_api_enabled
Regression since db54063a0c

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4617
2025-10-04 13:51:46 +03:00
renovate[bot]
4c17617397 chore(deps): update dependency grafana to v11.6.5-3 2025-10-04 13:02:27 +03:00
renovate[bot]
625d246d73 chore(deps): update dependency valkey to v8.1.4-0 2025-10-04 08:33:01 +03:00
Slavi Pantaleev
931056a1dc Make pre-commit happy 2025-10-02 15:06:16 +03:00
Slavi Pantaleev
677b1ea55b Make yamllint happy 2025-10-02 15:00:42 +03:00
Slavi Pantaleev
3bf56e931d Add support for Element Admin 2025-10-02 14:58:48 +03:00
Slavi Pantaleev
db54063a0c Add matrix_authentication_service_admin_api_enabled that controls if the Matrix Authentication Service's API is enabled
Builds up on top of d0adc8a37473dee2214437b87b2db6b2081851ec
2025-10-02 14:40:24 +03:00
Slavi Pantaleev
8857f78a4d Add matrix_authentication_service_config_http_listener_web_resources* variables for controlling Matrix Authentication Service's web HTTP listener's resources 2025-10-02 14:40:16 +03:00
Aine
1b8c153c4a Synapse Admin v0.11.1-etke48 2025-10-02 12:11:33 +01:00
renovate[bot]
704eae3040 chore(deps): update dependency docker to v7.6.0 2025-10-02 06:09:09 +03:00
Aine
1eaa399c65 local postgres backup - support postgres v18 2025-10-01 15:43:41 +01:00
renovate[bot]
dccfbcbdf5 chore(deps): update ansible/ansible-lint action to v25.9.1 2025-10-01 15:29:16 +03:00
Slavi Pantaleev
cb6ae3de76 Upgrade Postgres (v17.6-7 -> v18.0-0)
Ref:
- d00258c03d
- 1a60318553
2025-10-01 15:22:57 +03:00
Aine
3467baf62f Merge pull request #4611 from luixxiul/etherpad
Rename `etherpad_database_*` to `etherpad_database_postgres_*`
2025-09-30 14:34:09 +00:00
Suguru Hirahara
895f149a34 Rename etherpad_database_* to etherpad_database_postgres_*
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-09-30 23:25:04 +09:00
renovate[bot]
42aa749f14 chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.139.0 2025-09-30 15:39:50 +03:00
adam-kress
91372da03c Upgrade Jitsi (v10532-0 -> v10532-1-0) 2025-09-30 15:22:37 +03:00
renovate[bot]
04773517dd chore(deps): update dependency prometheus_postgres_exporter to v0.18.1-0 2025-09-30 10:19:49 +03:00
renovate[bot]
a0858df60f chore(deps): update dependency etherpad to v2.5.0-3 2025-09-30 06:17:38 +03:00
renovate[bot]
344f9bf7af chore(deps): update dependency jitsi to v10532 2025-09-30 06:17:27 +03:00
renovate[bot]
796b5597f4 chore(deps): update ajbura/cinny docker tag to v4.10.1 2025-09-29 10:21:19 +03:00
renovate[bot]
29d80b2243 chore(deps): update dependency markupsafe to v3.0.3 2025-09-28 06:51:49 +03:00
renovate[bot]
65d41bd84d chore(deps): update ghcr.io/jasonlaguidice/matrix-steam-bridge docker tag to v1.0.5 2025-09-27 13:11:28 +03:00
renovate[bot]
85504350af chore(deps): update dependency traefik to v3.5.3-0 2025-09-27 08:54:09 +03:00
renovate[bot]
495a4e5312 chore(deps): update dependency prometheus_postgres_exporter to v0.18.0-0 2025-09-26 08:05:18 +03:00
renovate[bot]
6fd1119cdd chore(deps): update ghcr.io/jasonlaguidice/matrix-steam-bridge docker tag to v1.0.4 2025-09-26 00:46:40 +03:00
renovate[bot]
31333460dc chore(deps): update dependency pyyaml to v6.0.3 2025-09-26 00:46:25 +03:00
Slavi Pantaleev
b71968cf64 Fix variable name (postgres_postgres_process_extra_arguments_auto -> postgres_postgres_process_extra_arguments_default) in documentation about Postgres tuning
Things have changed after b906c3036b
2025-09-25 17:22:04 +03:00
renovate[bot]
90d3cf78b3 chore(deps): update ghcr.io/element-hq/element-call docker tag to v0.16.0 2025-09-24 18:24:48 +03:00
renovate[bot]
70fd18079e chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.138.2 2025-09-24 18:10:38 +03:00
renovate[bot]
3819cc7b13 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2025.9.24 2025-09-24 13:33:47 +03:00
Slavi Pantaleev
2607714887 Fix broken firing template for matrix-alertmanager-receiver
This was an upstream documentation mistake that propagated to us
during the update in 25e7cac28d.

The upstream fix is here:

- 8f7f4d1dd1
- https://github.com/metio/matrix-alertmanager-receiver/pull/99
2025-09-24 10:02:25 +03:00
renovate[bot]
4cc7d8456b chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.3.0 2025-09-23 21:44:34 +03:00
Slavi Pantaleev
2997f23e20 Remove variables controlling removed Element options (secure_backup_required & secure_backup_setup_methods) from /.well-known/matrix/client
Ref:

- https://github.com/element-hq/element-web/pull/30681
- https://github.com/element-hq/element-web/pull/30702
2025-09-23 17:34:47 +03:00
renovate[bot]
6e5cf9f3be chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.0 2025-09-23 17:25:24 +03:00
Aine
238cc68889 Merge pull request #4591 from spantaleev/renovate/ghcr.io-anoadragon453-matrix-reminder-bot-0.x
chore(deps): update ghcr.io/anoadragon453/matrix-reminder-bot docker tag to v0.4.0
2025-09-21 15:57:23 +00:00
renovate[bot]
2591223b20 chore(deps): update ghcr.io/anoadragon453/matrix-reminder-bot docker tag to v0.4.0 2025-09-21 15:56:56 +00:00
Slavi Pantaleev
ca69a97d08 Upgrade Postgres (v17.6-6 -> v17.6-7) 2025-09-21 16:11:30 +03:00
Chippit
3c3cc2bf7d Fixed justfile not working with spaces in path 2025-09-21 14:11:24 +03:00
Julius Nowakowski
3fee130331 fix: displayname_template lost during parsing to dict 2025-09-21 10:07:22 +03:00
Slavi Pantaleev
2ea4384840 Add --no-update to mautrix-whatsapp and mautrix-gmessages
All other mautrix bridges already had `--no-update`.
For some reason, these 2 didn't.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4585
2025-09-21 10:01:59 +03:00
renovate[bot]
66729311db Update dependency docker to v7.5.5 2025-09-21 09:46:47 +03:00
renovate[bot]
06263ddf61 Update dependency docutils to v0.22.2 2025-09-21 07:17:12 +03:00
Slavi Pantaleev
9f6305db4d Upgrade matrix-corporal (3.1.6 -> 3.1.7) 2025-09-20 17:08:08 +03:00
renovate[bot]
1d6bf63ca5 Update dependency click to v8.3.0 2025-09-18 20:46:47 +03:00
Slavi Pantaleev
25e7cac28d Upgrade matrix-alertmanager-receiver (2025.9.10 -> 2025.9.17) and switch from computed-values to in-template logic
Ref:

- https://github.com/metio/matrix-alertmanager-receiver/releases/tag/2025.9.17
- https://github.com/metio/matrix-alertmanager-receiver/pull/94
2025-09-18 07:19:33 +03:00
renovate[bot]
ba4153da97 Update dependency docutils to v0.22.1 2025-09-17 21:58:17 +03:00
Slavi Pantaleev
130d756dcb Upgrade exim-relay (v4.98.1-r0-2-1 -> v4.98.1-r0-2-2)
Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4581
2025-09-17 07:03:13 +03:00
renovate[bot]
beaf0ba16e Update dock.mau.dev/mautrix/gmessages Docker tag to v0.7.0 2025-09-17 06:52:07 +03:00
renovate[bot]
c2e606095c Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.5 2025-09-17 06:42:15 +03:00
renovate[bot]
84bde915c7 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.7 2025-09-17 06:42:08 +03:00
renovate[bot]
910cdf8a0a Update ansible/ansible-lint action to v25.9.0 2025-09-17 06:38:56 +03:00
Slavi Pantaleev
d8eed6bfd3 Add some variables for controlling x_forwarded settings for Synapse listeners 2025-09-16 18:17:35 +03:00
Aine
38b40242c4 element web v1.11.112 2025-09-16 13:29:34 +01:00
renovate[bot]
f12d6a901c Update matrixconduit/matrix-conduit Docker tag to v0.10.9 2025-09-15 07:43:44 +03:00
renovate[bot]
c67c7d6f46 Update dependency docker to v7.5.4 2025-09-15 07:43:35 +03:00
Slavi Pantaleev
a6f0f40296 Upgrade Postgres (v17.6-5 -> v17.6-6) 2025-09-14 07:37:57 +03:00
Slavi Pantaleev
f65656175f Upgrade Postgres (v17.6-3 -> v17.6-5) 2025-09-12 18:32:25 +03:00
Slavi Pantaleev
24c2de23d5 Upgrade baibot (v1.8.0 -> v1.8.1) 2025-09-12 17:05:06 +03:00
Slavi Pantaleev
deb19fb67c Switch container image for synapse-auto-compressor (etke.cc/rust-synapse-compress-state -> mb-saces/rust-synapse-tools)
Both container images provide the same version (v0.1.4) of the upstream software
(https://github.com/matrix-org/rust-synapse-compress-state).

The new container image is also available multiarch and is available for `arm64`,
removing the need to self-build on this architecture.
2025-09-12 13:23:59 +03:00
renovate[bot]
4d15ebcffa Update registry.gitlab.com/mb-saces/rust-synapse-tools Docker tag to v0.0.3 2025-09-12 13:16:43 +03:00
Slavi Pantaleev
2a2ef828c3 Extract mb-saces/rust-synapse-tools version into a variable (matrix_synapse_rust_synapse_compress_state_docker_image_version) and annotate for Renovate 2025-09-12 12:00:57 +03:00
Jason LaGuidice
40813784c1 Add matrix-steam-bridge (#4572)
* Documentation update

* New files for role

* Update existing files to add support for matrix-steam-bridge

* Typos and misc fixes

* Change docker tag to latest until version # is stable

* Align bridge permissions

* Correct user localpart

* Remove trailing +

* Fix syslog identifier

* Actually enable the service correctly

* One more typo fix

* Third time's the charm

* Fix config file paths

* Fix config after bridge repo changes

* Add default appservice public address - set public_media to false by default for testing

* Fix default config for steamkit-service path

* Fix bluesky reference

* Fix default container path

* Fix appservice connection to http for internal, change port to standard 8080

* Fix appservice port

* Enable public_media by default, add labels

* Enable public_media by default, add labels

* Allow bridge to update its own config and generate public_media signing key

* Add deterministic public_media_signing_key, expose portal cleanup

* Change default public_media path to omit `matrix.` from the path as it has been found that URLs generated by the bridge will only match {{ matrix_domain }}

* Remove domain re-write

* Revert "Change default public_media path to omit `matrix.` from the path as it has been found that URLs generated by the bridge will only match {{ matrix_domain }}"

This reverts commit 5f399effb9.

* Fix TLS label if playbook TLS is disabled

* Match default bridge TLS config

* Related to 3daf14d69 and 60ab08014 which enable async media by default for mautrix-go bridges

* Adjust matrix-bridge-steam files to add new line at the end of files

* Pin matrix-bridge-steam (latest -> 1.0.3)

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-09-12 09:13:09 +03:00
Aine
071b5789f2 add matrix_synapse_user_directory_exclude_remote_users var 2025-09-10 16:38:42 +01:00
Aine
d2f38f04a6 Merge pull request #4571 from spantaleev/renovate/ghcr.io-element-hq-element-web-1.x
Update ghcr.io/element-hq/element-web Docker tag to v1.11.111
2025-09-10 15:23:06 +00:00
renovate[bot]
840ad0171f Update ghcr.io/element-hq/element-web Docker tag to v1.11.111 2025-09-10 13:39:05 +00:00
renovate[bot]
051d77e541 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.9.10 2025-09-10 09:39:29 +03:00
Slavi Pantaleev
facdde367f Upgrade Traefik (v3.5.1-0 -> v3.5.2-0) 2025-09-10 06:42:17 +03:00
renovate[bot]
a008665ad5 Update ghcr.io/element-hq/synapse Docker tag to v1.138.0 2025-09-10 06:41:45 +03:00
renovate[bot]
aa58c5cfd6 Update dependency ntfy to v2.14.0-2 2025-09-09 15:59:02 +03:00
renovate[bot]
a444d45f1e Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v1.2.0 2025-09-09 15:58:52 +03:00
Slavi Pantaleev
a22d2cc2bf Upgrade Postgres (v17.6-2 -> v17.6-3) 2025-09-09 09:56:33 +03:00
Slavi Pantaleev
cab01be63c Upgrade Postgres (v17.6-1 -> v17.6-2) 2025-09-09 08:58:44 +03:00
renovate[bot]
f5b1ba57eb Update joseluisq/static-web-server Docker tag to v2.38.1 2025-09-09 07:40:43 +03:00
Slavi Pantaleev
beb8e6d5f9 Upgrade baibot (v1.7.6 -> v1.8.0) 2025-09-08 15:39:02 +03:00
Aine
14b65ed7ed fix etherpad role 2025-09-08 11:36:55 +01:00
Aine
841e2f7c4e add new Synapse Admin config options 2025-09-08 10:52:34 +01:00
Slavi Pantaleev
3ea0a10947 Upgrade Etherpad (v2.5.0-0 -> v2.5.0-1) 2025-09-08 08:25:34 +03:00
renovate[bot]
fedb5a8cb0 Update dependency container_socket_proxy to v0.4.1-0 2025-09-07 15:56:50 +03:00
Slavi Pantaleev
60ab080147 Use async media for bridges on Synapse
Related to 3daf14d695

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4549

Other homeserver implementations (not just Synapse) may also support MSC2246
(https://github.com/matrix-org/matrix-spec-proposals/pull/2246)
and may also be eligible. For now, it's only enabled for Synapse.
2025-09-06 08:09:15 +03:00
Slavi Pantaleev
3daf14d695 Add Ansible variables to control the async_media settings in (mautrix) bridges
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4549
2025-09-06 08:03:36 +03:00
Slavi Pantaleev
39efe79417 Make matrix_synapse_admin_config_asManagedUsers_auto respect matrix_mautrix_telegram_username_template
Related to:

- 83165d77fa
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1493
- d166a90514

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4550
2025-09-06 07:21:53 +03:00
renovate[bot]
46a416e678 Update dependency livekit_server to v1.9.1-0 2025-09-06 06:25:54 +03:00
renovate[bot]
48c08f62fb Update dependency etherpad to v2.5.0-0 2025-09-05 21:36:40 +03:00
renovate[bot]
b85f7c61dd Update pre-commit hook fsfe/reuse-tool to v5.1.1 2025-09-05 21:36:22 +03:00
Suguru Hirahara
41043ffb1f Merge pull request #4552 from spantaleev/renovate/etherpad-2.x
Update dependency etherpad to v2.4.2-2
2025-09-05 13:14:53 +00:00
renovate[bot]
62cef9375e Update dependency etherpad to v2.4.2-2 2025-09-05 08:50:57 +00:00
renovate[bot]
ab6f091f5f Update pre-commit hook fsfe/reuse-tool to v5.1.0 2025-09-04 18:30:29 +03:00
Slavi Pantaleev
9357eebbf1 Upgrade Postgres (v17.6-0 -> v17.6-1) 2025-09-04 18:17:50 +03:00
Travis Wichert
cd6e9843e1 Add bot command prefix to documentation 2025-09-04 10:08:48 +03:00
Travis Wichert
9354fa253e Add bot command prefix default to main.yml 2025-09-04 10:08:48 +03:00
Travis Wichert
de212a2211 Add bot:prefix: to template 2025-09-04 10:08:48 +03:00
renovate[bot]
ac063d0629 Update dependency etherpad to v2.4.2-1 2025-09-04 10:05:04 +03:00
renovate[bot]
814d3acc42 Update actions/stale action to v10 2025-09-04 10:04:51 +03:00
renovate[bot]
28deb25810 Update dependency docker to v7.5.3 2025-09-03 20:53:23 +03:00
Aine
b62b5c3659 Synapse Admin - use correct restrictBaseUrl data type by default 2025-09-03 16:15:08 +01:00
Slavi Pantaleev
153fd1f68f Adjust Ansible version requirements information
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4542
2025-09-03 15:20:08 +03:00
renovate[bot]
21766eba94 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.9.3 2025-09-03 15:06:34 +03:00
Aine
c6b66d93b7 Synapse Admin v0.11.1-etke47 2025-09-03 12:54:32 +01:00
renovate[bot]
5951437e15 Update dependency docker to v7.5.2 2025-09-03 07:47:16 +03:00
Aine
2253fc4d45 Synapse Admin v0.11.1-etke46 2025-09-02 18:26:57 +01:00
Aine
eb8bc55dfe FluffyChat v2.1.1 2025-09-02 15:19:37 +01:00
Slavi Pantaleev
83165d77fa Keep mautrix-telegram registration namespace config in sync with matrix_mautrix_telegram_username_template & matrix_mautrix_telegram_alias_template
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4539

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1493 and d166a90514
2025-09-02 09:27:48 +03:00
renovate[bot]
1efc2fb7ba Update ajbura/cinny Docker tag to v4.10.0 2025-08-31 16:03:55 +03:00
David Mehren
945c4b503c Add unicode_normalization option to MAS password config
The MAS docs recommend this option for migrated Synapse passwords
to work: https://element-hq.github.io/matrix-authentication-service/setup/migration.html#local-passwords
2025-08-30 14:04:44 +03:00
renovate[bot]
824d18626d Update ghcr.io/devture/matrix-corporal Docker tag to v3.1.6 2025-08-29 22:38:44 +03:00
Kolja Lampe
8e01a51f00 Enable openapi endpoint, when element call is setup - even without federation
Closes #4232
2025-08-29 22:31:00 +03:00
Slavi Pantaleev
0f50f24c1b Upgrade container-socket-proxy (v0.3.0-7 -> v0.4.0-0) 2025-08-29 09:59:51 +03:00
renovate[bot]
7f0c9aaf55 Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.3 2025-08-28 21:12:04 +03:00
renovate[bot]
992f974a65 Update dependency traefik to v3.5.1-0 2025-08-28 21:10:08 +03:00
renovate[bot]
6e89e181ec Update ghcr.io/element-hq/element-web Docker tag to v1.11.110 2025-08-28 08:38:58 +03:00
renovate[bot]
f136c2e5f1 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.8.27 2025-08-27 13:36:14 +03:00
renovate[bot]
5deead45cd Update ghcr.io/element-hq/element-call Docker tag to v0.15.0 2025-08-27 08:27:01 +03:00
Slavi Pantaleev
2252697119 Reference Ansible facts via ansible_facts variable, not globally
This should bring better compatibility with future Ansible versions,
one of which will some day drop support for accessing facts via the global namespace.

Ref: https://github.com/geerlingguy/ansible-role-docker/pull/513
2025-08-26 15:22:34 +03:00
renovate[bot]
831a288ffc Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v1.1.0 2025-08-26 15:13:09 +03:00
Slavi Pantaleev
ec8a7a4934 Stabilize Matrix Authentication Service integration for Synapse
Related to https://github.com/element-hq/synapse/pull/18759

Currently problematic (leading to failures to start for Synapse) because of:
https://github.com/element-hq/synapse/pull/18759#issuecomment-3172744530
2025-08-26 15:12:26 +03:00
Slavi Pantaleev
1c09eda631 Upgrade Synapse (v1.136.0 -> v1.137.0) 2025-08-26 15:12:17 +03:00
renovate[bot]
dd5994cfb4 Update dependency docker to v7.5.1 2025-08-26 15:11:28 +03:00
Aine
8ff8e435c0 add matrix_synapse_admin_contact var 2025-08-25 09:58:34 +01:00
renovate[bot]
13cc78a9ac Update dependency backup_borg to v1.4.1-1.9.14-2 2025-08-24 09:29:23 +03:00
renovate[bot]
bb32475f27 Update dependency ntfy to v2.14.0-1 2025-08-24 09:27:13 +03:00
renovate[bot]
daba4cb225 Update dependency grafana to v11.6.5-1 2025-08-24 09:27:03 +03:00
mcnesium
3462196eb3 append websocket upgrade rule to apache example config 2025-08-22 15:40:40 +03:00
Slavi Pantaleev
0f00cddcda Upgrade Jitsi (v10431-1 -> v10431-2) 2025-08-22 08:20:50 +03:00
renovate[bot]
b2c9468ac2 Update ansible/ansible-lint action to v25.8.2 2025-08-21 21:14:23 +03:00
Aine
06ab77fdcc add element web mobile guide app variant config option 2025-08-21 10:56:16 +01:00
renovate[bot]
0ebefac8d3 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.8.20 2025-08-20 14:42:39 +03:00
renovate[bot]
5ec3257e3c Update dependency docker to v7.5.0 2025-08-19 08:16:25 +03:00
renovate[bot]
ddf161aa74 Update dependency requests to v2.32.5 2025-08-19 08:14:28 +03:00
Slavi Pantaleev
6ba22f5db7 Upgrade timesync (v1.0.0-0 -> v1.1.0-0)
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4510
2025-08-18 08:38:26 +03:00
Didr
c2bd2ba6fc Fix renamed variable in docs for matrix-hookshot 2025-08-18 07:33:37 +03:00
Slavi Pantaleev
6006d1e4d8 Upgrade postgres-backup (v17-7 -> v17-8) 2025-08-18 07:31:05 +03:00
Aine
9bcfbc13fb FluffyChat v2.1.0 2025-08-17 19:07:04 +01:00
renovate[bot]
b6f2255d49 Update ajbura/cinny Docker tag to v4.9.1 2025-08-17 21:00:32 +03:00
renovate[bot]
2190e7a5ea Update dock.mau.dev/mautrix/signal Docker tag to v0.8.6 2025-08-16 17:47:30 +03:00
renovate[bot]
bb322ad692 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.5 2025-08-16 17:47:22 +03:00
renovate[bot]
dd3399aa44 Update dock.mau.dev/mautrix/twitter Docker tag to v0.5.0 2025-08-16 17:47:04 +03:00
renovate[bot]
c84a4ee28c Update dock.mau.dev/mautrix/meta Docker tag to v0.5.3 2025-08-16 17:46:07 +03:00
renovate[bot]
662c477a65 Update dock.mau.dev/mautrix/slack Docker tag to v0.2.3 2025-08-16 17:45:53 +03:00
renovate[bot]
bb98127754 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.4 2025-08-16 17:45:37 +03:00
renovate[bot]
2c859b2868 Update dependency grafana to v11.6.5-0 2025-08-16 07:40:12 +03:00
Slavi Pantaleev
fccd7442d6 Add a few more generic. webhook settings for Hookshot
Ref: https://github.com/matrix-org/matrix-hookshot/pull/1004
2025-08-16 06:14:35 +03:00
renovate[bot]
5711a8bda3 Update halfshot/matrix-hookshot Docker tag to v7.1.0 2025-08-16 06:12:02 +03:00
renovate[bot]
6bd758ec5a Update ghcr.io/devture/matrix-corporal Docker tag to v3.1.5 2025-08-16 06:09:16 +03:00
Aine
50abe5b92f SchildiChat Web v1.11.109-sc.0.test.0 2025-08-15 21:45:37 +01:00
renovate[bot]
567cd9b669 Update matrixdotorg/dendrite-monolith Docker tag to v0.15.2 2025-08-15 16:11:05 +03:00
Slavi Pantaleev
e057dd93cc Upgrade Postgres (v17.5-5 -> v17.6-0) 2025-08-15 09:21:37 +03:00
Aine
92ad39bf51 Merge pull request #4503 from spantaleev/renovate/ghcr.io-etkecc-honoroit-0.x
Update ghcr.io/etkecc/honoroit Docker tag to v0.9.29
2025-08-14 21:28:50 +00:00
renovate[bot]
67b078f061 Update ghcr.io/etkecc/honoroit Docker tag to v0.9.29 2025-08-14 21:25:52 +00:00
Aine
5b148e0d60 Merge pull request #4502 from spantaleev/renovate/gnuxie-draupnir-2.x
Update gnuxie/draupnir Docker tag to v2.6.1
2025-08-14 19:55:32 +00:00
renovate[bot]
c4968592d9 Update gnuxie/draupnir Docker tag to v2.6.1 2025-08-14 18:35:47 +00:00
Slavi Pantaleev
03b78f90b5 Mention #huginn-muninn-active-threats:feline.support community policy list in Draupnir's docs 2025-08-14 15:15:16 +03:00
Slavi Pantaleev
a8a410546c Update Draupnir docs related to protections
It seems like the syntax changed at some point
and we got out of date.
2025-08-14 15:08:43 +03:00
renovate[bot]
865345a08f Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v1 2025-08-14 09:18:16 +03:00
renovate[bot]
a8134ae198 Update ansible/ansible-lint action to v25.8.1 2025-08-14 06:11:55 +03:00
renovate[bot]
9dd2305bae Update matrixdotorg/dendrite-monolith Docker tag to v0.15.1 2025-08-14 06:10:50 +03:00
renovate[bot]
36687c4747 Update nginx Docker tag to v1.29.1 2025-08-14 06:10:09 +03:00
renovate[bot]
20729fcdfb Update ansible/ansible-lint action to v25.8.0 2025-08-13 18:20:53 +03:00
Aine
72d082d6f5 create draupnir bot user with type = admin when matrix_bot_draupnir_admin_api_enabled = true 2025-08-13 11:57:56 +01:00
renovate[bot]
eef4036c6e Update ajbura/cinny Docker tag to v4.9.0 2025-08-13 12:18:55 +03:00
renovate[bot]
ff79d9d8e8 Update matrixdotorg/mjolnir Docker tag to v1.11.0 2025-08-13 08:15:31 +03:00
Slavi Pantaleev
370f01c0bf Fix !draupnir ban command example to not include a dash
A dash in the ban reason message makes Draupnir report this error:

> There was an unexpected argument provided for this command.
> draupnir ban <entity> <list> [...reason]
> Encountered unexpected keyword argument: all
2025-08-13 08:09:16 +03:00
Aine
6658c690cb allow native draupnir (bot) auth using login/password 2025-08-13 07:38:00 +03:00
renovate[bot]
e0dbd0581f Update matrixdotorg/dendrite-monolith Docker tag to v0.15.0 2025-08-13 07:28:11 +03:00
renovate[bot]
b129ab77cd Update gnuxie/draupnir Docker tag to v2.6.0 2025-08-12 22:45:55 +03:00
Richard Meyer
be161ae6e1 Update main.yml 2025-08-12 22:04:04 +03:00
renovate[bot]
5d7e80d6c6 Update dependency markdown-it-py to v4 2025-08-12 06:46:04 +03:00
renovate[bot]
17b738b40e Update matrixconduit/matrix-conduit Docker tag to v0.10.8 2025-08-11 21:51:49 +03:00
renovate[bot]
851cfd8bee Update actions/checkout action to v5 2025-08-11 21:51:36 +03:00
Aine
b24b13564a Synapse v1.135.2 2025-08-11 19:13:13 +01:00
Aine
c38c606b8e Synapse v1.135.1 - switch to room version v12 by default 2025-08-11 18:23:12 +01:00
renovate[bot]
d3fcd7a97a Update ghcr.io/element-hq/element-web Docker tag to v1.11.109 2025-08-11 15:43:37 +03:00
renovate[bot]
d720a6a7a5 Update dependency mdit-py-plugins to v0.5.0 2025-08-11 12:30:49 +03:00
renovate[bot]
8c84fb245c Update pre-commit hook pre-commit/pre-commit-hooks to v6 2025-08-10 06:25:50 +03:00
renovate[bot]
d69b5b5beb Update dependency charset-normalizer to v3.4.3 2025-08-09 13:37:38 +03:00
Slavi Pantaleev
389118760f Change default OpenAI model for baibot (gpt-4.1 -> gpt-5)
Ref: https://openai.com/index/introducing-gpt-5/
2025-08-08 07:20:18 +03:00
renovate[bot]
593fbd74de Update gnuxie/draupnir Docker tag to v2.5.1 2025-08-07 08:38:18 +03:00
renovate[bot]
8bde2035f7 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.8.6 2025-08-06 11:42:23 +03:00
renovate[bot]
e5d4400ccc Update dependency ntfy to v2.14.0-0 2025-08-05 16:10:40 +03:00
renovate[bot]
e395857a14 Update ghcr.io/element-hq/element-call Docker tag to v0.14.1 2025-08-05 09:14:23 +03:00
renovate[bot]
8762cc0d7d Update matrixconduit/matrix-conduit Docker tag to v0.10.7 2025-08-04 14:48:31 +03:00
Aine
9cb695a971 * updated etherpad (v2.3.2-5 -> v2.4.2-0) 2025-08-04 12:33:25 +01:00
renovate[bot]
f324c01e78 Update dependency certifi to v2025.8.3 2025-08-03 06:47:15 +03:00
renovate[bot]
65de112d87 Update dependency sphinx-intl to v2.3.2 2025-08-03 06:47:02 +03:00
Slavi Pantaleev
e343b69510 Upgrade devture/ansible (11.1.0-r0-0 -> 11.6.0-r0-0) 2025-08-02 07:40:50 +03:00
renovate[bot]
9706f9eb97 Update dependency click to v8.2.2 2025-08-02 06:54:50 +03:00
renovate[bot]
6f2e7e7a57 Update ghcr.io/element-hq/synapse Docker tag to v1.135.0 2025-08-01 20:10:42 +03:00
Slavi Pantaleev
ce8a9b1653 Upgrade postgres-backup (v17-6 -> v17-7) 2025-08-01 15:13:27 +03:00
Slavi Pantaleev
75b0aeabee Upgrade Postgres (v17.5-4 -> v17.5-5) 2025-08-01 15:11:50 +03:00
Slavi Pantaleev
dca53824ef Upgrade Postgres (v17.5-3 -> v17.5-4) 2025-08-01 15:08:14 +03:00
Slavi Pantaleev
1761615bf8 Make devture_playbook_runtime_messages_list integration compatible with ansible-core>=2.19.0
Related to https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages/issues/1
2025-08-01 15:07:52 +03:00
renovate[bot]
2f429411f3 Update ghcr.io/element-hq/element-call Docker tag to v0.14.0 2025-07-31 14:46:23 +03:00
Slavi Pantaleev
a01b111495 Upgrade systemd_docker_base (v1.4.0-0 -> v1.4.1-0) 2025-07-31 07:17:59 +03:00
Aine
5d5289576e Merge pull request #4468 from spantaleev/renovate/ghcr.io-element-hq-element-web-1.x
Update ghcr.io/element-hq/element-web Docker tag to v1.11.108
2025-07-30 15:38:48 +00:00
renovate[bot]
d2419fccf3 Update ghcr.io/element-hq/element-web Docker tag to v1.11.108 2025-07-30 15:36:35 +00:00
Aine
cbbf20004c replace access log ip anonymization with vars to control access logs 2025-07-30 14:40:48 +01:00
renovate[bot]
5de4b5c657 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.7.30 2025-07-30 15:49:45 +03:00
Aine
e8c7091c3f update nginx configs for cinny, hydrogen, and synapse reverse proxy companion with ip anonymization 2025-07-30 12:59:42 +01:00
Slavi Pantaleev
84b0879606 Upgrade livekit-server (v1.9.0-4 -> v1.9.0-5) and disable livekit_server_config_room_auto_create to improve security
Ref:
- https://github.com/element-hq/lk-jwt-service/releases/tag/v0.3.0
- 5e483e7554/config-sample.yaml (L168-L170)
- 2a1b045526
2025-07-30 07:02:45 +03:00
Slavi Pantaleev
0d56aa126c Fix container name typo (matrix-jwt-service -> matrix-livekit-jwt-service) in ExecStop 2025-07-30 06:49:21 +03:00
Slavi Pantaleev
d4c168daa9 Do not use docker stop --time (deprecated in Docker v28 in favor of --timeout or just -t) 2025-07-30 06:48:33 +03:00
Slavi Pantaleev
e7d4bd4e28 Upgrade livekit-jwt-servie (0.2.3 -> 0.3.0) and make use of the new LIVEKIT_FULL_ACCESS_HOMESERVERS environment variable
Ref: https://github.com/element-hq/lk-jwt-service/releases/tag/v0.3.0
2025-07-30 06:46:24 +03:00
Slavi Pantaleev
0728f9ca36 Upgrade playbook_help (201c939eed363de269a83ba29784fc3244846048 -> 7663e3114513e56f28d3ed762059b445c678a71a) 2025-07-30 06:37:44 +03:00
renovate[bot]
c1f9032f04 Update ansible/ansible-lint action to v25.7.0 2025-07-30 06:16:38 +03:00
renovate[bot]
abbcb0bc22 Update dependency docutils to v0.22 2025-07-30 06:16:23 +03:00
renovate[bot]
11028761a1 Update ghcr.io/element-hq/element-web Docker tag to v1.11.107 2025-07-29 16:39:29 +03:00
Paul ALNET
24d6d4b94b fix indentation in ma1sd validate_config 2025-07-29 16:35:17 +03:00
renovate[bot]
350cd2031a Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.20.0 2025-07-29 15:04:04 +03:00
Slavi Pantaleev
95f239c4a6 Upgrade Etherpad (v2.3.2-4 -> v2.3.2-5) to restore compatibility with older Ansible (<=2.19.0) 2025-07-28 07:12:29 +03:00
Slavi Pantaleev
7f1fa52dd3 Do not invoke render_worker_upstream() with an empty workers list
On ansible-core 2.19.0, invoking macro like this (which only outputted
something in its `if` block, not in `else`), resulted in a macro
outputting `None`.

One way to work around it is to add an explicit `else` block which also
outputs something.

A better way to work around it is to only invoke the macro if it
has something to output.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4458
2025-07-27 09:21:12 +03:00
Slavi Pantaleev
9d31b44040 Make matrix-static-files not reference other matrix_authentication_service_* variables if MAS is not enabled 2025-07-27 08:22:42 +03:00
Slavi Pantaleev
d876da4186 Explicitly tell template-lookup to not auto-parse JSON files
ansible-core>=2.19.0 only auto-parses YAML files, not JSON.

Previous ansible-core versions auto-parsed JSON as well, but ansible-core>=2.19.0
doesn't, so we added a `from_json` post-filter.
However, older versions auto-parsing JSON and turning it into a dict, on
which we later run `from_json` is no good.

In this patch, we try to equalize behavior and configure Ansible to never parse JSON,
hopefully making old-Ansible behave like new Ansible.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4458

Ref: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_lookup.html#parameter-convert_data
2025-07-27 07:45:58 +03:00
Slavi Pantaleev
4ef78bdb7f Adjust default value for matrix_synapse_admin_configuration_extension_json_auto to match what we expect and how we use it
We expect a string, which is parsed via `from_json`.

This matches previous usage in inventories, as well as what the
user-controlled precedessor of this variable (`matrix_synapse_admin_configuration_extension_json`)
is like.

Related to 997e6ca611

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4459
2025-07-27 07:36:21 +03:00
Aine
c085b540f2 fix etherpad postgres wiring 2025-07-26 23:51:38 +01:00
Aine
9d98c5056e update etherpad role 2025-07-26 23:36:57 +01:00
Aine
da9b82439b fix etherpad (ansible>=2.19.0) 2025-07-26 23:30:50 +01:00
Aine
997e6ca611 fix synapse-admin for ansible-core>=2.19.0. Related to #4445 2025-07-26 22:44:55 +01:00
Slavi Pantaleev
3a11a32f9e Do not rely on ansible-core>=2.19.0 to process Jinja blocks inside strings found in other strings blocks
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 19:09:11 +03:00
Slavi Pantaleev
570c4121b7 Make sure remaining when dict keys do not refer to variables directly, but open a Jinja block
Most `when` dict keys already were done correctly, but these few weren't.

ansible-core 2.19.0 reported the following errors for them:

> [WARNING]: Deprecation warnings can be disabled by setting `deprecation_warnings=False` in ansible.cfg.
> [DEPRECATION WARNING]: The `bool` filter coerced invalid value 'variable_name' (str) to False. This feature will be removed from ansible-core version 2.23.
2025-07-26 18:53:11 +03:00
Slavi Pantaleev
90813b3739 Pass the result of JSON-file template lookups through from_json for better ansible-core>=2.19.0 compatibility
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445

It seems like ansible-core 2.19.0 no longer automatically parses template lookup content
as JSON (into a dict) when dealing with template files (be it `file.json.j2` or `file.j2`).

For files detected to contain YAML (`.ya?ml.j2`, but possibly others),
it automatically parses YAML, because the `convert_data` option
for the template lookup defaults to `true`.
Ref: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_lookup.html
2025-07-26 18:53:11 +03:00
Slavi Pantaleev
f2524902af Cast variables to string before running length on them when checking if a variable contains a value
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 18:13:07 +03:00
Slavi Pantaleev
2ee0826079 Upgrade backup-borg (v1.4.1-1.9.14-0 -> v1.4.1-1.9.14-1) 2025-07-26 17:59:50 +03:00
Slavi Pantaleev
51ab9ed9ff Adjust lstrip_blocks to use a bool value for compatibility with ansible-core>=2.19.0
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:58:12 +03:00
Slavi Pantaleev
5651206e77 Fix indentation of when clause
Fixup for a1f6ee4dc9
2025-07-26 17:57:24 +03:00
Slavi Pantaleev
a09760492b Update various roles to versions that offer better compatibility with ansible-core>=2.19.0
Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:52:43 +03:00
Slavi Pantaleev
a1f6ee4dc9 Improve compatibility with ansible-core>=2.19.0 by not reaching into vars
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4445
2025-07-26 17:50:20 +03:00
renovate[bot]
6da6b466da Update dependency exim_relay to v4.98.1-r0-2-1 2025-07-26 17:28:54 +03:00
renovate[bot]
c7989af64f Update dependency etherpad to v2.3.2-2 2025-07-26 17:28:32 +03:00
renovate[bot]
28870d2867 Update dependency etherpad to v2.3.2-1 2025-07-26 12:36:37 +03:00
renovate[bot]
8c89f577ad Update dependency container_socket_proxy to v0.3.0-7 2025-07-26 12:36:11 +03:00
renovate[bot]
e2cb95f145 Update dependency postgres to v17.5-1 2025-07-26 09:15:37 +03:00
renovate[bot]
d4d293f9a4 Update dependency traefik to v3.5.0-1 2025-07-26 09:15:07 +03:00
adam-kress
d70bccbda4 Upgrade Jitsi (v10314-1 -> v10431-0) 2025-07-26 05:32:40 +03:00
Aine
16212150a3 Sygnal: rollback to v0.15.1, because v0.16.0's docker image is broken 2025-07-24 16:47:36 +01:00
renovate[bot]
69184bc4a3 Update matrixdotorg/sygnal Docker tag to v0.16.0 2025-07-24 12:39:35 +03:00
renovate[bot]
514a947386 Update dependency traefik to v3.5.0-0 2025-07-24 08:20:06 +03:00
renovate[bot]
8ab525d609 Update dependency grafana to v11.6.4-0 2025-07-24 08:19:47 +03:00
renovate[bot]
8be4927770 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.7.23 2025-07-23 14:20:11 +03:00
Aine
7261be5537 add matrix_synapse_ext_password_provider_ldap_tls_options_validate var 2025-07-23 08:46:08 +01:00
renovate[bot]
7eff95f38d Update joseluisq/static-web-server Docker tag to v2.38.0 2025-07-22 09:04:44 +03:00
renovate[bot]
abc74a6b96 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.3 2025-07-17 10:22:32 +03:00
renovate[bot]
c6871d187f Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.3 2025-07-17 10:22:26 +03:00
renovate[bot]
7cf0fe52d4 Update dock.mau.dev/mautrix/telegram Docker tag to v0.15.3 2025-07-17 10:16:48 +03:00
renovate[bot]
70686595d5 Update dock.mau.dev/mautrix/slack Docker tag to v0.2.2 2025-07-17 10:16:41 +03:00
renovate[bot]
2ad2fd8b57 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.5 2025-07-17 06:44:09 +03:00
renovate[bot]
eb067b7536 Update dock.mau.dev/mautrix/discord Docker tag to v0.7.5 2025-07-17 06:29:47 +03:00
renovate[bot]
c1d5d38cf6 Update dock.mau.dev/mautrix/bluesky Docker tag to v0.1.2 2025-07-17 06:29:39 +03:00
renovate[bot]
b5af7f7a32 Update dock.mau.dev/mautrix/meta Docker tag to v0.5.2 2025-07-17 06:29:29 +03:00
renovate[bot]
a04a72d4e5 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.4 2025-07-17 06:29:23 +03:00
renovate[bot]
b8029111c9 Update ghcr.io/element-hq/element-web Docker tag to v1.11.106 2025-07-16 06:35:42 +03:00
renovate[bot]
6a98f47f73 Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.19.0 2025-07-15 18:41:12 +03:00
renovate[bot]
8ecee76f62 Update ghcr.io/element-hq/synapse Docker tag to v1.134.0 2025-07-15 18:41:03 +03:00
renovate[bot]
30156f1ac0 Update dependency prometheus to v3.5.0-0 2025-07-15 07:03:54 +03:00
renovate[bot]
aa527d2b99 Update dependency certifi to v2025.7.14 2025-07-14 08:50:25 +03:00
Aine
f3a819c5f1 Synapse Admin v0.11.1-etke45 2025-07-13 22:23:48 +01:00
Slavi Pantaleev
9b3d2637ad Upgrade Traefik (v3.4.4-0 -> v3.4.4-1) 2025-07-12 13:29:25 +03:00
renovate[bot]
cffda7277b Update dependency prometheus_postgres_exporter to v0.17.1-6 2025-07-12 08:51:58 +03:00
renovate[bot]
eff5dd0527 Update dependency prometheus_node_exporter to v1.9.1-9 2025-07-12 08:51:51 +03:00
renovate[bot]
05202d0032 Update dependency traefik to v3.4.4-0 2025-07-12 08:47:12 +03:00
renovate[bot]
49d32b15c6 Update dependency traefik_certs_dumper to v2.10.0-1 2025-07-12 08:45:41 +03:00
renovate[bot]
f0f1d6ca67 Update dependency postgres_backup to v17-5 2025-07-11 22:14:40 +03:00
renovate[bot]
bc55e358bf Update dependency prometheus to v3.4.2-1 2025-07-11 22:14:32 +03:00
Slavi Pantaleev
9e205d50ac Upgrade baibot (v1.7.5 -> v1.7.6) 2025-07-11 16:49:24 +03:00
renovate[bot]
348324d347 Update dependency postgres_backup to v17-4 2025-07-11 13:56:05 +03:00
renovate[bot]
63a3915d86 Update dependency livekit_server to v1.9.0-2 2025-07-11 13:55:54 +03:00
renovate[bot]
a770681b18 Update dependency container_socket_proxy to v0.3.0-6 2025-07-11 11:14:44 +03:00
renovate[bot]
7fcb253c23 Update dependency grafana to v11.6.3-1 2025-07-11 11:14:36 +03:00
Suguru Hirahara
56e01ad456 Update renovate.json: apply versioning=loose
This makes it possible for Renovate to detect updates such as from `x.x.x-0` to `x.x.x-1`.

References:
- https://docs.renovatebot.com/modules/versioning/loose/
- https://docs.renovatebot.com/configuration-options/#versioning

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-07-11 11:08:30 +03:00
renovate[bot]
bd6be256b7 Update dependency ntfy to v2.13.0-0 2025-07-11 10:02:07 +03:00
Slavi Pantaleev
fb0ccc391e Make FluffyChat container HTTP port configurable
This makes it possible to switch out the container image with one that
uses a port other than 8080.
2025-07-10 19:06:09 +03:00
renovate[bot]
e6413534be Update dependency valkey to v8.1.3-0 2025-07-10 10:11:59 +03:00
renovate[bot]
2d1b1cfdde Update gnuxie/draupnir Docker tag to v2.5.0 2025-07-09 22:42:50 +03:00
renovate[bot]
54ef63e0c2 Update dependency ntfy to v2.12.0-0 2025-07-09 22:38:28 +03:00
renovate[bot]
06e14a6b70 Update dependency certifi to v2025.7.9 2025-07-09 11:26:15 +03:00
renovate[bot]
9726cb24be Update dependency etherpad to v2.3.2-0 2025-07-08 07:34:06 +03:00
Slavi Pantaleev
a41ec6e8de Upgrade Postgres (v17.4-0 -> v17.5-0) 2025-07-08 07:26:48 +03:00
Slavi Pantaleev
c399c6ff10 Extract mautrix-twitter's network.displayname_template configuration into a variable (matrix_mautrix_twitter_network_displayname_template) 2025-07-08 06:41:22 +03:00
Slavi Pantaleev
9e31a254d8 Extract mautrix-slack's network.displayname_template configuration into a variable (matrix_mautrix_slack_network_displayname_template) 2025-07-08 06:41:22 +03:00
Slavi Pantaleev
1ccb6c822a Extract mautrix-bluesky's network.displayname_template configuration into a variable (matrix_mautrix_bluesky_network_displayname_template) 2025-07-08 06:41:22 +03:00
Slavi Pantaleev
1813c856e6 Extract mautrix-signal's network.displayname_template configuration into a variable (matrix_mautrix_signal_network_displayname_template) 2025-07-08 06:41:22 +03:00
Slavi Pantaleev
f4306be183 Extract mautrix-whatsapp's network.displayname_template configuration into a variable (matrix_mautrix_whatsapp_network_displayname_template) 2025-07-08 06:41:22 +03:00
renovate[bot]
78a3bf42f3 Update matrixconduit/matrix-conduit Docker tag to v0.10.6 2025-07-07 20:04:29 +03:00
Slavi Pantaleev
5142b2ee90 Merge pull request #4401 from Virkkunen/continuwuity-review
Update Continuwuity files
2025-07-05 13:36:22 +03:00
Virkkunen
f08bc17273 add validation for changed continuwuity variable names 2025-07-05 09:57:33 +02:00
Virkkunen
3997244190 capitalise CONTINUWUITY 2025-07-05 09:52:44 +02:00
Virkkunen
c04dfe2384 add missing _config_ to some variable names 2025-07-04 21:50:31 +02:00
Virkkunen
d1796978ca add matrix_continuwuity_config_suspend_on_register 2025-07-04 21:44:50 +02:00
Virkkunen
1b2b6ddaa3 add more defederation variables 2025-07-04 21:38:32 +02:00
Virkkunen
e813309311 fix spelling 2025-07-04 21:19:20 +02:00
Virkkunen
8eb5bbf2c1 add missing comments on main.yml settings 2025-07-04 21:13:49 +02:00
Virkkunen
4632628b74 move main.yml variables 2025-07-04 21:10:29 +02:00
Virkkunen
bdec7c646d update continuwuity.toml 2025-07-04 21:07:46 +02:00
Slavi Pantaleev
25498851a0 Add some relay-related variables to mautrix-slack role 2025-07-04 20:39:20 +03:00
Virkkunen
613f685f54 add matrix_continuwuity_url_preview_domain_contains_allowlist variable 2025-07-04 20:29:44 +03:00
renovate[bot]
5987bc5b5e Update ghcr.io/element-hq/element-call Docker tag to v0.13.1 2025-07-03 20:27:45 +03:00
renovate[bot]
d2164d7a48 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.7.2 2025-07-02 09:52:37 +03:00
renovate[bot]
9adfd8fc0d Update ghcr.io/element-hq/element-call Docker tag to v0.13.0 2025-07-01 20:14:38 +03:00
renovate[bot]
24d1875d38 Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.18.0 2025-07-01 20:14:30 +03:00
renovate[bot]
c0269b71b8 Update ghcr.io/element-hq/synapse Docker tag to v1.133.0 2025-07-01 20:14:23 +03:00
renovate[bot]
4e8aa53e27 Update ghcr.io/element-hq/element-web Docker tag to v1.11.105 2025-07-01 20:11:52 +03:00
Catalan Lover
31a7f4367c Update Draupnir role Synapse-http-antispam config to match upstream. (#4392) 2025-06-28 10:49:37 +03:00
Catalan Lover
1a6a75bdab Add support for do_ping to synapse-http-antispam
This defaults to true for end user comfort as it helps assure them the modules connection to the consumer is working or is definitively not working. (As far as i have been told it retries until success)
2025-06-28 08:12:27 +03:00
renovate[bot]
29607f442d Update dependency maunium/synapse-http-antispam to v0.5.0 2025-06-27 17:44:12 +03:00
Slavi Pantaleev
f8142a0c37 Switch from (now-missing) ansible-community/ansible-lint-action to ansible/ansible-lint 2025-06-27 17:38:43 +03:00
Slavi Pantaleev
b13ba5b909 Use ansible.builtin.package instead of ansible.builtin.yum
`ansible.builtin.yum` is no longer available in newer Ansible versions.
We may use `ansible.builtin.dnf` instead, but `ansible.builting.package`
seems like a safer bet that should work in both older & newer RHEL-based
distros.

Ref: https://github.com/ansible/ansible-lint/issues/4251
2025-06-27 17:38:02 +03:00
Slavi Pantaleev
018f3f4408 Upgrade baibot (v1.7.4 -> v1.7.5) 2025-06-27 16:48:08 +03:00
renovate[bot]
39d13a826a Update dependency prometheus to v3.4.2-0 2025-06-27 11:59:38 +03:00
renovate[bot]
34878abd67 Update dependency traefik to v3.4.3-0 2025-06-27 11:58:43 +03:00
renovate[bot]
acf244ea26 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.6.25 2025-06-25 12:18:53 +03:00
renovate[bot]
133ba64375 Update nginx Docker tag to v1.29.0 2025-06-25 07:03:43 +03:00
Slavi Pantaleev
bebaac886e Upgrade Jitsi (v10314-0 -> v10314-1) 2025-06-25 06:58:09 +03:00
Slavi Pantaleev
b8ebe57558 Reference local configuring-playbook-user-verification-service.md docs file locally 2025-06-25 06:32:45 +03:00
renovate[bot]
93fffee6a4 Update gnuxie/draupnir Docker tag to v2.4.1 2025-06-24 06:09:26 +03:00
renovate[bot]
3be0449c35 Update matrixconduit/matrix-conduit Docker tag to v0.10.5 2025-06-23 20:34:50 +03:00
renovate[bot]
91817e8335 Update gnuxie/draupnir Docker tag to v2.4.0 2025-06-23 15:09:42 +03:00
renovate[bot]
772c248733 Update dependency Pygments to v2.19.2 2025-06-21 20:45:19 +03:00
renovate[bot]
185f9b5765 Update ghcr.io/etkecc/fluffychat-web Docker tag to v2 2025-06-21 05:17:02 +03:00
renovate[bot]
9289859673 Update dependency urllib3 to v2.5.0 2025-06-19 05:48:36 +03:00
Slavi Pantaleev
279de764c8 Update Prerequisites to mention why sudo is required in all cases 2025-06-18 08:08:03 +03:00
Slavi Pantaleev
cb2586f8b4 Upgrade Traefik (v3.4.1-0 -> v3.4.1-1) 2025-06-18 06:58:43 +03:00
renovate[bot]
b046292c10 Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.17.1 2025-06-17 22:57:26 +03:00
renovate[bot]
8f0ac84721 Update ghcr.io/element-hq/element-web Docker tag to v1.11.104 2025-06-17 22:49:37 +03:00
Slavi Pantaleev
aada2d255f Upgrade Synapse (v1.131.0 -> v1.132.0) 2025-06-17 19:02:43 +03:00
renovate[bot]
3b425908da Update dependency grafana to v11.6.3-0 2025-06-17 15:42:54 +03:00
renovate[bot]
3092037a7e Update dock.mau.dev/mautrix/meta Docker tag to v0.5.1 2025-06-17 00:12:23 +03:00
renovate[bot]
048b8eb918 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.2 2025-06-17 00:12:06 +03:00
renovate[bot]
779eb0fc9a Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.2 2025-06-17 00:11:51 +03:00
renovate[bot]
6a1ebe6e91 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.4 2025-06-16 23:12:35 +03:00
renovate[bot]
30875764c5 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.3 2025-06-16 23:12:17 +03:00
Benjamin Blacher
15ed07d970 Update mautrix-discord, add support for msc4190 2025-06-16 22:59:55 +03:00
renovate[bot]
13d22af9db Update dependency certifi to v2025.6.15 2025-06-15 07:56:39 +03:00
Suguru Hirahara
5742800329 Fix looking up docker package error with Renovate
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-12 18:24:45 +09:00
renovate[bot]
3508c87aee Update dependency valkey to v8.1.2-0 2025-06-12 10:34:03 +03:00
Aine
868ee4d688 Synapse Admin v0.11.1-etke44 2025-06-11 15:16:04 +03:00
Aine
eb9af8fe32 SchildiChat v1.11.103-sc.0.test.0 2025-06-11 10:26:59 +03:00
renovate[bot]
27c0fa55f4 Update ajbura/cinny Docker tag to v4.8.1 2025-06-10 23:23:04 +03:00
Slavi Pantaleev
e76b50a0b7 Upgrade baibot (v1.7.3 -> v1.7.4) 2025-06-10 16:40:02 +03:00
Slavi Pantaleev
db8bee548d Update OpenAI model in sample baibot config (gpt-4o -> gpt-4.1)
Related to 69d6111354
2025-06-10 15:36:14 +03:00
Slavi Pantaleev
adef970239 Upgrade baibot (v1.7.2 -> v1.7.3) 2025-06-10 15:35:07 +03:00
renovate[bot]
20e98fbb33 Update ghcr.io/element-hq/element-web Docker tag to v1.11.103 2025-06-10 15:31:43 +03:00
Catalan Lover
5dcdf8e9e2 Update default room version to 11 in line with the specification. 2025-06-10 15:31:03 +03:00
renovate[bot]
7aca61c5dd Update dependency requests to v2.32.4 [SECURITY] 2025-06-10 15:30:28 +03:00
Aine
5def3b176f make hookshot honor the matrix_bridges_encryption_enabled var 2025-06-07 13:22:27 +03:00
Aine
01c8b55c6f FluffyChat v1.27.0 2025-06-06 14:46:01 +03:00
renovate[bot]
9b8dab89df Update ghcr.io/element-hq/element-call Docker tag to v0.12.2 2025-06-06 08:26:08 +03:00
adam-kress
5701ce5054 Upgrade Jitsi (v10184-0 → v10314-0) 2025-06-06 08:15:09 +03:00
renovate[bot]
cabedeae73 Update dependency livekit_server to v1.9.0-0 2025-06-05 14:32:58 +03:00
renovate[bot]
3edad9d8d4 Update joseluisq/static-web-server Docker tag to v2.37.0 2025-06-04 07:51:29 +03:00
Aine
2935d6a1a4 Merge pull request #4353 from spantaleev/renovate/ghcr.io-element-hq-synapse-1.x
Update ghcr.io/element-hq/synapse Docker tag to v1.131.0
2025-06-03 19:51:03 +00:00
Aine
0941953889 Merge pull request #4354 from spantaleev/renovate/ghcr.io-element-hq-element-web-1.x
Update ghcr.io/element-hq/element-web Docker tag to v1.11.102
2025-06-03 19:49:50 +00:00
renovate[bot]
f9f5182919 Update ghcr.io/element-hq/element-web Docker tag to v1.11.102 2025-06-03 18:45:33 +00:00
renovate[bot]
25c20f16d4 Update ghcr.io/element-hq/synapse Docker tag to v1.131.0 2025-06-03 15:16:17 +00:00
Suguru Hirahara
95f6347974 Revert "register" to "registr"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
c9dfb1c877 Replace "proxies" with "proxy's"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
3653f9f89b Run codespell --write-changes
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
0152758f5d Replace PostgresSQL with PostgreSQL
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
05caaab302 Replace preffix with prefix
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
Suguru Hirahara
17e14a4b89 Enable pre-commit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
renovate[bot]
cb7db82fe9 Update dependency prometheus to v3.4.1-0 2025-06-01 10:40:17 +03:00
Suguru Hirahara
f4e13a380d Update configuring-playbook-s3.md: Storj introducing minimum charge
See: https://storj.dev/dcs/pricing#minimum-monthly-billing

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-05-31 17:52:43 +09:00
renovate[bot]
312b4826f0 Update matrixconduit/matrix-conduit Docker tag to v0.10.4 2025-05-31 00:07:41 +03:00
Catalan Lover
a2ddbb8169 Update Draupnir config template to v2.3.1 template
Also removes the FIX ME for Polling as well it being broken in the playbook is no longer true.
2025-05-30 13:02:25 +03:00
renovate[bot]
2c9aa1af9c Update gnuxie/draupnir Docker tag to v2.3.1 2025-05-30 00:19:40 +03:00
renovate[bot]
1dc404dc5f Update gnuxie/draupnir Docker tag to v2.3.0 2025-05-29 22:34:47 +03:00
renovate[bot]
2087c13a4e Update ghcr.io/element-hq/element-call Docker tag to v0.12.0 2025-05-28 17:06:43 +03:00
renovate[bot]
1c335da420 Update dependency traefik to v3.4.1-0 2025-05-27 23:24:41 +03:00
renovate[bot]
3ef1726a40 Update dependency setuptools to v80.9.0 2025-05-27 07:47:08 +03:00
renovate[bot]
d3172f0f32 Update ajbura/cinny Docker tag to v4.8.0 2025-05-24 23:40:52 +03:00
renovate[bot]
c97bb125c6 Update dependency grafana to v11.6.2-0 2025-05-23 10:29:12 +03:00
Virkkunen
f36c776bc3 Add variables to control Continuwuity forbidden servers (#4339) 2025-05-22 10:56:25 +03:00
renovate[bot]
e16a644fa2 Update ajbura/cinny Docker tag to v4.7.1 2025-05-21 21:37:50 +03:00
renovate[bot]
777882b40f Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.5.21 2025-05-21 14:33:52 +03:00
renovate[bot]
8c9b95d68c Update dependency click to v8.2.1 2025-05-21 09:13:10 +03:00
renovate[bot]
429bbc1c7d Migrate config .github/renovate.json 2025-05-20 23:35:54 +03:00
renovate[bot]
5d0b0c98ae Update ghcr.io/element-hq/synapse Docker tag to v1.130.0 2025-05-20 23:35:33 +03:00
renovate[bot]
571b14eaf8 Update dependency setuptools to v80.8.0 2025-05-20 20:47:53 +03:00
renovate[bot]
d5d7adf4b5 Update ghcr.io/element-hq/element-web Docker tag to v1.11.101 2025-05-20 20:47:38 +03:00
renovate[bot]
3c08f008bc Update ghcr.io/element-hq/element-call Docker tag to v0.11.1 2025-05-19 15:42:30 +03:00
Aine
e818bbb373 Synapse Admin v0.10.4-etke41 2025-05-19 11:23:13 +03:00
renovate[bot]
0bd29b938a Update ajbura/cinny Docker tag to v4.7.0 2025-05-18 13:10:39 +03:00
Kim Brose
a3c13c5786 Typo 2025-05-17 21:58:30 +03:00
renovate[bot]
b9121e7105 Update dependency prometheus to v3.4.0-1 2025-05-17 21:57:52 +03:00
Slavi Pantaleev
978d24aa32 Upgrade Hookshot (6.0.3 -> 7.0.0) and remove provisioning API and integration with Dimension
Ref:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4326
- https://github.com/matrix-org/matrix-hookshot/releases/tag/7.0.0
- https://github.com/matrix-org/matrix-hookshot/pull/931

Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4326
2025-05-16 22:46:12 +03:00
renovate[bot]
1fdb3dd990 Update dependency maunium/synapse-http-antispam to v0.4.0 2025-05-16 19:07:34 +03:00
renovate[bot]
31effafc08 Update ghcr.io/element-hq/element-call Docker tag to v0.11.0 2025-05-16 19:06:57 +03:00
renovate[bot]
ecb7ccf8cc Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.1 2025-05-16 15:12:18 +03:00
renovate[bot]
14d4a58583 Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.1 2025-05-16 15:12:07 +03:00
renovate[bot]
fa35c3802d Update dock.mau.dev/mautrix/signal Docker tag to v0.8.3 2025-05-16 09:10:04 +03:00
renovate[bot]
ef5be1d138 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.2 2025-05-16 09:09:51 +03:00
renovate[bot]
37a35c039e Update dependency setuptools to v80.7.1 2025-05-15 08:40:44 +03:00
renovate[bot]
477bd98b15 Update dependency setuptools to v80.6.0 2025-05-15 08:36:51 +03:00
renovate[bot]
eb67e08d98 Update matrixconduit/matrix-conduit Docker tag to v0.10.3 2025-05-13 07:43:41 +03:00
renovate[bot]
757527bbd2 Update matrixdotorg/mjolnir Docker tag to v1.10.0 2025-05-13 07:43:12 +03:00
Slavi Pantaleev
b3cd3910a9 Default matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size to null
Ref: 91986a129c/CHANGELOG.md (2025-05-11-version-172)
2025-05-11 23:22:02 +03:00
Slavi Pantaleev
89599d464a Upgrade baibot (v1.7.1 -> v1.7.2) 2025-05-11 23:21:52 +03:00
Slavi Pantaleev
8e5de2dc31 Upgrade baibot (v1.7.0 -> v1.7.1) 2025-05-11 22:26:01 +03:00
renovate[bot]
0c8137220d Update matrixconduit/matrix-conduit Docker tag to v0.10.2 2025-05-11 18:47:21 +03:00
renovate[bot]
90dcdf5261 Update dependency click to v8.2.0 2025-05-11 07:35:49 +03:00
Aine
3cb67f23ee FluffyChat v1.26.1 2025-05-10 14:21:02 +03:00
Slavi Pantaleev
09ae8750d8 Default OpenAI provider for baibot to use gpt-image-1 instead of dall-e-3
Ref:

- d2660be33c/CHANGELOG.md (2025-05-10-version-170)
- https://openai.com/index/image-generation-api/
2025-05-10 12:33:08 +03:00
Slavi Pantaleev
34b2dd3dd0 Upgrade baibot (v1.6.0 -> v1.7.0)
Ref: d2660be33c/CHANGELOG.md (2025-05-10-version-170)
2025-05-10 12:31:25 +03:00
Slavi Pantaleev
9adc5be572 Add atrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality 2025-05-10 12:29:02 +03:00
renovate[bot]
15e453039c Update dependency setuptools to v80.4.0 2025-05-10 07:24:27 +03:00
Aine
7afaba64f0 Synapse Admin v0.10.4-etke40 2025-05-09 23:39:14 +03:00
renovate[bot]
96f4670887 Update dependency snowballstemmer to v3.0.1 2025-05-09 22:32:05 +03:00
renovate[bot]
3d25bd70f8 Update matrixconduit/matrix-conduit Docker tag to v0.10.1 2025-05-09 22:31:54 +03:00
renovate[bot]
1fa2a2a615 Update matrixconduit/matrix-conduit Docker tag to v0.10.0 2025-05-09 17:42:34 +03:00
renovate[bot]
94d5182f4d Update dependency snowballstemmer to v3.0.0.1 2025-05-08 19:46:04 +03:00
renovate[bot]
14be193d20 Update dependency snowballstemmer to v3 2025-05-08 12:41:41 +03:00
Catalan Lover
4e0f031ebd Fix Synapse-HTTP-Antispam configuration error in Draupnir 2025-05-08 12:39:30 +03:00
Slavi Pantaleev
360ee544a9 Make indentation level in roles/custom/matrix-bot-draupnir/defaults/main.yml consistent 2025-05-08 10:06:17 +03:00
Slavi Pantaleev
465df3a949 Add support for synapse-http-antispam and integrate it with Draupnir
Supersedes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4284
2025-05-08 10:03:53 +03:00
Jay Rogers
ae87a3bb19 Fix port label to reflect proper protocol 2025-05-07 18:10:32 +03:00
Slavi Pantaleev
19ccd491fb Upgrade Matrix Authentication Service (v0.15.0 -> v0.16.0) and adapt for the new syn2mas subcommand
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4297

Supersedes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4300
2025-05-07 17:39:34 +03:00
Slavi Pantaleev
95ef383ef7 Add matrix_synapse_cas_config_enabled variable to make cas_confg non-null
This works around an issue with Matrix Authentication Service's `syn2mas` sub-command (at version v0.16.0),
which chokes with an error:

> Error: Failed to load Synapse configuration
> Caused by:
> invalid type: found unit, expected struct EnableableSection for key "default.cas_config" in homeserver.yaml YAML file

This issue is likely to be fixed in MAS v0.16.1 or v0.17.0.
2025-05-07 16:37:41 +03:00
Slavi Pantaleev
43cb86ac8a Upgrade Traefik (v3.3.6-1 -> v3.4.0-0) 2025-05-07 09:03:08 +03:00
renovate[bot]
d1329edf71 Update ghcr.io/element-hq/synapse Docker tag to v1.129.0 2025-05-07 08:55:47 +03:00
renovate[bot]
025909e05b Update ghcr.io/element-hq/element-web Docker tag to v1.11.100 2025-05-06 19:36:41 +03:00
renovate[bot]
9f83f52ea9 Update dock.mau.dev/maubot/maubot Docker tag to v0.5.2 2025-05-06 07:25:31 +03:00
renovate[bot]
0b4b21660c Update dependency setuptools to v80.3.1 2025-05-05 07:55:07 +03:00
renovate[bot]
381b987e99 Update dependency setuptools to v80.3.0 2025-05-03 13:33:33 +03:00
renovate[bot]
026f4b3282 Update dependency setuptools to v80.2.0 2025-05-03 08:42:23 +03:00
Slavi Pantaleev
4599fd7159 Upgrade Prometheus (v3.3.0-0 -> v3.3.1-0) 2025-05-03 08:41:01 +03:00
renovate[bot]
47ca615931 Update dependency charset-normalizer to v3.4.2 2025-05-02 16:52:25 +03:00
Slavi Pantaleev
99221c35d8 Upgrade Grafana (v11.6.1-1 -> v11.6.1-2) 2025-05-01 21:36:05 +03:00
Aine
cfc02b542d fix container image registry prefix for element call, livekit server, and livekit jwt service 2025-05-01 17:19:36 +03:00
Aine
9a1f7165c2 fix grafana version var 2025-05-01 17:10:12 +03:00
Slavi Pantaleev
f6725a9bfe Upgrade Grafana (v11.6.0-security-01-0 -> v11.6.1-0) 2025-05-01 14:32:10 +03:00
Slavi Pantaleev
882b528c96 prometheus_node_exporter_docker_image_registry_prefix_upstream* -> prometheus_node_exporter_container_image_registry_prefix_upstream* 2025-05-01 10:30:05 +03:00
Slavi Pantaleev
ae58880f0c Upgrade prometheus-node-exporter (v1.9.1-1 -> v1.9.1-3) 2025-05-01 10:04:41 +03:00
Slavi Pantaleev
a638565580 Upgrade Prometheus (v2.55.1-3 -> v3.3.0-0) 2025-05-01 09:58:45 +03:00
renovate[bot]
0a6be12878 Update dependency setuptools to v80.1.0 2025-05-01 08:02:58 +03:00
Andreas Fischer
20133def86 Indicate that responsibility for system updates is out-of-scope for this playbook 2025-04-30 09:50:38 +03:00
Florian Schrön
03672a3a52 fix http-404 for element web with tmpfs
refers to commit
  e65d19884 Run Element Web in tightened/read-only mode without a custom nginx config

and issue
  https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4199
2025-04-30 08:52:09 +03:00
renovate[bot]
63c2e831a8 Update dependency setuptools to v80.0.1 2025-04-30 08:50:43 +03:00
Slavi Pantaleev
0a6490ad46 Upgrade prometheus-postgres-exporter (v0.17.1-0 -> v0.17.1-1) 2025-04-30 08:46:53 +03:00
Slavi Pantaleev
7fb0bff47d Upgrade prometheus-postgres-exporter (v0.14.0-9 -> v0.17.1-0) and adapt variables 2025-04-29 22:27:29 +03:00
Slavi Pantaleev
37a7af52ab Upgrade prometheus-node-exporter (v1.9.1-0 -> v1.9.1-1) 2025-04-29 15:13:33 +03:00
Slavi Pantaleev
32ca5bf55c Add warning about Reminder bot issues on Matrix Authentication Service docs page 2025-04-29 11:01:43 +03:00
Slavi Pantaleev
81b371e690 Remove outdated warning about Postmoogle not working well with Matrix Authentication Service
This probably got fixed with Matrix Authentication Service 0.15.0 though
I'm not sure exactly which commit did it.

Ref: https://github.com/element-hq/matrix-authentication-service/releases/tag/v0.15.0
2025-04-29 10:53:31 +03:00
Slavi Pantaleev
51e961ce9f Add matrix_user_shell and default it to /sbin/nologin
This is a backward-incompatible change. By default, Ansible creates
users with (e.g.) `/bin/sh` on Linux, so changing to a no shell
leads to different behavior.

That said, it appears that using a shell-less user works OK with regard
to Ansible execution and starting the systemd services/containers later on.
2025-04-29 10:39:41 +03:00
Slavi Pantaleev
3ee7deb2d7 Rename variable (matrix_user_groupname -> matrix_group_name) 2025-04-29 10:39:41 +03:00
Slavi Pantaleev
9fc5cdab33 Rename variable (matrix_user_username -> matrix_user_name) 2025-04-29 10:39:41 +03:00
Slavi Pantaleev
a59383fcc7 Add matrix_group_system to configure whether the matrix group is also created as a system group
We create the `matrix` user as a system user (smaller uid), so it makes
sense to do the same for the `matrix` group.
2025-04-29 10:39:41 +03:00
Slavi Pantaleev
14aef55573 Add matrix_user_system variable for controlling if matrix user is created as a system user
This defaults to `true`, as before.
2025-04-29 10:39:41 +03:00
Niko Diamadis
ffde4fcb80 Fix README Matrix badge 2025-04-28 12:20:11 +03:00
Slavi Pantaleev
71ce8f792d Upgrade Valkey (v8.0.1-3 -> v8.1.1-0) 2025-04-28 08:53:22 +03:00
Slavi Pantaleev
9476be0592 Upgrade Traefik (v3.3.6-0 -> v3.3.6-1) 2025-04-28 08:20:45 +03:00
renovate[bot]
feaa656fde Update dependency setuptools to v80 2025-04-27 22:38:55 +03:00
Aine
186d3dbd71 fluffychat v1.26.0 2025-04-27 21:31:15 +03:00
Virkkunen
bcd50c8e08 fix continuwuity docker envs 2025-04-26 13:37:23 +03:00
Slavi Pantaleev
1c39a67c0a Fix Continuwuity migration tag (conduwuit-migrate-from-continuwuity -> continuwuity-migrate-from-conduwuit) 2025-04-26 10:25:51 +03:00
Virkkunen
5ea613a3f6 migrate_from_conduwuit ownership fix (#4278)
* migration ownership fix

* lint fix

* lint fixes
2025-04-26 09:54:46 +03:00
Slavi Pantaleev
f0c48392fe Announce Continuwuity 2025-04-26 09:37:14 +03:00
Slavi Pantaleev
3e1bc3ce59 Rename Continuwuity migration tag (migrate-conduwuit -> conduwuit-migrate-from-continuwuity) to be less generic
This should allow roles for other forks (like Tuwunel) to use similar tags.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4267
2025-04-26 09:36:19 +03:00
Slavi Pantaleev
46e587ee29 Mention Continuwuity on Conduwuit docs page
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4267
2025-04-26 09:33:52 +03:00
Slavi Pantaleev
fd32960687 Fix Continuwuity capitalization and clarify migration-from-conduwuit guide
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4267
2025-04-26 09:33:52 +03:00
Virkkunen
bd405c410a Add continuwuity support (#4267)
* continuwuity support

* continuwuity support

* use main instead of commit tag

* fix docker image link

* migration from conduwuit

* fix yaml lint

* backup directories and linter fixes

* linter fixes
2025-04-26 09:12:53 +03:00
renovate[bot]
6383b1b37a Update dependency certifi to v2025.4.26 2025-04-26 06:47:02 +03:00
renovate[bot]
41ac053912 Update ghcr.io/element-hq/element-call Docker tag to v0.10.0 2025-04-26 06:44:24 +03:00
Slavi Pantaleev
98e4f369b7 Add receive_ephemeral everywhere de.sorunome.msc2409.push_ephemeral is used
Ref:

- 33f3ccd6ae/CHANGELOG.md (L134-L136)
- 7165d3fa58/appservice/registration.go (L30)

Intentionally not removing the old configuration setting yet, as some bridges may/do not support
the new setting name. It's likely just bridgev2 mautrix bridges that have been updated and support both right now.
2025-04-25 17:13:38 +03:00
Slavi Pantaleev
dd2f8d1150 Relax mautrix-whatsapp regex in registration file to match what mautrix-whatsapp v0.12.0 expects
Since mautrix-whatsapp v0.12.0, the bridge deals with more than just phone numbers now,
so it sometimes tries to manage users with Matrix IDs like: `@whatsapp_lid-123456789:example.com`

Ref:

- https://github.com/mautrix/whatsapp/releases/tag/v0.12.0
- https://mau.fi/blog/2025-04-mautrix-release/
2025-04-25 17:04:20 +03:00
HarHarLinks
8a4eb88f0d fix yaml templating failing when bridge user displaynames contain emoji
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
2025-04-25 17:00:00 +03:00
Slavi Pantaleev
74b8f78a7f Upgrade Traefik (v3.3.5-0 -> v3.3.6-0) 2025-04-24 18:11:17 +03:00
renovate[bot]
2b50a0e6a0 Update nginx Docker tag to v1.28.0 2025-04-24 09:23:13 +03:00
renovate[bot]
202be672a4 Update dependency setuptools to v79.0.1 2025-04-24 08:19:24 +03:00
renovate[bot]
57ea240060 Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.15.0 2025-04-23 20:47:23 +03:00
renovate[bot]
b719c3c11a Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.15.0 2025-04-23 20:46:42 +03:00
renovate[bot]
909bf8729e Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.4.23 2025-04-23 14:28:53 +03:00
renovate[bot]
38c9f47bb0 Update ghcr.io/element-hq/element-web Docker tag to v1.11.99 2025-04-23 14:28:43 +03:00
Slavi Pantaleev
69d6111354 Update default OpenAI model for text-generation for baibot (gpt-4o -> gpt-4.1)
Ref: https://openai.com/index/gpt-4-1/
2025-04-23 10:09:30 +03:00
Aine
80ac45e069 updated backup_borg (v1.4.0-1.9.13-1 -> v1.4.1-1.9.14-0); updated grafana (v11.6.0-0 -> v11.6.0-security-01-0); 2025-04-23 08:41:31 +03:00
renovate[bot]
efb3072bc8 Update ghcr.io/element-hq/element-web Docker tag to v1.11.98 2025-04-23 08:21:59 +03:00
renovate[bot]
5c120397ab Update dependency setuptools to v79 2025-04-20 21:29:54 +03:00
renovate[bot]
3f19344e9d Update dependency setuptools to v78.1.1 2025-04-20 07:53:00 +03:00
renovate[bot]
f32633826a Update dependency packaging to v25 2025-04-19 17:28:51 +03:00
Catalan Lover
85d82eb1e4 Rework Draupnir report interception to accommodate other Web API uses. (#4221) 2025-04-17 22:47:16 +03:00
Onestacked
5eb247b5bf Add matrix_bridges_msc4190_enabled flag for using msc4190 on supported mautrix bridges. flag for using msc4190 on supported mautrix bridges. (#4258)
* Add matrix_bridges_msc4190_enabled flag for using msc4190 on supported mautrix bridges.

* Apply to_json to msc4190 in mautrix configs

* Add | to_json to mautrix bridge registration io.element.msc4190.

* require matrix_synapse_experimental_features_msc3202_device_masquerading_enabled for matrix_bridges_msc4190_enabled

* Also add msc4190 support for mautrix-telegram
2025-04-17 22:08:25 +03:00
renovate[bot]
6915c7de12 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.0 2025-04-17 08:42:27 +03:00
renovate[bot]
de10cb2239 Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.0 2025-04-17 08:41:35 +03:00
renovate[bot]
d48867c07e Update nginx Docker tag to v1.27.5 2025-04-16 21:48:54 +03:00
renovate[bot]
ef156614ec Update dock.mau.dev/mautrix/slack Docker tag to v0.2.1 2025-04-16 21:48:31 +03:00
renovate[bot]
c4da60c4e4 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.2 2025-04-16 16:15:03 +03:00
renovate[bot]
0d30d315e3 Update dock.mau.dev/mautrix/meta Docker tag to v0.4.6 2025-04-16 16:09:22 +03:00
renovate[bot]
1317e5632a Update dock.mau.dev/mautrix/discord Docker tag to v0.7.3 2025-04-16 16:08:52 +03:00
renovate[bot]
6ed5db1464 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.4.16 2025-04-16 09:09:04 +03:00
QEDeD
b35289cae8 Update howto-srv-server-delegation.md
Fix single typo Rraefik --> Traefik
2025-04-16 00:01:07 +03:00
Aine
222f877261 Honoroit v0.9.28 2025-04-14 22:51:01 +03:00
Aine
00cb1e5c0c Synapse Admin v0.10.3-etke39 2025-04-14 18:12:25 +03:00
Slavi Pantaleev
e02dd74e3a Upgrade baibot (v1.5.1 -> v1.6.0) 2025-04-12 08:10:54 +03:00
renovate[bot]
08b68e93dc Update hif1/heisenbridge Docker tag to v1.15.3 2025-04-12 07:04:42 +03:00
adam-kress
60b291f197 Upgrade Jitsi (v10169-0 -> v10184-0) 2025-04-11 13:24:54 +03:00
renovate[bot]
8378e6f164 Update dependency urllib3 to v2.4.0 2025-04-10 22:46:43 +03:00
Slavi Pantaleev
40dd8f7785 Add a section on guest accounts and Element Call 2025-04-10 12:54:54 +03:00
Slavi Pantaleev
761e6d4cd6 Add matrix_dendrite_guests_disabled 2025-04-10 12:52:44 +03:00
Slavi Pantaleev
7cb33c5519 Add support for easily installing the Matrix RTC stack, without the Element Call frontend (#4242) 2025-04-09 16:49:18 +03:00
495 changed files with 6738 additions and 1694 deletions

2
.codespellrc Normal file
View File

@@ -0,0 +1,2 @@
[codespell]
ignore-words-list = aNULL,brose,doub,Udo,re-use,re-used,registr

2
.envrc
View File

@@ -1 +1 @@
use flake
use flake

10
.github/renovate.json vendored
View File

@@ -9,8 +9,8 @@
"customManagers": [
{
"customType": "regex",
"fileMatch": [
"defaults/main.yml$"
"managerFilePatterns": [
"/defaults/main.yml$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?(?:_version|_tag)\\s*:\\s*[\"']?(?<currentValue>.+?)[\"']?\\s"
@@ -20,6 +20,7 @@
"packageRules": [
{
"ignoreUnstable": false,
"versioning": "loose",
"matchSourceUrls": [
"https://github.com/devture/com.devture.ansible.role{/,}**",
"https://github.com/mother-of-all-self-hosting{/,}**"
@@ -28,5 +29,8 @@
],
"ignoreDeps": [
"ghcr.io/matrixgpt/matrix-chatgpt-bot"
]
],
"pre-commit": {
"enabled": true
}
}

View File

@@ -19,7 +19,7 @@ jobs:
if: github.repository == 'spantaleev/matrix-docker-ansible-deploy'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
######################################################################
# Issues/PRs

View File

@@ -7,9 +7,7 @@
---
name: Matrix CI
on: # yamllint disable-line rule:truthy
push:
pull_request:
on: [push, pull_request] # yamllint disable-line rule:truthy
jobs:
yamllint:
@@ -17,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run yamllint
uses: frenck/action-yamllint@v1.5.0
ansible-lint:
@@ -25,8 +23,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run ansible-lint
uses: ansible-community/ansible-lint-action@v6.17.0
uses: ansible/ansible-lint@v25.9.2
with:
path: roles/custom
args: "roles/custom"
setup_python: "true"
working_directory: ""
requirements_file: requirements.yml
precommit:
name: Run pre-commit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Run pre-commit
uses: pre-commit/action@v3.0.1

View File

@@ -1,20 +0,0 @@
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
---
name: REUSE Compliance Check
on: [push, pull_request] # yamllint disable-line rule:truthy
permissions:
contents: read
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v5

26
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,26 @@
---
default_install_hook_types: [pre-push]
exclude: "LICENSES/"
# See: https://pre-commit.com/hooks.html
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
# - id: check-executables-have-shebangs
- id: check-added-large-files
- id: check-case-conflict
- id: check-json
- id: check-toml
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- 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
hooks:
- id: reuse

View File

@@ -1,3 +1,32 @@
# 2025-10-02
## Element Admin support
The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md).
Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time.
Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form).
# 2025-04-26
## Continuwuity support
Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support.
Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path.
Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook.
People that used to run conduwuit, may wish to:
- either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)
- or wait for some of the other forks to progress and for support for them to get added to the playbook
**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss.
# 2025-04-09
## Element Call frontend installation is now optional
@@ -138,7 +167,7 @@ To **completely eliminate the problem** of DDoS amplification attacks done throu
The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**.
💡 Users may wish to further remove the (now unnnecessary) firewall rule allowing access to `3478/udp`.
💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`.
If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:
@@ -152,7 +181,7 @@ matrix_coturn_container_stun_plain_host_bind_port_udp: "3478"
# 2025-02-17
## FluffyChat Web suport
## FluffyChat Web support
Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host.
@@ -174,7 +203,7 @@ The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` v
## Redis and KeyDB are no longer part of the playbook
**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly definining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead.
**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead.
The playbook has gone through several iterations of memorystore implementations:
@@ -727,7 +756,7 @@ For people building commercial products on top of Synapse, they may have to eith
We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!
If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by intruducing a new Ansible variable. You can do it like this:
If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:
```yaml
# Switch the organization that Synapse container images (or source code for self-building) are pulled from.
@@ -810,7 +839,7 @@ Despite these downsides (which the playbook manages automatically), we believe i
People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically.
**People runnning their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below.
**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below.
You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a "simpler" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended.
@@ -2833,7 +2862,7 @@ As always, re-running the playbook is enough to get the updated bits.
## SMS bridging requires db reset
The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new requried var `matrix_sms_bridge_default_region`.
The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`.
To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 "Hello World"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information.
@@ -2865,7 +2894,7 @@ Until the issue gets fixed, we're making User Directory search not go to ma1sd b
This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream
made a change to how you define manual mappings. If you added a
`mapping` to your configuration, you will need to update it accoring
`mapping` to your configuration, you will need to update it according
to the [upstream
instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no
change is necessary. `mappings` is not part of the default
@@ -3028,7 +3057,7 @@ As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unw
Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**.
As with anything else, these new defaults can be overriden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively.
As with anything else, these new defaults can be overridden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively.
# 2019-10-05
@@ -3582,7 +3611,7 @@ The following changes had to be done:
- glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file.
- `matrix_postgres_use_external` has been superceeded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement.
- `matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement.
- Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)
@@ -3771,7 +3800,7 @@ matrix_riot_web_integrations_jitsi_widget_url: "https://dimension.t2bot.io/widge
There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse.
You may wish to reenable TLSv1 if you need to access Riot in older browsers.
You may wish to re-enable TLSv1 if you need to access Riot in older browsers.
Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details.

View File

@@ -1,4 +1,4 @@
[![Support room on Matrix](https://img.shields.io/matrix/matrix-docker-ansible-deploy:devture.com.svg?label=%23matrix-docker-ansible-deploy%3Adevture.com&logo=matrix&style=for-the-badge&server_fqdn=matrix.devture.com)](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [![donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/s.pantaleev/donate) [![REUSE status](https://api.reuse.software/badge/github.com/spantaleev/matrix-docker-ansible-deploy)](https://api.reuse.software/info/github.com/spantaleev/matrix-docker-ansible-deploy)
[![Support room on Matrix](https://img.shields.io/matrix/matrix-docker-ansible-deploy:devture.com.svg?label=%23matrix-docker-ansible-deploy%3Adevture.com&logo=matrix&style=for-the-badge&server_fqdn=matrix.devture.com&fetchMode=summary)](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [![donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/s.pantaleev/donate) [![REUSE status](https://api.reuse.software/badge/github.com/spantaleev/matrix-docker-ansible-deploy)](https://api.reuse.software/info/github.com/spantaleev/matrix-docker-ansible-deploy)
# Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
@@ -53,6 +53,7 @@ The homeserver is the backbone of your Matrix system. Choose one from the follow
| [Synapse](https://github.com/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network | [Link](docs/configuring-playbook-synapse.md) |
| [Conduit](https://conduit.rs) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements | [Link](docs/configuring-playbook-conduit.md) |
| [conduwuit](https://conduwuit.puppyirl.gay/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. | [Link](docs/configuring-playbook-conduwuit.md) |
| [continuwuity](https://continuwuity.org) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit. | [Link](docs/configuring-playbook-continuwuity.md) |
| [Dendrite](https://github.com/element-hq/dendrite) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. | [Link](docs/configuring-playbook-dendrite.md) |
### Clients
@@ -140,6 +141,7 @@ 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

View File

@@ -13,10 +13,12 @@ path = [
"i18n/PUBLISHED_LANGUAGES",
"i18n/requirements.txt",
"roles/custom/**/*.repo",
".codespellrc",
".editorconfig",
".envrc",
".gitattributes",
".gitignore",
".pre-commit-config.yaml",
".yamllint",
"ansible.cfg",
"flake.lock",

View File

@@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
2023 is probably [the year of AI](https://journal.everypixel.com/2023-the-year-of-ai), with millions of people jumping aboard [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/chatgpt) train. matrix-docker-ansible-deploy is no stranger to this and 2023 began with a PR from [bertybuttface](https://github.com/bertybuttface) who added support for [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) (see the [changelog entry](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#chatgpt-support)). While OpenAI's chat GPT website was frequently overloaded in the past, their API was up which made using this bot both convenient and more reliable.
AI aside, with the playbook's focus being containers, we're **doubling down on being "container native"** and becoming more interoperable for people hosting other containers on the Matrix server. In [2022](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/YEAR-IN-REVIEW.md#2022), we've announced a few sibling Ansible playbooks, their use of [Traefik](https://doc.traefik.io/traefik/) and the possiblity of matrix-docker-ansible-deploy also switching to this reverse-proxy. This prediction materialized quickly. The **largest change** in the playbook in 2023 happened way back in February - matrix-docker-ansible-deploy [starting the switch from nginx to Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support) and then quickly [making Treafik the default reverse-proxy](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#traefik-is-the-default-reverse-proxy-now). As noted in the changelog entries, we envisioned a quick and complete elimination of `matrix-nginx-proxy`, but at the end of 2023, it hasn't happened yet. The playbook is already using Traefik as the front-most reverse-proxy, but nginx (via `matrix-nginx-proxy`) is still around - it has taken a step back and is only used internally for new setups. Work got to a stall due to:
AI aside, with the playbook's focus being containers, we're **doubling down on being "container native"** and becoming more interoperable for people hosting other containers on the Matrix server. In [2022](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/YEAR-IN-REVIEW.md#2022), we've announced a few sibling Ansible playbooks, their use of [Traefik](https://doc.traefik.io/traefik/) and the possibility of matrix-docker-ansible-deploy also switching to this reverse-proxy. This prediction materialized quickly. The **largest change** in the playbook in 2023 happened way back in February - matrix-docker-ansible-deploy [starting the switch from nginx to Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support) and then quickly [making Treafik the default reverse-proxy](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#traefik-is-the-default-reverse-proxy-now). As noted in the changelog entries, we envisioned a quick and complete elimination of `matrix-nginx-proxy`, but at the end of 2023, it hasn't happened yet. The playbook is already using Traefik as the front-most reverse-proxy, but nginx (via `matrix-nginx-proxy`) is still around - it has taken a step back and is only used internally for new setups. Work got to a stall due to:
* complexity: untangling the overly large and messy `matrix-nginx-proxy` component is difficult
* the current setup became "good enough" because nginx has become an internal implementation detail for those who have migrated to Traefik. Traefik is already the default public reverse-proxy and gives better possibilities to people wishing to run other web-exposed containers on their Matrix server via [Docker Compose](https://docs.docker.com/compose/), other Ansible playbooks like [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) (more about this one, below) or any other way.

View File

@@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
# Table of Contents
## ⬇️ Installaton guides <!-- NOTE: the 🚀 emoji is used by "Getting started" on README.md -->
## ⬇️ Installation guides <!-- NOTE: the 🚀 emoji is used by "Getting started" on README.md -->
There are two installation guides available for beginners and advanced users.

View File

@@ -20,10 +20,13 @@ To manually check which version of Ansible you're on, run: `ansible --version`.
For the **best experience**, we recommend getting the **latest version of Ansible available**.
We're not sure what's the minimum version of Ansible that can run this playbook successfully. The lowest version that we've confirmed (on 2022-11-26) to be working fine is: `ansible-core` (`2.11.7`) combined with `ansible` (`4.10.0`).
We're not sure what's the minimum version of Ansible that can run this playbook successfully. The lowest version that we suspect (on 2025-09-03) to be working fine is: `ansible-core` (`2.15.1`).
If your distro ships with an Ansible version older than this, you may run into issues. Consider [Upgrading Ansible](#upgrading-ansible) or [using Ansible via Docker](#using-ansible-via-docker).
> [!WARNING]
> One reason for the version requirement being as such is that the playbook by default installs Docker for you using [this Docker role](https://github.com/geerlingguy/ansible-role-docker) which [has a hard requirement on Ansible v2.15.1](https://github.com/geerlingguy/ansible-role-docker/commit/7f44a1d9ad8132819ea9852918bca5dab8757cd0). If you install Docker yourself another way, you can tell the playbook to skip running this role (by adding `matrix_playbook_docker_installation_enabled: false` to your `vars.yml` configuration). It may then be possible to get the playbook running on an older version of Ansible. Still, this is a complication and your mileage may vary. We recommend [upgrading Ansible](#upgrading-ansible) instead of going into uncharted territory.
## Upgrading Ansible
Depending on your distribution, you may be able to upgrade Ansible in a few different ways:
@@ -71,7 +74,7 @@ docker run \
-w /work \
--mount type=bind,src=`pwd`,dst=/work \
--entrypoint=/bin/sh \
ghcr.io/devture/ansible:11.1.0-r0-0
ghcr.io/devture/ansible:11.6.0-r0-0
```
Once you execute the above command, you'll be dropped into a `/work` directory inside a Docker container. The `/work` directory contains the playbook's code.
@@ -92,7 +95,7 @@ docker run \
--mount type=bind,src=`pwd`,dst=/work \
--mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro \
--entrypoint=/bin/sh \
ghcr.io/devture/ansible:11.1.0-r0-0
ghcr.io/devture/ansible:11.6.0-r0-0
```
The above command tries to mount an SSH key (`$HOME/.ssh/id_ed25519`) into the container (at `/root/.ssh/id_ed25519`). If your SSH key is at a different path (not in `$HOME/.ssh/id_ed25519`), adjust that part.
@@ -117,7 +120,7 @@ Then, to be asked for the password whenever running an `ansible-playbook` comman
#### Resolve directory ownership issues
Because you're `root` in the container running Ansible and this likely differs fom the owner (your regular user account) of the playbook directory outside of the container, certain playbook features which use `git` locally may report warnings such as:
Because you're `root` in the container running Ansible and this likely differs from the owner (your regular user account) of the playbook directory outside of the container, certain playbook features which use `git` locally may report warnings such as:
> fatal: unsafe repository ('/work' is owned by someone else)
> To add an exception for this directory, call:

View File

@@ -95,13 +95,13 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
## Usage
If you made it through all the steps above and your main control room was joined by a user called `@draupnir-main:example.com` you have succesfully installed Draupnir for All and can now start using it.
If you made it through all the steps above and your main control room was joined by a user called `@draupnir-main:example.com` you have successfully installed Draupnir for All and can now start using it.
The installation of Draupnir for all in this playbook is very much Alpha quality. Usage-wise, Draupnir for all is almost identical to Draupnir bot mode.
### Granting Users the ability to use D4A
Draupnir for all includes several security measures like that it only allows users that are on its allow list to ask for a bot. To add a user to this list we have 2 primary options. Using the chat to tell Draupnir to do this for us or if you want to automatically do it by sending `m.policy.rule.user` events that target the subject you want to allow provisioning for with the `org.matrix.mjolnir.allow` recomendation. Using the chat is recomended.
Draupnir for all includes several security measures like that it only allows users that are on its allow list to ask for a bot. To add a user to this list we have 2 primary options. Using the chat to tell Draupnir to do this for us or if you want to automatically do it by sending `m.policy.rule.user` events that target the subject you want to allow provisioning for with the `org.matrix.mjolnir.allow` recommendation. Using the chat is recommended.
The bot requires a powerlevel of 50 in the management room to control who is allowed to use the bot. The bot does currently not say anything if this is true or false. (This is considered a bug and is documented in issue [#297](https://github.com/the-draupnir-project/Draupnir/issues/297))

View File

@@ -242,7 +242,7 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: "YOUR_
# matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
# If you'd like to use another text-generation agent, uncomment and adjust:
# matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4o
# matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4.1
```
Because this is a [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agent, it will be given a `static/` ID prefix and will be named `static/openai`.

View File

@@ -57,7 +57,7 @@ matrix_bot_chatgpt_openai_api_key: 'API_KEY_HERE'
matrix_bot_chatgpt_matrix_access_token: 'ACCESS_TOKEN_HERE'
# Configuring the system promt used, needed if the bot is used for special tasks.
# Configuring the system prompt used, needed if the bot is used for special tasks.
# More information: https://github.com/mustvlad/ChatGPT-System-Prompts
matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.'
```

View File

@@ -145,6 +145,20 @@ The bot can intercept the report API endpoint of the client-server API, which re
matrix_bot_draupnir_config_web_abuseReporting: true
```
### Enabling synapse-http-antispam support
Certain protections in Draupnir require the [synapse-http-antispam](https://github.com/maunium/synapse-http-antispam) module and a Synapse homeserver plus homeserver admin status to function. This module can be enabled in the playbook via setting `matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled` to `true` and making sure that Draupnir admin API access is enabled.
```yaml
# Enables the integration between Draupnir and synapse-http-antispam module.
matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled: true
# Enables draupnir to access Synapse admin APIs. This is required for the module functionality to take full effect.
matrix_bot_draupnir_admin_api_enabled: true
```
These protections need to be manually activated and consulting the [enabling protections](#enabling-built-in-protections) guide can be helpful or consulting upstream documentation.
<!--
NOTE: this is unsupported by the playbook due to the admin API being inaccessible from containers currently.
@@ -228,9 +242,12 @@ For Draupnir to do its job, you need to [give it permissions](https://the-draupn
We recommend **subscribing to a public [policy list](https://the-draupnir-project.github.io/draupnir-documentation/concepts/policy-lists)** using the [watch command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-policy-lists#using-draupnirs-watch-command-to-subscribe-to-policy-rooms).
Polcy lists are maintained in Matrix rooms. A popular policy list is maintained in the public `#community-moderation-effort-bl:neko.dev` room.
Policy lists are maintained in Matrix rooms. Popular ones maintained in the public are:
You can tell Draupnir to subscribe to it by sending the following command to the Management Room: `!draupnir watch #community-moderation-effort-bl:neko.dev`
- `#community-moderation-effort-bl:neko.dev`
- `#huginn-muninn-active-threats:feline.support`
You can tell Draupnir to subscribe to each of these by sending the following command to the Management Room: `!draupnir watch POLICY_LIST_ADDRESS_HERE` (e.g. `!draupnir watch #community-moderation-effort-bl:neko.dev`)
#### Creating your own policy lists and rules
@@ -245,7 +262,7 @@ The simplest and most useful entity to target is `user`. Below are a few example
To create rules, you run commands in the Management Room (**not** in the policy list room).
- (ban a single user on a given homeserver): `!draupnir ban @charles:example.com my-bans Rude to others`
- (ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server - all users are fake`
- (ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server, all users are fake`
As a result of running these commands, you may observe:
@@ -256,14 +273,14 @@ You can undo bans with the [unban command](https://the-draupnir-project.github.i
### Enabling built-in protections
You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuit` ("If X amount of users join in Y time, set the room to invite-only").
You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuitProtection` ("If X amount of users join in Y time, set the room to invite-only").
To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room.
To **see the configuration options for a given protection**, send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuit`).
To [**see the configuration options for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#displaying-the-protection-settings), send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuitProtection`).
To **set a specific option for a given protection**, send a command like this: `!draupnir config set PROTECTION_NAME.OPTION VALUE` (e.g. `!draupnir config set JoinWaveShortCircuit.timescaleMinutes 30`).
To [**set a specific option for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#changing-protection-settings), send a command like this: `!draupnir protections config set PROTECTION_NAME OPTION VALUE` (e.g. `!draupnir protections config set JoinWaveShortCircuitProtection timescaleMinutes 30`).
To **enable a given protection**, send a command like this: `!draupnir enable PROTECTION_NAME` (e.g. `!draupnir enable JoinWaveShortCircuit`).
To [**enable a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/block-invitations-on-server-protection#enabling-the-protection), send a command like this: `!draupnir protections enable PROTECTION_NAME` (e.g. `!draupnir protections enable JoinWaveShortCircuitProtection`).
To **disable a given protection**, send a command like this: `!draupnir disable PROTECTION_NAME` (e.g. `!draupnir disable JoinWaveShortCircuit`).
To **disable a given protection**, send a command like this: `!draupnir protections disable PROTECTION_NAME` (e.g. `!draupnir protections disable JoinWaveShortCircuitProtection`).

View File

@@ -37,6 +37,10 @@ matrix_synapse_enable_registration: true
# Restrict registration to users with a token
matrix_synapse_registration_requires_token: true
# Set an optional command prefix for the bot. This can be any arbitrary string, including whitespace.
# Example: "!regbot "
matrix_bot_matrix_registration_bot_bot_prefix: ""
```
The bot account will be created automatically.
@@ -77,7 +81,7 @@ Send `help` to the bot to see the available commands.
You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands).
If you have any questions, or if you need help setting it up, read the [troublshooting guide](https://github.com/moan0s/matrix-registration-bot/blob/main/docs/troubleshooting.md) or join [#matrix-registration-bot:hyteck.de](https://matrix.to/#/#matrix-registration-bot:hyteck.de).
If you have any questions, or if you need help setting it up, read the [troubleshooting guide](https://github.com/moan0s/matrix-registration-bot/blob/main/docs/troubleshooting.md) or join [#matrix-registration-bot:hyteck.de](https://matrix.to/#/#matrix-registration-bot:hyteck.de).
To clean the cache (session & encryption data) after you changed the bot's username, changed the login method from access_token to password etc… you can use:

View File

@@ -35,7 +35,7 @@ matrix_hookshot_enabled: true
# Uncomment to enable end-to-bridge encryption.
# See: https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html
# matrix_hookshot_experimental_encryption_enabled: true
# matrix_hookshot_encryption_enabled: true
# Uncomment and paste the contents of GitHub app private key to enable GitHub bridge.
# Alternatively, you can use one of the other methods explained below on the "Manage GitHub Private Key with aux role" section.
@@ -103,7 +103,6 @@ Unless indicated otherwise, the following endpoints are reachable on your `matri
| github oauth | `/hookshot/webhooks/oauth` | `matrix_hookshot_github_oauth_endpoint` | GitHub "Callback URL" |
| jira oauth | `/hookshot/webhooks/jira/oauth` | `matrix_hookshot_jira_oauth_endpoint` | Jira OAuth |
| figma endpoint | `/hookshot/webhooks/figma/webhook` | `matrix_hookshot_figma_endpoint` | Figma |
| provisioning | `/hookshot/v1/` | `matrix_hookshot_provisioning_endpoint` | Dimension [provisioning](#provisioning-api) |
| appservice | `/hookshot/_matrix/app/` | `matrix_hookshot_appservice_endpoint` | Matrix server |
| widgets | `/hookshot/widgetapi/` | `matrix_hookshot_widgets_endpoint` | Widgets |
@@ -126,16 +125,12 @@ aux_file_definitions:
- dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
content: "{{ lookup('file', '/path/to/your-github-private-key.pem') }}"
mode: '0400'
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
```
For more information, see the documentation in the [default configuration of the aux role](https://github.com/mother-of-all-self-hosting/ansible-role-aux/blob/main/defaults/main.yml).
### Provisioning API
The provisioning API will be enabled automatically if you set `matrix_dimension_enabled: true` and provided a `matrix_hookshot_provisioning_secret`, unless you override it either way. To use hookshot with Dimension, you will need to enter as "Provisioning URL": `http://matrix-hookshot:9002`, which is made up of the variables `matrix_hookshot_container_url` and `matrix_hookshot_provisioning_port`.
### Collision with matrix-appservice-webhooks
If you are also running [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), it reserves its namespace by the default setting `matrix_appservice_webhooks_user_prefix: '_webhook_'`. You should take care if you modify its or hookshot's prefix that they do not collide with each other's namespace (default `matrix_hookshot_generic_userIdPrefix: '_webhooks_'`).
@@ -172,7 +167,7 @@ To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set t
#### Enable Grafana (optional)
Probably you wish to enable Grafana along with Prometheus for generating graphs of the metics.
Probably you wish to enable Grafana along with Prometheus for generating graphs of the metrics.
To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions.

View File

@@ -70,7 +70,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju
## Usage
Follow the [mautrix-imessage documenation](https://docs.mau.fi/bridges/go/imessage/index.html) for running `android-sms` and/or `matrix-imessage` on your device(s).
Follow the [mautrix-imessage documentation](https://docs.mau.fi/bridges/go/imessage/index.html) for running `android-sms` and/or `matrix-imessage` on your device(s).
## Troubleshooting

View File

@@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
# Setting up MX Puppet Discord bridging (optional)
**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 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 can install and configure [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) for you.

View File

@@ -7,7 +7,9 @@ SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Steam bridging (optional)
# Setting up MX Puppet Steam bridging (optional, deprecated)
**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.

View File

@@ -0,0 +1,48 @@
<!--
SPDX-FileCopyrightText: 2025 Jason LaGuidice
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Steam bridging (optional)
The playbook can install and configure [matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge) for you.
See the project's [documentation](https://github.com/jasonlaguidice/matrix-steam-bridge/blob/main/README.md) to learn what it does and why it might be useful to you.
## Adjusting the playbook configuration
To enable the [Steam](https://steampowered.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_steam_bridge_enabled: true
```
## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. -->
```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` and `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.
The tag for `just` commands for this bridge is `matrix-steam-bridge` - for example: `just install-service matrix-steam-bridge`
## Usage
To use the bridge, you need to start a chat with `Steam bridge bot` with the handle `@steambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
The bridge supports QR code and password-based login as well as SteamGuard codes via app, SMS, or e-mail. See matrix-steam-bridge [documentation](https://github.com/jasonlaguidice/matrix-steam-bridge) for more information about how to configure the bridge.
To login, send `login [flow ID]` where possible flow IDs are `password` or `qr`
Once logged in, send `search [name]` to search through recognized Steam friends. You can send a user name, display name, or all forms of Steam ID. Send `start-chat [identifier]` to request the bridge bot to open a chat room with a user.
Chat rooms will automatically be opened as new messages are received.
Send `help` to the bot to see the available commands.

View File

@@ -65,6 +65,7 @@ Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/ma
```
as_token: <token>
de.sorunome.msc2409.push_ephemeral: true
receive_ephemeral: true
hs_token: <token>
id: signal
namespaces:

View File

@@ -18,6 +18,7 @@ By default, the playbook installs [Synapse](https://github.com/element-hq/synaps
> [!WARNING]
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> conduwuit). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding
> - **the Conduwuit project appears to have been abandoned**. You may wish to install [Conduit](./configuring-playbook-conduit.md), or one of the Conduwuit successors (like [Continuwuity](configuring-playbook-continuwuity.md))
## Adjusting the playbook configuration
@@ -83,6 +84,7 @@ Then, send its content to the existing admin room:
```
as_token: <token>
de.sorunome.msc2409.push_ephemeral: true
receive_ephemeral: true
hs_token: <token>
id: signal
namespaces:

View File

@@ -0,0 +1,117 @@
<!--
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Continuwuity (optional)
The playbook can install and configure the [Continuwuity](https://continuwuity.org) Matrix server for you.
See the project's [documentation](https://continuwuity.org) to learn what it does and why it might be useful to you.
By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document.
💡 **Note**: continuwuity is a fork of [conduwuit](./configuring-playbook-conduwuit.md), which the playbook also supports.
> [!WARNING]
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Continuwuity). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet.
> - **Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding
## Adjusting the playbook configuration
To use Continuwuity, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below:
```yaml
matrix_homeserver_implementation: continuwuity
# Registering users can only happen via the API,
# so it makes sense to enable it, at least initially.
matrix_continuwuity_config_allow_registration: true
# Generate a strong registration token to protect the registration endpoint from abuse.
# You can create one with a command like `pwgen -s 64 1`.
matrix_continuwuity_config_registration_token: ''
```
### Extending the configuration
There are some additional things you may wish to configure about the server.
Take a look at:
- `roles/custom/matrix-continuwuity/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-continuwuity/templates/continuwuity.toml.j2` for the server's default configuration
There are various Ansible variables that control settings in the `continuwuity.toml` file.
If a specific setting you'd like to change does not have a dedicated Ansible variable, you can either submit a PR to us to add it, or you can [override the setting using an environment variable](https://continuwuity.org/configuration#environment-variables) using `matrix_continuwuity_environment_variables_extension`. For example:
```yaml
matrix_continuwuity_environment_variables_extension: |
CONTINUWUITY_MAX_REQUEST_SIZE=50000000
CONTINUWUITY_REQUEST_TIMEOUT=60
```
## Creating the first user account
Unlike other homeserver implementations (like Synapse and Dendrite), continuwuity does not support creating users via the command line or via the playbook.
If you followed the instructions above (see [Adjusting the playbook configuration](#adjusting-the-playbook-configuration)), you should have registration enabled and protected by a registration token.
This should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users.
The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**.
## Configuring bridges / appservices
For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver.
For continuwuity, you will have to manually register appservices using the [`!admin appservices register` command](https://continuwuity.org/appservices.html#set-up-the-appservice---general-instructions) sent to the server bot account.
The server's bot account has a Matrix ID of `@conduit:example.com` (not `@continuwuity:example.com`!) due to continuwuity's historical legacy.
Your first user account would already have been invited to an admin room with this bot.
Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`.
Then, send its content to the existing admin room:
!admin appservices register
```
as_token: <token>
de.sorunome.msc2409.push_ephemeral: true
receive_ephemeral: true
hs_token: <token>
id: signal
namespaces:
aliases:
- exclusive: true
regex: ^#signal_.+:example\.org$
users:
- exclusive: true
regex: ^@signal_.+:example\.org$
- exclusive: true
regex: ^@signalbot:example\.org$
rate_limited: false
sender_localpart: _bot_signalbot
url: http://matrix-mautrix-signal:29328
```
## Migrating from conduwuit
Since Continuwuity is a drop-in replacement for [conduwuit](configuring-playbook-conduwuit.md), migration is possible.
1. Make sure that Continuwuity is properly set up on your `vars.yml` as described above
2. Make sure that Conduwuit references are removed from your `vars.yml` file
3. Run the installation in a way that installs new services and uninstalls old ones (e.g. `just setup-all`)
4. Run the playbook with the `continuwuity-migrate-from-conduwuit` tag (e.g. `just run-tags continuwuity-migrate-from-conduwuit`). This migrates data from `/matrix/conduwuit` to `/matrix/continuwuity`
## 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-continuwuity`.

View File

@@ -0,0 +1,67 @@
<!--
SPDX-FileCopyrightText: 2024 wjbeckett
SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Element Admin (optional)
The playbook can install and configure [Element Admin](https://github.com/element-hq/element-admin) for you.
Element Admin is a web-based administration panel for Synapse and [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md).
See the project's [documentation](https://github.com/element-hq/element-admin) to learn more.
💡 **Note**: This project is still very young and doesn't have many features. For now, it's recommended to use [Synapse Admin](./configuring-playbook-synapse-admin.md) instead. Deployments that use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) can use Element Admin for user-management (something that Synapse Admin can't do), while continuing to use Synapse Admin for all other purposes.
## Prerequisites
- A [Synapse](configuring-playbook-synapse.md) homeserver with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)
- [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)
## Decide on a domain and path
By default, the Element Admin is configured to be served on the `admin.element.example.com` domain.
If you'd like to run Element Admin on another hostname, see the [Adjusting the Element Admin URL](#adjusting-the-element-admin-url-optional) section below.
## Adjusting DNS records (optional)
By default, this playbook installs Element Admin on the `admin.element.` subdomain (`admin.element.example.com`) and requires you to create a `CNAME` record for `admin.element`, which targets `matrix.example.com`.
When setting these values, replace `example.com` with your own.
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_element_admin_enabled: true
```
### Adjusting the Element Admin URL (optional)
By tweaking the `matrix_element_admin_hostname` variable, you can easily make the service available at a **different hostname** than the default one.
Example additional configuration for your `vars.yml` file:
```yaml
matrix_element_admin_hostname: element-admin.example.com
```
> [!WARNING]
> A `matrix_element_admin_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Admin service, but **Element Admin does not support running under a sub-path yet**.
## Installing
After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. -->
```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.

View File

@@ -16,8 +16,9 @@ See the project's [documentation](https://github.com/element-hq/element-call) to
## Prerequisites
- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below)
- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md)
- The [Matrix RTC (Real-Time Communication) stack](configuring-playbook-matrix-rtc.md) (automatically done when Element Call is enabled)
- A client compatible with Element Call. As of 2025-03-15, that's just [Element Web](configuring-playbook-client-element-web.md) and the Element X mobile clients (iOS and Android).
- (Optional) Guest accounts being enabled for your Matrix server, if you'd like guests to be able to use Element Call. See [Allowing guests to use Element Call](#allowing-guests-to-use-element-call-optional)
> [!WARNING]
> Because Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) a few experimental features in the Matrix protocol, it's **very likely that it only works with the Synapse homeserver**.
@@ -27,9 +28,9 @@ See the project's [documentation](https://github.com/element-hq/element-call) to
All clients that can currently use Element Call (Element Web and Element X on mobile) already embed the Element Call frontend within them.
These **clients will use their own embedded Element Call frontend**, so **self-hosting the Element Call frontend by the playbook is largely unnecessary**.
💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client).
💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client). Note that unless you [allow guest accounts to use Element Call](#allowing-guests-to-use-element-call-optional), you will still need a Matrix user account **on the same homeserver** to be able to use Element Call.
The playbook makes a distiction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**.
The playbook makes a distinction between enabling Element Call (`matrix_element_call_enabled`) and enabling the Matrix RTC Stack (`matrix_rtc_enabled`). Enabling Element Call automatically enables the Matrix RTC stack. Because installing the Element Call frontend is now unnecessary, **we recommend only installing the Matrix RTC stack, without the Element Call frontend**.
| Description / Variable | Element Call frontend | [LiveKit Server](configuring-playbook-livekit-server.md) | [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) |
|------------------------|-----------------------|----------------|---------------------|
@@ -81,6 +82,28 @@ matrix_element_call_hostname: element-call.example.com
> [!WARNING]
> A `matrix_element_call_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Call service, but [Element Call does not support running under a sub-path yet](https://github.com/element-hq/element-call/issues/3084).
### Allowing guests to use Element Call (optional)
By default, Element Call can only be used by people having accounts on your Matrix server.
If you'd like guests to be able to use Element Call as well, you need to enable guest accounts support for your homeserver.
> [!WARNING]
> Enabling guest accounts means that your homeserver's user database may get polluted with guest account signups (potentially made by bots).
> Guest accounts should be limited in what (damage) they can do to your server and the rest of the Matrix ecosystem, but it's better to not enable them unless necessary.
For [Synapse](configuring-playbook-synapse.md) (the default homeserver implementation), the configuration is like this:
```yml
matrix_synapse_allow_guest_access: true
```
For [Dendrite](configuring-playbook-dendrite.md), the configuration is like this:
```yml
matrix_dendrite_guests_disabled: false
```
## Installing
After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records) and [adjusting firewall rules](#adjusting-firewall-rules), run the playbook with [playbook tags](playbook-tags.md) as below:

View File

@@ -70,7 +70,7 @@ By default the Jitsi Meet instance **does not require for anyone to log in, and
If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode.
See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's documentation for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up.
See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's documentation for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up.
### Enable Gravatar (optional)

View File

@@ -15,4 +15,4 @@ This is a helper component which is part of the [Matrix RTC stack](configuring-p
Take a look at:
- `roles/custom/matrix-livekit-jwt-service/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-livekit-jwt-service/templates/env.j2` for the component's default configuration.
- `roles/custom/matrix-livekit-jwt-service/templates/env.j2` for the component's default configuration.

View File

@@ -35,4 +35,4 @@ To ensure LiveKit Server functions correctly, the following firewall rules and p
For some reason, LiveKit Server's TURN ports (`3479/udp` and `5350/tcp`) are not reachable over IPv6 regardless of whether you've [enabled IPv6](./configuring-ipv6.md) for your server.
It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92).
It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92).

View File

@@ -41,7 +41,7 @@ Below, we'll try to **highlight some potential reasons for switching** to Matrix
## Prerequisites
- ⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet.
- ⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet.
-**disabling all password providers** for Synapse (things like [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc.) More details about this are available in the [Expectations](#expectations) section below.
@@ -51,19 +51,17 @@ 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.
- ❌ 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.
-**Some services experience issues when authenticating via MAS**:
- [Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:
> cannot initialize matrix bot error="olm account is marked as shared, keys seem to have disappeared from the server"
- [Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again
-**Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting).
- ⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break.
- ⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependant on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch.
- ⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependent on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch.
- ⚠️ If you've got [OIDC configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), you will need to migrate your OIDC configuration to MAS by adding an [Upstream OAuth2 configuration](#upstream-oauth2-configuration).
@@ -87,7 +85,7 @@ For new homeservers (which don't have any users in their Synapse database yet),
### Existing homeserver
Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet.
Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet.
For existing Synapse homeservers:
@@ -159,6 +157,10 @@ matrix_authentication_service_config_upstream_oauth2_providers:
- # A unique identifier for the provider
# Must be a valid ULID
id: 01HFVBY12TMNTYTBV8W921M5FA
# This can be set if you're migrating an existing (legacy) Synapse OIDC configuration.
# The value used here would most likely be "oidc" or "oidc-provider".
# See: https://element-hq.github.io/matrix-authentication-service/setup/migration.html#map-any-upstream-sso-providers
synapse_idp_id: null
# The issuer URL, which will be used to discover the provider's configuration.
# If discovery is enabled, this *must* exactly match the `issuer` field
# advertised in `<issuer>/.well-known/openid-configuration`.
@@ -306,7 +308,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
Our migration guide is loosely based on the upstream [Migrating an existing homeserver](https://element-hq.github.io/matrix-authentication-service/setup/migration.html) guide.
Migration is done via a tool called `syn2mas`, which the playbook could run for you (in a container).
Migration is done via a sub-command called `syn2mas`, which the playbook could run for you (in a container).
The installation + migration steps are like this:
@@ -322,7 +324,7 @@ The installation + migration steps are like this:
- The `matrix-user-creator` role would be suppressed, so that it doesn't automatically attempt to create users (for bots, etc.) in the MAS database. These user accounts likely already exist in Synapse's user database and could be migrated over (via syn2mas, as per the steps below), so creating them in the MAS database would have been unnecessary and potentially problematic (conflicts during the syn2mas migration).
3. Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration tool does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break.
3. Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration command does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break.
4. [Migrate your data from Synapse to Matrix Authentication Service using syn2mas](#migrate-your-data-from-synapse-to-matrix-authentication-service-using-syn2mas)
@@ -342,9 +344,7 @@ The installation + migration steps are like this:
### Migrate your data from Synapse to Matrix Authentication Service using syn2mas
We **don't** ask you to [run the `syn2mas` migration advisor command](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#run-the-migration-advisor), because it only gives you the green light if your Synapse configuration (`homeserver.yaml`) is configured in a way that's compatible with MAS (delegating authentication to MAS; disabling Synapse's password config; etc.). Until we migrate your data with the `syn2mas` tool, we intentionally avoid doing these changes to allow existing user sessions to work.
You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration).
You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration).
#### Configuring syn2mas
@@ -356,26 +356,9 @@ When you're done with potentially configuring `syn2mas`, proceed to doing a [dry
##### Configuring upstream OIDC provider mapping for syn2mas
If you have existing OIDC users in your Synapse user database (which will be the case if when using [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)), you may need to pass an additional `--upstreamProviderMapping` argument to the `syn2mas` tool to tell it which provider (on the Synapse side) maps to which other provider on the MAS side.
Since Matrix Authentication Service v0.16.0 (which replaced the standalone `syn2mas` tool with a `mas-cli syn2mas` sub-command), OIDC configuration (mapping from your old OIDC configuration to your new one, etc) is meant to be configured in the Matrix Authentication Service configuration (via `matrix_authentication_service_config_upstream_oauth2_providers`) as a `synapse_idp_id` property for each provider.
If you don't do this, `syn2mas` would report errors like this one:
> [FATAL] migrate - [Failed to import external id 4264b0f0-4f11-4ddd-aedb-b500e4d07c25 with oidc-keycloak for user @alice:example.com: Error: Unknown upstream provider oidc-keycloak]
Below is an example situation and a guide for how to solve it.
If in `matrix_synapse_oidc_providers` your provider `idp_id` is (was) named `keycloak`, in the Synapse database users would be associated with the `oidc-keycloak` provider (note the `oidc-` prefix that was added automatically by Synapse to your `idp_id` value).
The same OIDC provider may have an `id` of `01HFVBY12TMNTYTBV8W921M5FA` on the MAS side, as defined in `matrix_authentication_service_config_upstream_oauth2_providers` (see the [Upstream OAuth2 configuration](#upstream-oauth2-configuration) section above).
To tell `syn2mas` how the Synapse-configured OIDC provider maps to the new MAS-configured OIDC provider, add this additional configuration to your `vars.yml` file:
```yaml
# Adjust the mapping below to match your provider IDs on the Synapse side and the MAS side.
# Don't forget that Synapse automatically adds an `oidc-` prefix to provider ids defined in its configuration.
matrix_authentication_service_syn2mas_process_extra_arguments:
- "--upstreamProviderMapping oidc-keycloak:01HFVBY12TMNTYTBV8W921M5FA"
```
You can refer to the [Map any upstream SSO providers](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#map-any-upstream-sso-providers) section of the MAS documentation for figuring out how to set the `synapse_idp_id` value in `matrix_authentication_service_config_upstream_oauth2_providers` correctly.
#### Performing a syn2mas dry-run
@@ -386,7 +369,7 @@ A dry-run would not cause downtime, because it avoids stopping Synapse.
To perform a dry-run, run:
```sh
just run-tags matrix-authentication-service-syn2mas -e matrix_authentication_service_syn2mas_dry_run=true
just run-tags matrix-authentication-service-mas-cli-syn2mas -e matrix_authentication_service_syn2mas_migrate_dry_run=true
```
Observe the command output (especially the last line of the the syn2mas output). If you are confident that the migration will work out as expected, you can proceed with a [real migration](#performing-a-real-syn2mas-migration).
@@ -405,13 +388,13 @@ Before performing a real migration make sure:
- you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and don't see any issues in its output
To perform a real migration, run the `matrix-authentication-service-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_dry_run` variable:
To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:
```sh
just run-tags matrix-authentication-service-syn2mas
just run-tags matrix-authentication-service-mas-cli-syn2mas
```
Having performed a `syn2mas` migration once, trying to do it again will report errors for users that were already migrated (e.g. "Error: Unknown upstream provider oauth-delegated").
Having performed a `syn2mas` migration once, trying to do it again will report errors (e.g. "Error: The MAS database is not empty: rows found in at least `users`. Please drop and recreate the database, then try again.").
## Verify that Matrix Authentication Service is installed correctly

View File

@@ -13,7 +13,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
The playbook can install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you.
In short, it's a sort of automation and firewalling service, which is helpful if you're instaling Matrix services in a controlled corporate environment.
In short, it's a sort of automation and firewalling service, which is helpful if you're installing Matrix services in a controlled corporate environment.
See the project's [documentation](https://github.com/devture/matrix-corporal/blob/main/README.md) to learn what it does and why it might be useful to you.

View File

@@ -60,7 +60,7 @@ To `matrix_media_repo_container_labels_traefik_metrics_middleware_basic_auth_use
#### Enable Grafana (optional)
Probably you wish to enable Grafana along with Prometheus for generating graphs of the metics.
Probably you wish to enable Grafana along with Prometheus for generating graphs of the metrics.
To enable Grafana, see [this section](configuring-playbook-prometheus-grafana.md#adjusting-the-playbook-configuration-grafana) for instructions.

View File

@@ -16,7 +16,6 @@ The Matrix RTC stack is a set of supporting components ([LiveKit Server](configu
## Prerequisites
- A [Synapse](configuring-playbook-synapse.md) homeserver (see the warning below)
- [Federation](configuring-playbook-federation.md) being enabled for your Matrix homeserver (federation is enabled by default, unless you've explicitly disabled it), because [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) currently [requires it](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554) ([relevant source code](https://github.com/element-hq/lk-jwt-service/blob/f5f5374c4bdcc00a4fb13d27c0b28e20e4c62334/main.go#L135-L146))
- Various experimental features for the Synapse homeserver which Element Call [requires](https://github.com/element-hq/element-call/blob/93ae2aed9841e0b066d515c56bd4c122d2b591b2/docs/self-hosting.md#a-matrix-homeserver) (automatically done when Element Call is enabled)
- A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))
- The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))
@@ -56,4 +55,4 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju
Once installed, Matrix clients which support Element Call (like [Element Web](configuring-playbook-client-element-web.md) and Element X on mobile (iOS and Android)) will automatically use the Matrix RTC stack.
These clients typically embed the Element Call frontend UI within them, so installing [Element Call](configuring-playbook-element-call.md) is only necessary if you'd like to use it standalone - directly via a browser.
These clients typically embed the Element Call frontend UI within them, so installing [Element Call](configuring-playbook-element-call.md) is only necessary if you'd like to use it standalone - directly via a browser.

View File

@@ -115,7 +115,7 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju
## Usage
To receive push notifications with UnifiedPush from the ntfy server, you need to **install [the ntfy Android app](https://docs.ntfy.sh/subscribe/phone/)** which works as the Distrubutor, **log in to the account on the ntfy app** if you have enabled the access control, and then **configure a UnifiedPush-compatible Matrix client**. After setting up the ntfy Android app, the Matrix client listens to it, and push notitications are "distributed" from it.
To receive push notifications with UnifiedPush from the ntfy server, you need to **install [the ntfy Android app](https://docs.ntfy.sh/subscribe/phone/)** which works as the Distributor, **log in to the account on the ntfy app** if you have enabled the access control, and then **configure a UnifiedPush-compatible Matrix client**. After setting up the ntfy Android app, the Matrix client listens to it, and push notifications are "distributed" from it.
For details about installing and configuring the ntfy Android app, take a look at [this section](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/blob/main/docs/configuring-ntfy.md#install-the-ntfy-androidios-app) on the role's documentation.

View File

@@ -258,4 +258,4 @@ As with all other services, you can find the logs in [systemd-journald](https://
- [The Prometheus scraping rules](https://github.com/element-hq/synapse/tree/master/contrib/prometheus) (we use v2)
- [The Synapse Grafana dashboard](https://github.com/element-hq/synapse/tree/master/contrib/grafana)
- [The Node Exporter dashboard](https://github.com/rfrail3/grafana-dashboards) (for generic non-synapse performance graphs)
- [The PostgresSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic Postgres dashboard)
- [The PostgreSQL dashboard](https://grafana.com/grafana/dashboards/9628) (generic Postgres dashboard)

View File

@@ -22,13 +22,11 @@ Finally, [set up S3 storage for Synapse](#setting-up) (with [Goofys](configuring
## Choosing an Object Storage provider
You can create [Amazon S3](https://aws.amazon.com/s3/) or another S3-compatible object storage like [Backblaze B2](https://www.backblaze.com/b2/cloud-storage.html), [Storj](https://storj.io), [Wasabi](https://wasabi.com), [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces), etc.
You can create [Amazon S3](https://aws.amazon.com/s3/) or another S3-compatible object storage like [Backblaze B2](https://www.backblaze.com/b2/cloud-storage.html), [Wasabi](https://wasabi.com), [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces), [Storj](https://storj.io), etc.
Amazon S3, Backblaze B2, and Storj are pay-as-you with no minimum charges for storing too little data.
Amazon S3 and Backblaze B2 are pay-as-you with no minimum charges for storing too little data. Note that Backblaze egress is free, but for only certain users for up to 3x the amount of data stored. Beyond that you will pay $0.01/GB of egress.
All these providers have different prices, with Storj appearing to be the cheapest (as of 2024-10, storage fee is $0.004 per GB/month, and egress fee is $0.007 per GB; check actual pricing [here](https://storj.dev/dcs/pricing)). Backblaze egress is free, but for only certain users for up to 3x the amount of data stored. Beyond that you will pay $0.01/GB of egress.
Wasabi has a minimum charge of 1TB if you're storing less than 1TB, which becomes expensive if you need to store less data than that. Likewise, Digital Ocean Spaces has also a minimum charge of 250GB ($5/month as of 2022-10).
Wasabi has a minimum charge of 1TB if you're storing less than 1TB, which becomes expensive if you need to store less data than that. Likewise, Digital Ocean Spaces has also a minimum charge of 250GB ($5/month as of 2022-10). Though Storj does not set minimum amount of data to be stored, it also charges $5 minimum monthly usage fee since July 1, 2025, if your monthly usage (storage, bandwidth, and segments) totals less than $5.
Here are some of the important aspects of choosing the right provider:

View File

@@ -15,7 +15,7 @@ By default, the playbook retrieves and automatically renews free SSL certificate
**Notes**:
- This guide is intended to be referred for configuring the integrated Traefik server with regard to SSL certificates retrieval. If you're using [your own webserver](configuring-playbook-own-webserver.md), consult its documentation about how to configure it.
- Let's Encrypt ends the expiration notification email service on June 4, 2025 (see: [the official announcement](https://letsencrypt.org/2025/01/22/ending-expiration-emails/)), and it recommends using a third party service for those who want to receive expiriation notifications. If you are looking for a self-hosting service, you may be interested in a monitoring tool such as [Update Kuma](https://github.com/louislam/uptime-kuma/).
- Let's Encrypt ends the expiration notification email service on June 4, 2025 (see: [the official announcement](https://letsencrypt.org/2025/01/22/ending-expiration-emails/)), and it recommends using a third party service for those who want to receive expiration notifications. If you are looking for a self-hosting service, you may be interested in a monitoring tool such as [Update Kuma](https://github.com/louislam/uptime-kuma/).
The [Mother-of-All-Self-Hosting (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook) Ansible playbook can be used to install and manage an Uptime Kuma instance. See [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/uptime-kuma.md) for the instruction to install it with the MASH playbook. If you are wondering how to use the MASH playbook for your Matrix server, refer [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/setting-up-services-on-mdad-server.md).

View File

@@ -49,8 +49,8 @@ aux_file_definitions:
content
here
mode: '0600'
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
```
Configuring [GCM/FCM](https://firebase.google.com/docs/cloud-messaging/) is easier, as it only requires that you provide some config values.

View File

@@ -18,6 +18,8 @@ synapse-admin is a web UI tool you can use to **administrate users, rooms, media
💡 **Note**: the latest version of synapse-admin is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting.
💡 **Note**: The playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). However, it's currently less feature-rich than Synapse Admin and has a dependency on [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md).
## Adjusting DNS records (optional)
By default, this playbook installs Synapse Admin on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**. If that's okay, you can skip this section.
@@ -40,7 +42,7 @@ 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.
> 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)

View File

@@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
The playbook can install and configure [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) for you.
It lets you fight invite-spam by automatically blocking invitiations from a list of servers specified by you (blacklisting).
It lets you fight invite-spam by automatically blocking invitations from a list of servers specified by you (blacklisting).
See the project's [documentation](https://github.com/t2bot/synapse-simple-antispam/blob/master/README.md) to learn what it does and why it might be useful to you.

View File

@@ -53,7 +53,7 @@ You may also consider [tweaking the number of workers of each type](#controlling
##### Specialized workers
The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requestor's IP adddress, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requestor and/or on the resource (room, etc.) being requested.
The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requester's IP address, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requester and/or on the resource (room, etc.) being requested.
The playbook supports these **4 types** of specialized workers:

View File

@@ -53,6 +53,8 @@ For a more custom setup, see the [Other configuration options](#other-configurat
- [Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation
- [Configuring continuwuity](configuring-playbook-continuwuity.md), if you've switched to the [continuwuity](https://continuwuity.org) homeserver implementation
- [Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation
- Server components:
@@ -182,6 +184,8 @@ Bridges can be used to connect your Matrix installation with third-party communi
- [Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md)
- [Setting up Steam bridging](configuring-playbook-bridge-steam.md)
- [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)

View File

@@ -28,6 +28,7 @@ We try to stick to official images (provided by their respective projects) as mu
| [Synapse](configuring-playbook-synapse.md) | [element-hq/synapse](https://ghcr.io/element-hq/synapse) | ✅ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network |
| [Conduit](configuring-playbook-conduit.md) | [matrixconduit/matrix-conduit](https://hub.docker.com/r/matrixconduit/matrix-conduit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Conduit is a lightweight open-source server implementation of the Matrix Specification with a focus on easy setup and low system requirements |
| [conduwuit](configuring-playbook-conduwuit.md) | [girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit. |
| [continuwuity](configuring-playbook-continuwuity.md) | [continuwuation/continuwuity](https://forgejo.ellis.link/continuwuation/continuwuity) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit. |
| [Dendrite](configuring-playbook-dendrite.md) | [matrixdotorg/dendrite-monolith](https://hub.docker.com/r/matrixdotorg/dendrite-monolith/) | ❌ | Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. Dendrite is a second-generation Matrix homeserver written in Go, an alternative to Synapse. |
## Clients
@@ -113,6 +114,7 @@ Bridges can be used to connect your Matrix installation with third-party communi
| [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/) |
| [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/) |
| [Postmoogle](configuring-playbook-bridge-postmoogle.md) | [etke.cc/postmoogle](https://github.com/etkecc/postmoogle/container_registry) | ❌ | Email to Matrix bridge |
@@ -157,7 +159,7 @@ Various services that don't fit any other categories.
| ------- | --------------- | -------- | ----------- |
| [sliding-sync](configuring-playbook-sliding-sync-proxy.md) | [matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync) | ❌ | Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync) |
| [synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md) | (N/A) | ❌ | Synapse module to automatically accept invites |
| [synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md) | [etke.cc/rust-synapse-compress-state](https://gitlab.com/etke.cc/rust-synapse-compress-state/container_registry) | ❌ | Cli tool that automatically compresses `state_groups` database table in background |
| [synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md) | [mb-saces/rust-synapse-tools](https://gitlab.com/mb-saces/rust-synapse-tools/container_registry) | ❌ | Cli tool that automatically compresses Synapse's `state_groups` database table in background |
| [Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced) | [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal/) | ❌ | Reconciliator and gateway for a managed Matrix server |
| [Etherpad](configuring-playbook-etherpad.md) | [etherpad/etherpad](https://hub.docker.com/r/etherpad/etherpad/) | ❌ | Open source collaborative text editor |
| [Jitsi](configuring-playbook-jitsi.md) | [jitsi/web](https://hub.docker.com/r/jitsi/web) | ❌ | [Jitsi](https://jitsi.org/) web UI |

View File

@@ -235,7 +235,7 @@ Running Matrix on a server with 1GB of memory is possible (especially if you dis
**We recommend starting with a server having at least 2GB of memory** and even then using it sparingly. If you know for sure you'll be joining various large rooms, etc., then going for 4GB of memory or more is a good idea.
Besides the regular Matrix stuff, we also support things like video-conferencing using [Jitsi](configuring-playbook-jitsi.md) and other additional services which (when installed) may use up a lot of memory. Things do add up. Besides the Synapse Matrix server, Jitsi is especially notorious for consuming a lot of resources. If you plan on running Jitsi, we recommend a server with at least 2GB of memory (preferrably more). See our [Jitsi documentation page](configuring-playbook-jitsi.md) to learn how to optimize its memory/CPU usage.
Besides the regular Matrix stuff, we also support things like video-conferencing using [Jitsi](configuring-playbook-jitsi.md) and other additional services which (when installed) may use up a lot of memory. Things do add up. Besides the Synapse Matrix server, Jitsi is especially notorious for consuming a lot of resources. If you plan on running Jitsi, we recommend a server with at least 2GB of memory (preferably more). See our [Jitsi documentation page](configuring-playbook-jitsi.md) to learn how to optimize its memory/CPU usage.
### Can I run this in an LXC container?
@@ -362,7 +362,7 @@ Configuration variables are defined in multiple places in this playbook and are
You can discover the variables you can override in each role (`roles/*/*/defaults/main.yml`).
As described in [How is the effective configuration determined?](#how-is-the-effective-configuration-determined), these role-defaults may be overriden by values defined in `group_vars/matrix_servers`.
As described in [How is the effective configuration determined?](#how-is-the-effective-configuration-determined), these role-defaults may be overridden by values defined in `group_vars/matrix_servers`.
Refer to both of these for inspiration. Still, as mentioned in [Configuring the playbook](configuring-playbook.md), you're only ever supposed to edit your own `inventory/host_vars/matrix.example.com/vars.yml` file and nothing else inside the playbook (unless you're meaning to contribute new features).

View File

@@ -26,7 +26,7 @@ The up-to-date list can be accessed on [traefik's documentation](https://doc.tra
**Note**: the changes below instruct you how to do this for a basic Synapse installation. You will need to adapt the variable name and the content of the labels:
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md), [conduwuit](./configuring-playbook-conduwuit.md) or [Dendrite](./configuring-playbook-dendrite.md))
- if you're using another homeserver implementation (e.g. [Conduit](./configuring-playbook-conduit.md), [conduwuit](./configuring-playbook-conduwuit.md), [continuwuity](./configuring-playbook-continuwuity.md) or [Dendrite](./configuring-playbook-dendrite.md))
- if you're using [Synapse with workers enabled](./configuring-playbook-synapse.md#load-balancing-with-workers) (`matrix_synapse_workers_enabled: true`). In that case, it's actually the `matrix-synapse-reverse-proxy-companion` service which has Traefik labels attached
Also, all instructions below are from an older version of the playbook and may not work anymore.
@@ -42,7 +42,7 @@ This is because with SRV federation, some servers / tools (one of which being th
### Tell Traefik which certificate to serve for the federation endpoint
Now that the federation endpoint is not bound to a domain anymore we need to explicitely tell Traefik to use a wildcard certificate in addition to one containing the base name.
Now that the federation endpoint is not bound to a domain anymore we need to explicitly tell Traefik to use a wildcard certificate in addition to one containing the base name.
This is because the Matrix specification expects the federation endpoint to be served using a certificate compatible with the base domain, however, the other resources on the endpoint still need a valid certificate to work.
@@ -79,7 +79,7 @@ traefik_configuration_extension_yaml: |
- "8.8.8.8:53"
storage: {{ traefik_config_certificatesResolvers_acme_storage | to_json }}
# 2. Configure the environment variables needed by Rraefik to automate the ACME DNS Challenge (example for Cloudflare)
# 2. Configure the environment variables needed by Traefik to automate the ACME DNS Challenge (example for Cloudflare)
traefik_environment_variables: |
CF_API_EMAIL=redacted
CF_ZONE_API_TOKEN=redacted

View File

@@ -157,6 +157,8 @@ The upstream projects, which this playbook makes use of, occasionally if not oft
Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date.
Also, do not forget to update your system regularly. While this playbook may install basic services, such as Docker, it will not interfere further with system maintenance. Keeping the system itself up-to-date is out of scope for this playbook.
For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md)
Feel free to **re-run the setup command any time** you think something is wrong with the server configuration. Ansible will take your configuration and update your server to match.

View File

@@ -104,12 +104,12 @@ To save disk space in `/tmp`, the dump file is gzipped on the fly at the expense
PostgreSQL can be [tuned](https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server) to make it run faster. This is done by passing extra arguments to the Postgres process.
The [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) **already does some tuning by default**, which matches the [tuning logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) done by websites like https://pgtune.leopard.in.ua/. You can manually influence some of the tuning variables. These parameters (variables) are injected via the `postgres_postgres_process_extra_arguments_auto` variable.
The [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) **already does some tuning by default**, which matches the [tuning logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) done by websites like https://pgtune.leopard.in.ua/. You can manually influence some of the tuning variables. These parameters (variables) are injected via the `postgres_postgres_process_extra_arguments_default` variable.
Most users should be fine with the automatically-done tuning. However, you may wish to:
- **adjust the automatically-determined tuning parameters manually**: change the values for the tuning variables defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) (see `postgres_max_connections`, `postgres_data_storage` etc). These variables are ultimately passed to Postgres via a `postgres_postgres_process_extra_arguments_auto` variable
- **adjust the automatically-determined tuning parameters manually**: change the values for the tuning variables defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) (see `postgres_max_connections`, `postgres_data_storage` etc). These variables are ultimately passed to Postgres via a `postgres_postgres_process_extra_arguments_default` variable
- **turn automatically-performed tuning off**: override it like this: `postgres_postgres_process_extra_arguments_auto: []`
- **turn automatically-performed tuning off**: override it like this: `postgres_postgres_process_extra_arguments_default: []`
- **add additional tuning parameters**: define your additional Postgres configuration parameters in `postgres_postgres_process_extra_arguments_custom`. See `postgres_postgres_process_extra_arguments_auto` defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) for inspiration
- **add additional tuning parameters**: define your additional Postgres configuration parameters in `postgres_postgres_process_extra_arguments_custom`. See `postgres_postgres_process_extra_arguments_default` defined in the Postgres role's [default configuration file](https://github.com/mother-of-all-self-hosting/ansible-role-postgres/blob/main/defaults/main.yml) for inspiration

View File

@@ -49,7 +49,7 @@ We will be using `example.com` as the domain in the following instruction. Pleas
- [Python](https://www.python.org/). Most distributions install Python by default, but some don't (e.g. Ubuntu 18.04) and require manual installation (something like `apt-get install python3`). On some distros, Ansible may incorrectly [detect the Python version](https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html) (2 vs 3) and you may need to explicitly specify the interpreter path in `inventory/hosts` during installation (e.g. `ansible_python_interpreter=/usr/bin/python3`)
- [sudo](https://www.sudo.ws/), even when you've configured Ansible to log in as `root`. Some distributions, like a minimal Debian net install, do not include the `sudo` package by default.
- [sudo](https://www.sudo.ws/), even when you've configured Ansible to log in as `root`, because this Ansible playbook sometimes uses the Ansible [become](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html) module to perform tasks as another user (e.g. `matrix`) and the `become` module's default implementation uses `sudo`. Some distributions, like a minimal Debian net install, do not include the `sudo` package by default.
- An HTTPS-capable web server at the base domain name (`example.com`) which is capable of serving static files. Unless you decide to [Serve the base domain from the Matrix server](configuring-playbook-base-domain-serving.md) or alternatively, to use DNS SRV records for [Server Delegation](howto-server-delegation.md).
@@ -60,7 +60,7 @@ We will be using `example.com` as the domain in the following instruction. Pleas
- `80/tcp`: HTTP webserver
- `443/tcp` and `443/udp`: HTTPS webserver
- `3478/tcp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md))
- `3478/udp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md))
- `3478/udp`: STUN/TURN over UDP (used by [coturn](./configuring-playbook-turn.md))
- `5349/tcp`: TURN over TCP (used by [coturn](./configuring-playbook-turn.md))
- `5349/udp`: TURN over UDP (used by [coturn](./configuring-playbook-turn.md))
- `8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**.

View File

@@ -33,6 +33,12 @@
ProxyRequests Off
ProxyVia On
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
ProxyTimeout 86400
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:81/$1 [P,L]
AllowEncodedSlashes NoDecode
ProxyPass / http://127.0.0.1:81/ retry=0 nocanon

View File

@@ -23,7 +23,7 @@ If Matrix federation is enabled, then you will need to make changes to [NPM's Do
You'll need to create two proxy hosts in NPM for Matrix web and federation traffic.
Open the 'Proxy Hosts' page in the NPM web interface and select `Add Proxy Host`, the first being for Matrix web traffic. Apply the proxys configuration like this:
Open the 'Proxy Hosts' page in the NPM web interface and select `Add Proxy Host`, the first being for Matrix web traffic. Apply the proxy's configuration like this:
```md
# Details
@@ -44,7 +44,7 @@ Custom Nginx Configuration:
client_max_body_size 50M;
```
Again, under the 'Proxy Hosts' page select `Add Proxy Host`, this time for your federation traffic. Apply the proxys configuration like this:
Again, under the 'Proxy Hosts' page select `Add Proxy Host`, this time for your federation traffic. Apply the proxy's configuration like this:
```md
# Details

View File

@@ -73,11 +73,11 @@ matrix_federation_traefik_entrypoint_tls: "{{ traefik_config_entrypoint_web_secu
# #
########################################################################
aux_directory_default_owner: "{{ matrix_user_username }}"
aux_directory_default_group: "{{ matrix_user_groupname }}"
aux_directory_default_owner: "{{ matrix_user_name }}"
aux_directory_default_group: "{{ matrix_group_name }}"
aux_file_default_owner: "{{ matrix_user_username }}"
aux_file_default_group: "{{ matrix_user_groupname }}"
aux_file_default_owner: "{{ matrix_user_name }}"
aux_file_default_group: "{{ matrix_group_name }}"
########################################################################
# #
@@ -162,6 +162,8 @@ matrix_homeserver_container_extra_arguments_auto: |
+
(['--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 [])
+
(['--mount type=bind,src=' + matrix_cactus_comments_app_service_config_file + ',dst=/matrix-cactus-comments.yaml,ro'] if matrix_cactus_comments_enabled else [])
}}
@@ -236,6 +238,8 @@ matrix_homeserver_app_service_config_files_auto: |
(['/matrix-sms-bridge-registration.yaml'] if matrix_sms_bridge_enabled else [])
+
(['/matrix-cactus-comments.yaml'] if matrix_cactus_comments_enabled else [])
+
(['/matrix-steam-bridge-registration.yaml'] if matrix_steam_bridge_enabled else [])
}}
matrix_addons_homeserver_container_network: "{{ matrix_playbook_reverse_proxy_container_network if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else matrix_homeserver_container_network }}"
@@ -243,7 +247,7 @@ matrix_addons_homeserver_client_api_url: "{{ ('http://' + matrix_playbook_revers
matrix_addons_homeserver_systemd_services_list: "{{ ([traefik_identifier + '.service'] if matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' else []) if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else matrix_homeserver_systemd_services_list }}"
# Starting from version `0.6.0` Conduit natively supports some sync v3 (sliding-sync) features.
matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_sliding_sync_enabled else (matrix_homeserver_url if matrix_homeserver_implementation in ['conduit', 'conduwuit'] else '') }}"
matrix_homeserver_sliding_sync_url: "{{ matrix_sliding_sync_base_url if matrix_sliding_sync_enabled else (matrix_homeserver_url if matrix_homeserver_implementation in ['conduit', 'conduwuit', 'continuwuity'] else '') }}"
########################################################################
# #
@@ -381,6 +385,8 @@ devture_systemd_service_manager_services_list_auto: |
+
([{'name': 'matrix-sms-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'sms']}] if matrix_sms_bridge_enabled else [])
+
([{'name': 'matrix-steam-bridge.service', 'priority': 2000, 'groups': ['matrix', 'bridges', 'matrix-steam-bridge']}] if matrix_steam_bridge_enabled else [])
+
([{'name': 'matrix-cactus-comments.service', 'priority': 2000, 'groups': ['matrix', 'cactus-comments']}] if matrix_cactus_comments_enabled else [])
+
([{'name': 'matrix-cactus-comments-client.service', 'priority': 2000, 'groups': ['matrix', 'cactus-comments-client']}] if matrix_cactus_comments_client_enabled else [])
@@ -447,6 +453,8 @@ devture_systemd_service_manager_services_list_auto: |
+
([{'name': 'matrix-pantalaimon.service', 'priority': 4000, 'groups': ['matrix', 'pantalaimon']}] if matrix_pantalaimon_enabled else [])
+
([{'name': 'matrix-element-admin.service', 'priority': 4000, 'groups': ['matrix', 'element-admin']}] if matrix_element_admin_enabled else [])
+
([{'name': 'matrix-element-call.service', 'priority': 4000, 'groups': ['matrix', 'element-call']}] if matrix_element_call_enabled else [])
+
([{'name': 'matrix-livekit-jwt-service.service', 'priority': 3500, 'groups': ['matrix', 'livekit-jwt-service']}] if matrix_livekit_jwt_service_enabled else [])
@@ -567,6 +575,7 @@ matrix_homeserver_container_client_api_endpoint: |-
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
'continuwuity': ('matrix-continuwuity:' + matrix_continuwuity_config_port_number | default('8008') | string),
}[matrix_homeserver_implementation]
}}
@@ -577,6 +586,7 @@ matrix_homeserver_container_federation_api_endpoint: |-
'dendrite': ('matrix-dendrite:' + matrix_dendrite_http_bind_port | default('8008') | string),
'conduit': ('matrix-conduit:' + matrix_conduit_port_number | default('8008') | string),
'conduwuit': ('matrix-conduwuit:' + matrix_conduwuit_config_port_number | default('8008') | string),
'continuwuity': ('matrix-continuwuity:' + matrix_continuwuity_config_port_number | default('8008') | string),
}[matrix_homeserver_implementation]
}}
@@ -664,29 +674,19 @@ matrix_authentication_service_config_passwords_schemes:
- version: 1
secret: "{{ matrix_synapse_password_config_pepper }}"
algorithm: bcrypt
unicode_normalization: true
- version: 2
algorithm: argon2id
matrix_authentication_service_config_clients_auto: |-
{{
([
{
'client_id': matrix_synapse_experimental_features_msc3861_client_id,
'client_auth_method': matrix_synapse_experimental_features_msc3861_client_auth_method,
'client_secret': matrix_synapse_experimental_features_msc3861_client_secret,
}
] if matrix_synapse_experimental_features_msc3861_enabled else [])
}}
matrix_authentication_service_config_email_transport: "{{ 'smtp' if exim_relay_enabled else 'blackhole' }}"
matrix_authentication_service_config_email_hostname: "{{ exim_relay_identifier if exim_relay_enabled else '' }}"
matrix_authentication_service_config_email_port: "{{ 8025 if exim_relay_enabled else 587 }}"
matrix_authentication_service_config_email_mode: "{{ 'plain' if exim_relay_enabled else 'starttls' }}"
matrix_authentication_service_config_email_from_address: "{{ exim_relay_sender_address }}"
matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
matrix_authentication_service_admin_api_enabled: "{{ matrix_element_admin_enabled }}"
matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default }}"
matrix_authentication_service_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_authentication_service_container_image_registry_prefix_upstream_default }}"
matrix_authentication_service_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
@@ -997,6 +997,8 @@ matrix_appservice_kakaotalk_appservice_token: "{{ '%s' | format(matrix_homeserve
matrix_appservice_kakaotalk_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_appservice_kakaotalk_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'as.kakao.hs', rounds=655555) | to_uuid }}"
matrix_appservice_kakaotalk_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_appservice_kakaotalk_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_appservice_kakaotalk_database_engine: "{{ 'postgres' if postgres_enabled else 'sqlite' }}"
@@ -1046,6 +1048,8 @@ matrix_beeper_linkedin_appservice_token: "{{ '%s' | format(matrix_homeserver_gen
matrix_beeper_linkedin_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_beeper_linkedin_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'linked.hs.token', rounds=655555) | to_uuid }}"
matrix_beeper_linkedin_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_beeper_linkedin_bridge_login_shared_secret_map_auto: |-
{{
({
@@ -1166,6 +1170,8 @@ matrix_mautrix_bluesky_appservice_token: "{{ '%s' | format(matrix_homeserver_gen
matrix_mautrix_bluesky_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_bluesky_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'bsky.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_bluesky_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_bluesky_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.bsky.prov', rounds=655555) | to_uuid }}"
matrix_mautrix_bluesky_double_puppet_secrets_auto: |-
@@ -1235,6 +1241,8 @@ matrix_mautrix_discord_appservice_token: "{{ '%s' | format(matrix_homeserver_gen
matrix_mautrix_discord_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_discord_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.hs.tok', rounds=655555) | to_uuid }}"
matrix_mautrix_discord_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_discord_bridge_avatar_proxy_key: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'maudisc.avatar', rounds=655555) | to_uuid }}"
matrix_mautrix_discord_hostname: "{{ matrix_server_fqn_matrix }}"
@@ -1301,6 +1309,8 @@ matrix_mautrix_slack_appservice_token: "{{ '%s' | format(matrix_homeserver_gener
matrix_mautrix_slack_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_slack_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mauslack.hs.tok', rounds=655555) | to_uuid }}"
matrix_mautrix_slack_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_slack_double_puppet_secrets_auto: |-
{{
{
@@ -1374,6 +1384,8 @@ matrix_mautrix_facebook_homeserver_address: "{{ matrix_addons_homeserver_client_
matrix_mautrix_facebook_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'fb.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_facebook_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_facebook_appservice_public_enabled: true
matrix_mautrix_facebook_appservice_public_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_mautrix_facebook_appservice_public_prefix: "/{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'facebook', rounds=655555) | to_uuid }}"
@@ -1594,6 +1606,8 @@ matrix_mautrix_signal_homeserver_domain: '{{ matrix_domain }}'
matrix_mautrix_signal_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_signal_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'si.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_signal_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_signal_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'si.as.token', rounds=655555) | to_uuid }}"
matrix_mautrix_signal_double_puppet_secrets_auto: |-
@@ -1672,6 +1686,8 @@ matrix_mautrix_meta_messenger_homeserver_address: "{{ matrix_addons_homeserver_c
matrix_mautrix_meta_messenger_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.meta.fb.hs', rounds=655555) | to_uuid }}"
matrix_mautrix_meta_messenger_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_meta_messenger_double_puppet_secrets_auto: |-
{{
{
@@ -1748,6 +1764,8 @@ matrix_mautrix_meta_instagram_homeserver_address: "{{ matrix_addons_homeserver_c
matrix_mautrix_meta_instagram_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.meta.ig.hs', rounds=655555) | to_uuid }}"
matrix_mautrix_meta_instagram_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_meta_instagram_double_puppet_secrets_auto: |-
{{
{
@@ -1833,6 +1851,8 @@ matrix_mautrix_telegram_homeserver_domain: "{{ matrix_domain }}"
matrix_mautrix_telegram_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_telegram_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'telegr.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_telegram_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_telegram_bridge_login_shared_secret_map_auto: |-
{{
({
@@ -1909,6 +1929,8 @@ matrix_mautrix_twitter_appservice_token: "{{ '%s' | format(matrix_homeserver_gen
matrix_mautrix_twitter_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_twitter_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'twt.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_twitter_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_twitter_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twit.prov', rounds=655555) | to_uuid }}"
matrix_mautrix_twitter_double_puppet_secrets_auto: |-
@@ -1981,6 +2003,8 @@ matrix_mautrix_gmessages_appservice_token: "{{ '%s' | format(matrix_homeserver_g
matrix_mautrix_gmessages_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_gmessages_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'gmessa.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_gmessages_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_gmessages_double_puppet_secrets_auto: |-
{{
{
@@ -2099,6 +2123,8 @@ matrix_wechat_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secr
matrix_wechat_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_wechat_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'wechat.hs.token', rounds=655555) | to_uuid }}"
matrix_wechat_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_wechat_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_wechat_bridge_listen_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'wechat.lstn', rounds=655555) | to_uuid }}"
@@ -2160,6 +2186,8 @@ matrix_mautrix_whatsapp_appservice_token: "{{ '%s' | format(matrix_homeserver_ge
matrix_mautrix_whatsapp_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_mautrix_whatsapp_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'whats.hs.token', rounds=655555) | to_uuid }}"
matrix_mautrix_whatsapp_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_mautrix_whatsapp_double_puppet_secrets_auto: |-
{{
{
@@ -2317,7 +2345,6 @@ matrix_hookshot_container_http_host_bind_ports_defaultmapping:
- "{{ matrix_playbook_service_host_bind_interface_prefix }}{{ matrix_hookshot_appservice_port }}:{{ matrix_hookshot_appservice_port }}"
- "{{ matrix_playbook_service_host_bind_interface_prefix }}{{ matrix_hookshot_metrics_port }}:{{ matrix_hookshot_metrics_port }}"
- "{{ matrix_playbook_service_host_bind_interface_prefix }}{{ matrix_hookshot_webhook_port }}:{{ matrix_hookshot_webhook_port }}"
- "{{ matrix_playbook_service_host_bind_interface_prefix }}{{ matrix_hookshot_provisioning_port }}:{{ matrix_hookshot_provisioning_port }}"
matrix_hookshot_container_http_host_bind_ports: "{{ matrix_hookshot_container_http_host_bind_ports_defaultmapping if matrix_playbook_service_host_bind_interface_prefix else [] }}"
@@ -2326,8 +2353,6 @@ matrix_hookshot_container_labels_traefik_docker_network: "{{ matrix_playbook_rev
matrix_hookshot_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_hookshot_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_hookshot_provisioning_enabled: "{{ matrix_hookshot_provisioning_secret and matrix_dimension_enabled }}"
matrix_hookshot_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}"
matrix_hookshot_metrics_proxying_enabled: "{{ matrix_hookshot_metrics_enabled and matrix_metrics_exposure_enabled }}"
@@ -2752,6 +2777,82 @@ matrix_postmoogle_container_additional_networks_auto: |-
#
######################################################################
######################################################################
#
# matrix-bridge-steam
#
######################################################################
# We don't enable bridges by default.
matrix_steam_bridge_enabled: false
matrix_steam_bridge_systemd_required_services_list_auto: |
{{
matrix_addons_homeserver_systemd_services_list
+
([postgres_identifier ~ '.service'] if (postgres_enabled and matrix_steam_bridge_database_hostname == postgres_connection_hostname) else [])
}}
matrix_steam_bridge_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_steam_bridge_docker_image_registry_prefix_upstream_default }}"
matrix_steam_bridge_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
matrix_steam_bridge_container_network: "{{ matrix_addons_container_network }}"
matrix_steam_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_steam_bridge_database_hostname == postgres_connection_hostname and matrix_steam_bridge_container_network != postgres_container_network) else [])
+
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network and matrix_steam_bridge_container_labels_traefik_enabled else [])
) | unique
}}
matrix_steam_bridge_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
matrix_steam_bridge_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_steam_bridge_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_steam_bridge_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_steam_bridge_container_labels_metrics_middleware_basic_auth_enabled: "{{ matrix_metrics_exposure_http_basic_auth_enabled }}"
matrix_steam_bridge_container_labels_metrics_middleware_basic_auth_users: "{{ matrix_metrics_exposure_http_basic_auth_users }}"
matrix_steam_bridge_appservice_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.as.token', rounds=655555) | to_uuid }}"
matrix_steam_bridge_homeserver_address: "{{ matrix_addons_homeserver_client_api_url }}"
matrix_steam_bridge_homeserver_token: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.hs.token', rounds=655555) | to_uuid }}"
matrix_steam_bridge_homeserver_async_media: "{{ matrix_homeserver_implementation in ['synapse'] }}"
matrix_steam_bridge_public_media_signing_key: "{{ ('%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.pub.key', rounds=655555) | to_uuid) if matrix_steam_bridge_public_media_enabled else '' }}"
matrix_steam_bridge_provisioning_shared_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'steam.prov', rounds=655555) | to_uuid }}"
matrix_steam_bridge_double_puppet_secrets_auto: |-
{{
({
matrix_steam_bridge_homeserver_domain: ("as_token:" + matrix_appservice_double_puppet_registration_as_token)
})
if matrix_appservice_double_puppet_enabled
else {}
}}
matrix_steam_bridge_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}"
matrix_steam_bridge_metrics_proxying_enabled: "{{ matrix_steam_bridge_metrics_enabled and matrix_metrics_exposure_enabled }}"
matrix_steam_bridge_metrics_proxying_hostname: "{{ matrix_metrics_exposure_hostname }}"
matrix_steam_bridge_metrics_proxying_path_prefix: "{{ matrix_metrics_exposure_path_prefix }}/matrix-steam-bridge"
matrix_steam_bridge_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}"
matrix_steam_bridge_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'mau.twt.db', rounds=655555) | to_uuid if postgres_enabled else '' }}"
######################################################################
#
# /matrix-bridge-steam
#
######################################################################
######################################################################
#
# matrix-bot-matrix-reminder-bot
@@ -3199,8 +3300,11 @@ matrix_bot_draupnir_config_rawHomeserverUrl: "{{ matrix_addons_homeserver_client
matrix_bot_draupnir_container_labels_traefik_enabled: "{{ matrix_bot_draupnir_config_web_enabled and matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
matrix_bot_draupnir_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_bot_draupnir_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_bot_draupnir_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_bot_draupnir_container_labels_web_abuseReporting_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
#The salt is size restricted here as a maximum salt size of 16 characters exists due to the functions used.
matrix_bot_draupnir_config_web_synapseHTTPAntispam_authorization: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'draupnir.httpmod', rounds=655555) | to_uuid }}" # noqa var-naming
######################################################################
#
@@ -3312,7 +3416,7 @@ backup_borg_storage_archive_name_format: matrix-{now:%Y-%m-%d-%H%M%S}
backup_borg_base_path: "{{ matrix_base_data_path }}/backup-borg"
backup_borg_username: "{{ matrix_user_username }}"
backup_borg_username: "{{ matrix_user_name }}"
backup_borg_uid: "{{ matrix_user_uid }}"
backup_borg_gid: "{{ matrix_user_gid }}"
@@ -3693,10 +3797,10 @@ etherpad_systemd_required_services_list_auto: |
([postgres_identifier ~ '.service'] if postgres_enabled else [])
}}
etherpad_database_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}"
etherpad_database_postgres_hostname: "{{ postgres_connection_hostname if postgres_enabled else '' }}"
etherpad_database_name: matrix_etherpad
etherpad_database_username: matrix_etherpad
etherpad_database_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'etherpad.db', rounds=655555) | to_uuid }}"
etherpad_database_postgres_username: matrix_etherpad
etherpad_database_postgres_password: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'etherpad.db', rounds=655555) | to_uuid }}"
######################################################################
#
@@ -3741,7 +3845,7 @@ jitsi_base_path: "{{ matrix_base_data_path }}/jitsi"
jitsi_uid: "{{ matrix_user_uid }}"
jitsi_gid: "{{ matrix_user_gid }}"
jitsi_user_username: "{{ matrix_user_username }}"
jitsi_user_username: "{{ matrix_user_name }}"
jitsi_web_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else jitsi_web_container_image_registry_prefix_upstream_default }}"
@@ -4378,6 +4482,12 @@ postgres_managed_databases_auto: |
'password': matrix_mx_puppet_groupme_database_password,
}] if (matrix_mx_puppet_groupme_enabled and matrix_mx_puppet_groupme_database_engine == 'postgres' and matrix_mx_puppet_groupme_database_hostname == postgres_connection_hostname) else [])
+
([{
'name': matrix_steam_bridge_database_name,
'username': matrix_steam_bridge_database_username,
'password': matrix_steam_bridge_database_password,
}] if (matrix_steam_bridge_enabled and matrix_steam_bridge_database_engine == 'postgres' and matrix_steam_bridge_database_hostname == postgres_connection_hostname) else [])
+
([{
'name': matrix_dimension_database_name,
'username': matrix_dimension_database_username,
@@ -4386,9 +4496,9 @@ postgres_managed_databases_auto: |
+
([{
'name': etherpad_database_name,
'username': etherpad_database_username,
'password': etherpad_database_password,
}] if (etherpad_enabled and etherpad_database_engine == 'postgres' and etherpad_database_hostname == postgres_connection_hostname) else [])
'username': etherpad_database_postgres_username,
'password': etherpad_database_postgres_password,
}] if (etherpad_enabled and etherpad_database_type == 'postgres' and etherpad_database_postgres_hostname == postgres_connection_hostname) else [])
+
([{
'name': prometheus_postgres_exporter_database_name,
@@ -4793,7 +4903,7 @@ matrix_client_fluffychat_self_check_validate_certificates: "{{ matrix_playbook_s
matrix_synapse_enabled: "{{ matrix_homeserver_implementation == 'synapse' }}"
matrix_synapse_username: "{{ matrix_user_username }}"
matrix_synapse_username: "{{ matrix_user_name }}"
matrix_synapse_uid: "{{ matrix_user_uid }}"
matrix_synapse_gid: "{{ matrix_user_gid }}"
@@ -4835,6 +4945,8 @@ matrix_synapse_container_additional_networks_auto: |
([exim_relay_container_network] if (exim_relay_enabled and matrix_synapse_email_enabled and matrix_synapse_email_smtp_host == exim_relay_identifier and matrix_synapse_container_network != exim_relay_container_network) else [])
+
([matrix_ma1sd_container_network] if (matrix_ma1sd_enabled and matrix_synapse_account_threepid_delegates_msisdn == matrix_synapse_account_threepid_delegates_msisdn_mas1sd_url and matrix_synapse_container_network != matrix_ma1sd_container_network) else [])
+
([matrix_bot_draupnir_container_network] if (matrix_synapse_ext_synapse_http_antispam_enabled and matrix_synapse_ext_synapse_http_antispam_config_base_url == matrix_bot_draupnir_synapse_http_antispam_config_base_url and matrix_bot_draupnir_container_network != matrix_synapse_container_network) else [])
) | unique
}}
@@ -4852,7 +4964,7 @@ matrix_synapse_container_labels_matrix_labels_enabled: "{{ not matrix_synapse_wo
matrix_synapse_container_labels_public_client_root_redirection_enabled: "{{ matrix_synapse_container_labels_public_client_root_redirection_url != '' }}"
matrix_synapse_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}"
matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled }}"
matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled or matrix_element_admin_enabled }}"
matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled: "{{ (matrix_bot_draupnir_enabled and matrix_bot_draupnir_admin_api_enabled) }}"
matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}"
@@ -4880,7 +4992,7 @@ matrix_synapse_tls_federation_listener_enabled: false
matrix_synapse_tls_certificate_path: ~
matrix_synapse_tls_private_key_path: ~
matrix_synapse_federation_port_openid_resource_required: "{{ not matrix_synapse_federation_enabled and (matrix_dimension_enabled or matrix_ma1sd_enabled or matrix_user_verification_service_enabled) }}"
matrix_synapse_federation_port_openid_resource_required: "{{ not matrix_synapse_federation_enabled and (matrix_dimension_enabled or matrix_ma1sd_enabled or matrix_user_verification_service_enabled or matrix_livekit_jwt_service_enabled) }}"
matrix_synapse_metrics_enabled: "{{ prometheus_enabled or matrix_metrics_exposure_enabled }}"
@@ -4909,7 +5021,7 @@ matrix_synapse_systemd_required_services_list_auto: |
+
(['matrix-goofys.service'] if matrix_s3_media_store_enabled else [])
+
(['matrix-authentication-service.service'] if (matrix_authentication_service_enabled and matrix_synapse_experimental_features_msc3861_enabled) else [])
(['matrix-authentication-service.service'] if (matrix_synapse_matrix_authentication_service_enabled and matrix_synapse_matrix_authentication_service_endpoint == matrix_authentication_service_http_base_container_url) else [])
}}
matrix_synapse_systemd_wanted_services_list_auto: |
@@ -4930,17 +5042,22 @@ matrix_synapse_app_service_config_files_auto: "{{ matrix_homeserver_app_service_
# Disable creation of media repository Synapse worker when using media-repo
matrix_synapse_ext_media_repo_enabled: "{{ matrix_media_repo_enabled }}"
matrix_synapse_ext_synapse_http_antispam_enabled: "{{ matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled }}"
matrix_synapse_ext_synapse_http_antispam_config_base_url: "{{ matrix_bot_draupnir_synapse_http_antispam_config_base_url if matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled else '' }}"
matrix_synapse_ext_synapse_http_antispam_config_authorization: "{{ matrix_bot_draupnir_config_web_synapseHTTPAntispam_authorization if matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled else '' }}"
matrix_synapse_ext_synapse_http_antispam_config_enabled_callbacks: "{{ matrix_bot_draupnir_synapse_http_antispam_config_enabled_callbacks if matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled else [] }}"
matrix_synapse_ext_synapse_http_antispam_config_fail_open: "{{ matrix_bot_draupnir_synapse_http_antispam_config_fail_open if matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled else {} }}"
matrix_synapse_ext_synapse_http_antispam_config_async: "{{ matrix_bot_draupnir_synapse_http_antispam_config_async if matrix_bot_draupnir_config_web_synapseHTTPAntispam_enabled else {} }}"
# Enable Synapse statistics reporting when using synapse-usage-exporter
matrix_synapse_report_stats: "{{ matrix_synapse_usage_exporter_enabled }}"
matrix_synapse_report_stats_endpoint: "{{ (('http://' + matrix_synapse_usage_exporter_identifier + ':' + matrix_synapse_usage_exporter_container_port | string + '/report-usage-stats/push') if matrix_synapse_usage_exporter_enabled else '') }}"
matrix_synapse_experimental_features_msc3266_enabled: "{{ matrix_rtc_enabled }}"
matrix_synapse_experimental_features_msc3861_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
matrix_synapse_experimental_features_msc3861_issuer: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}"
matrix_synapse_experimental_features_msc3861_client_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'syn.ngauth.cs', rounds=655555) | to_uuid }}"
matrix_synapse_experimental_features_msc3861_admin_token: "{{ matrix_authentication_service_config_matrix_secret if matrix_authentication_service_enabled else '' }}"
matrix_synapse_experimental_features_msc3861_account_management_url: "{{ matrix_authentication_service_account_management_url if matrix_authentication_service_enabled else '' }}"
matrix_synapse_matrix_authentication_service_enabled: "{{ matrix_authentication_service_enabled }}"
matrix_synapse_matrix_authentication_service_endpoint: "{{ matrix_authentication_service_http_base_container_url if matrix_authentication_service_enabled else '' }}"
matrix_synapse_matrix_authentication_service_secret: "{{ matrix_authentication_service_config_matrix_secret if matrix_authentication_service_enabled else '' }}"
matrix_synapse_experimental_features_msc4108_enabled: "{{ matrix_authentication_service_enabled and not matrix_authentication_service_migration_in_progress }}"
@@ -4952,7 +5069,7 @@ matrix_synapse_experimental_features_msc4222_enabled: "{{ matrix_rtc_enabled }}"
# Unless this is done, Synapse fails on startup with:
# > Error in configuration at 'password_config.enabled':
# > Password auth cannot be enabled when OAuth delegation is enabled
matrix_synapse_password_config_enabled: "{{ not matrix_synapse_experimental_features_msc3861_enabled }}"
matrix_synapse_password_config_enabled: "{{ not matrix_synapse_matrix_authentication_service_enabled }}"
matrix_synapse_register_user_script_matrix_authentication_service_path: "{{ matrix_authentication_service_bin_path }}/register-user"
@@ -4979,7 +5096,7 @@ matrix_synapse_auto_compressor_postgres_image: "{{ postgres_container_image_to_u
matrix_synapse_auto_compressor_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_auto_compressor_container_image_registry_prefix_upstream_default }}"
matrix_synapse_auto_compressor_container_image_self_build: "{{ matrix_architecture not in ['amd64'] }}"
matrix_synapse_auto_compressor_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
matrix_synapse_auto_compressor_container_network: "{{ (postgres_container_network if (postgres_enabled and matrix_synapse_auto_compressor_database_hostname == matrix_synapse_database_host and matrix_synapse_database_host == postgres_connection_hostname) else 'matrix-synapse-auto-compressor') }}"
@@ -5099,6 +5216,8 @@ matrix_synapse_admin_container_labels_traefik_docker_network: "{{ matrix_playboo
matrix_synapse_admin_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_synapse_admin_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_synapse_admin_config_externalAuthProvider: "{{ matrix_authentication_service_enabled | default(false) or matrix_synapse_ext_password_provider_ldap_enabled | default(false) }}"
matrix_synapse_admin_config_asManagedUsers_auto: |
{{
([
@@ -5234,7 +5353,7 @@ matrix_synapse_admin_config_asManagedUsers_auto: |
+
([
'^@'+(matrix_mautrix_telegram_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$',
'^@telegram_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$',
'^@'+(matrix_mautrix_telegram_username_template | regex_escape | replace('{userid}', '.+'))+':'+(matrix_domain | regex_escape)+'$',
] if matrix_mautrix_telegram_enabled else [])
+
([
@@ -5286,6 +5405,11 @@ matrix_synapse_admin_config_asManagedUsers_auto: |
'^@'+(matrix_wechat_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$',
'^@_wechat_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$',
] if matrix_wechat_enabled else [])
+
([
'^@'+(matrix_steam_bridge_appservice_bot_username | default('') | regex_escape)+':'+(matrix_domain | regex_escape)+'$',
'^@steam_[a-zA-Z0-9]+:'+(matrix_domain | regex_escape)+'$',
] if matrix_steam_bridge_enabled else [])
}}
######################################################################
@@ -5336,7 +5460,7 @@ prometheus_node_exporter_gid: "{{ matrix_user_gid }}"
prometheus_node_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
prometheus_node_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_node_exporter_docker_image_registry_prefix_upstream_default }}"
prometheus_node_exporter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_node_exporter_container_image_registry_prefix_upstream_default }}"
prometheus_node_exporter_container_network: "{{ matrix_monitoring_container_network }}"
@@ -5374,7 +5498,7 @@ prometheus_postgres_exporter_gid: "{{ matrix_user_gid }}"
prometheus_postgres_exporter_hostname: "{{ matrix_server_fqn_matrix }}"
prometheus_postgres_exporter_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_postgres_exporter_docker_image_registry_prefix_upstream_default }}"
prometheus_postgres_exporter_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else prometheus_postgres_exporter_container_image_registry_prefix_upstream_default }}"
prometheus_postgres_exporter_container_network: "{{ matrix_monitoring_container_network }}"
@@ -5640,6 +5764,7 @@ grafana_default_home_dashboard_path: |-
'dendrite': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
'conduit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
'conduwuit': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
'continuwuity': ('/etc/grafana/dashboards/node-exporter-full.json' if prometheus_node_exporter_enabled else ''),
}[matrix_homeserver_implementation]
}}
@@ -5700,6 +5825,7 @@ matrix_registration_shared_secret: |-
'dendrite': matrix_dendrite_client_api_registration_shared_secret | default (''),
'conduit': '',
'conduwuit': '',
'continuwuity': '',
}[matrix_homeserver_implementation]
}}
@@ -5977,6 +6103,58 @@ matrix_conduwuit_self_check_validate_certificates: "{{ matrix_playbook_ssl_enabl
######################################################################
######################################################################
#
# matrix-continuwuity
#
######################################################################
matrix_continuwuity_enabled: "{{ matrix_homeserver_implementation == 'continuwuity' }}"
matrix_continuwuity_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_continuwuity_config_allow_federation: "{{ matrix_homeserver_federation_enabled }}"
matrix_continuwuity_docker_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_continuwuity_docker_image_registry_prefix_upstream_default }}"
matrix_continuwuity_container_network: "{{ matrix_homeserver_container_network }}"
matrix_continuwuity_container_additional_networks_auto: |
{{
(
([matrix_playbook_reverse_proxyable_services_additional_network] if matrix_continuwuity_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network else [])
) | unique
}}
matrix_continuwuity_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] and not matrix_synapse_workers_enabled }}"
matrix_continuwuity_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_continuwuity_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_continuwuity_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_continuwuity_container_labels_public_client_root_redirection_enabled: "{{ matrix_continuwuity_container_labels_public_client_root_redirection_url != '' }}"
matrix_continuwuity_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}"
matrix_continuwuity_container_labels_public_federation_api_traefik_hostname: "{{ matrix_server_fqn_matrix_federation }}"
matrix_continuwuity_container_labels_public_federation_api_traefik_entrypoints: "{{ matrix_federation_traefik_entrypoint_name }}"
matrix_continuwuity_container_labels_public_federation_api_traefik_tls: "{{ matrix_federation_traefik_entrypoint_tls }}"
matrix_continuwuity_container_labels_internal_client_api_enabled: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled }}"
matrix_continuwuity_container_labels_internal_client_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}"
matrix_continuwuity_config_turn_uris: "{{ matrix_coturn_turn_uris if matrix_coturn_enabled else [] }}"
matrix_continuwuity_config_turn_secret: "{{ matrix_coturn_turn_static_auth_secret if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'auth-secret') else '' }}"
matrix_continuwuity_config_turn_username: "{{ matrix_coturn_lt_cred_mech_username if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}"
matrix_continuwuity_config_turn_password: "{{ matrix_coturn_lt_cred_mech_password if (matrix_coturn_enabled and matrix_coturn_authentication_method == 'lt-cred-mech') else '' }}"
matrix_continuwuity_self_check_validate_certificates: "{{ matrix_playbook_ssl_enabled }}"
######################################################################
#
# /matrix-continuwuity
#
######################################################################
######################################################################
#
# matrix-user-creator
@@ -6036,7 +6214,7 @@ matrix_user_creator_users_auto: |
([{
'username': matrix_bot_draupnir_login,
'initial_password': matrix_bot_draupnir_password,
'initial_type': 'bot',
'initial_type': ('admin' if matrix_bot_draupnir_admin_api_enabled else 'bot'),
}] if matrix_bot_draupnir_enabled and matrix_bot_draupnir_password else [])
}}
@@ -6131,7 +6309,7 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc3575_proxy_url: "{
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_enabled: "{{ matrix_authentication_service_enabled }}"
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_issuer: "{{ matrix_authentication_service_config_http_issuer if matrix_authentication_service_enabled else '' }}"
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_account: "{{ matrix_authentication_service_account_management_url }}"
matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authentication_account: "{{ matrix_authentication_service_account_management_url if matrix_authentication_service_enabled else '' }}"
matrix_static_files_file_matrix_client_property_m_tile_server_entries_enabled: "{{ matrix_client_element_location_sharing_enabled }}"
matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{ ('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element }}/map_style.json"
@@ -6263,6 +6441,45 @@ traefik_certs_dumper_container_image_registry_prefix_upstream: "{{ matrix_contai
# #
########################################################################
########################################################################
# #
# matrix-element-admin #
# #
########################################################################
# We don't enable this by default.
matrix_element_admin_enabled: false
matrix_element_admin_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'http' }}"
matrix_element_admin_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_element_admin_container_image_registry_prefix_upstream_default }}"
matrix_element_admin_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
matrix_element_admin_container_network: "{{ matrix_addons_container_network }}"
matrix_element_admin_container_additional_networks_auto: |-
{{
(
([] if matrix_addons_homeserver_container_network == '' else [matrix_addons_homeserver_container_network])
+
([matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_playbook_reverse_proxyable_services_additional_network and matrix_element_admin_container_labels_traefik_enabled) else [])
) | unique
}}
matrix_element_admin_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
matrix_element_admin_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}"
matrix_element_admin_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}"
matrix_element_admin_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}"
matrix_element_admin_systemd_required_services_list_auto: "{{ matrix_addons_homeserver_systemd_services_list }}"
######################################################################
# #
# /matrix-element-admin #
# #
######################################################################
########################################################################
# #
@@ -6276,6 +6493,8 @@ matrix_element_call_scheme: "{{ 'https' if matrix_playbook_ssl_enabled else 'htt
matrix_element_call_container_network: "{{ matrix_addons_container_network }}"
matrix_element_call_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_element_call_container_image_registry_prefix_upstream_default }}"
matrix_element_call_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (matrix_element_call_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}"
matrix_element_call_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}"
@@ -6311,6 +6530,8 @@ livekit_server_path_prefix: "/livekit-server"
livekit_server_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
livekit_server_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else livekit_server_container_image_registry_prefix_upstream_default }}"
livekit_server_container_network: "{{ matrix_addons_container_network }}"
livekit_server_container_additional_networks_auto: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if (livekit_server_container_labels_traefik_enabled and matrix_playbook_reverse_proxyable_services_additional_network) else [] }}"
@@ -6355,6 +6576,15 @@ livekit_server_config_keys_auto: |-
)
}}
# We only wish for matrix-livekit-jwt-service to create rooms, only for users on trusted homeservers.
# See `matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers`.
#
# Ref:
# - https://github.com/element-hq/lk-jwt-service/releases/tag/v0.3.0
# - https://github.com/livekit/livekit/blob/5e483e7554e5afbf254acf84e3ec0aa6e108e758/config-sample.yaml#L168-L170
# - https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server/commit/2a1b04552634097bdd26d472502a8f5bf1b8528f
livekit_server_config_room_auto_create: false
# The playbook intentionally uses a non-standard port than the default used by the role (5349),
# because Coturn is already using that port.
# Note that TURN is not enabled by default. See `livekit_server_config_turn_enabled`.
@@ -6414,6 +6644,8 @@ matrix_livekit_jwt_service_path_prefix: "/livekit-jwt-service"
matrix_livekit_jwt_service_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
matrix_livekit_jwt_service_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_livekit_jwt_service_container_image_registry_prefix_upstream_default }}"
matrix_livekit_jwt_service_container_network: "{{ matrix_addons_container_network }}"
matrix_livekit_jwt_service_container_additional_networks_auto: |
@@ -6432,6 +6664,8 @@ matrix_livekit_jwt_service_environment_variable_livekit_key: "{{ '%s' | format(m
matrix_livekit_jwt_service_environment_variable_livekit_secret: "{{ '%s' | format(matrix_homeserver_generic_secret_key) | password_hash('sha512', 'lk.secret', rounds=655555) | to_uuid }}"
matrix_livekit_jwt_service_environment_variable_livekit_full_access_homeservers_list: ["{{ matrix_domain }}"]
########################################################################
# #
# /matrix-livekit-jwt-service #

View File

@@ -20,7 +20,7 @@ Currently, we support translation of:
Organization of this `i18n` directory is as follows:
- [PUBLISHED_LANGUAGES](PUBLISHED_LANGUAGES): a list of languages that we publish translations for (in the [translations/](translations/) directory)
- [.gitignore](.gitignore): a list of files and directories to ignore in the `i18n` directory. We intentionaly ignore translated results (`translations/<language>` directories) for languages taht are still in progress. We only [publish translations in a new language](#publish-translations-in-a-new-language) when the translation progresses beyond a certain threshold.
- [.gitignore](.gitignore): a list of files and directories to ignore in the `i18n` directory. We intentionally ignore translated results (`translations/<language>` directories) for languages that are still in progress. We only [publish translations in a new language](#publish-translations-in-a-new-language) when the translation progresses beyond a certain threshold.
- [justfile](justfile): a list of recipes for [just](https://github.com/casey/just) command runner
- [requirements.txt](requirements.txt): a list of Python packages required to work with translations
- [translation-templates/](translation-templates/): a list of English translation templates - strings extracted from Markdown files

View File

@@ -0,0 +1,134 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2018-2025, Slavi Pantaleev, Aine Etke, MDAD community
# members
# This file is distributed under the same license as the
# matrix-docker-ansible-deploy package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-27 09:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: bg\n"
"Language-Team: bg <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../../docs/configuring-playbook-continuwuity.md:1
msgid "Configuring continuwuity (optional)"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:3
msgid "The playbook can install and configure the [continuwuity](https://continuwuity.org/) Matrix server for you."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:5
msgid "See the project's [documentation](https://continuwuity.org/) to learn what it does and why it might be useful to you."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:7
msgid "By default, the playbook installs [Synapse](https://github.com/element-hq/synapse) as it's the only full-featured Matrix server at the moment. If that's okay, you can skip this document."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:9
msgid "💡 **Note**: continuwuity is a fork of [conduwuit](./configuring-playbook-conduwuit.md), which the playbook also supports."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:11
msgid "⚠️ **Warnings**:"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:13
msgid "**You can't switch an existing Matrix server's implementation** (e.g. Synapse -> continuwuity). Proceed below only if you're OK with losing data or you're dealing with a server on a new domain name, which hasn't participated in the Matrix federation yet."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:15
msgid "**Homeserver implementations other than Synapse may not be fully functional**. The playbook may also not assist you in an optimal way (like it does with Synapse). Make yourself familiar with the downsides before proceeding"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:17
msgid "Adjusting the playbook configuration"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:19
msgid "To use continuwuity, you **generally** need to adjust the `matrix_homeserver_implementation: synapse` configuration on your `inventory/host_vars/matrix.example.com/vars.yml` file as below:"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:33
msgid "Extending the configuration"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:35
msgid "There are some additional things you may wish to configure about the server."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:37
msgid "Take a look at:"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:39
msgid "`roles/custom/matrix-continuwuity/defaults/main.yml` for some variables that you can customize via your `vars.yml` file"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:40
msgid "`roles/custom/matrix-continuwuity/templates/continuwuity.toml.j2` for the server's default configuration"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:42
msgid "There are various Ansible variables that control settings in the `continuwuity.toml` file."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:44
msgid "If a specific setting you'd like to change does not have a dedicated Ansible variable, you can either submit a PR to us to add it, or you can [override the setting using an environment variable](https://continuwuity.org/configuration#environment-variables) using `matrix_continuwuity_environment_variables_extension`. For example:"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:52
msgid "Creating the first user account"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:54
msgid "Unlike other homeserver implementations (like Synapse and Dendrite), continuwuity does not support creating users via the command line or via the playbook."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:56
msgid "If you followed the instructions above (see [Adjusting the playbook configuration](#adjusting-the-playbook-configuration)), you should have registration enabled and protected by a registration token."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:58
msgid "This should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:60
msgid "The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:63
msgid "Configuring bridges / appservices"
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:65
msgid "For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:67
msgid "For continuwuity, you will have to manually register appservices using the [`!admin appservices register` command](https://continuwuity.org/appservices#set-up-the-appservice---general-instructions) sent to the server bot account."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:69
msgid "The server's bot account has a Matrix ID of `@conduit:example.com` (not `@continuwuity:example.com`!) due to continuwuity's historical legacy. Your first user account would already have been invited to an admin room with this bot."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:72
msgid "Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`."
msgstr ""
#: ../../../docs/configuring-playbook-continuwuity.md:74
msgid "Then, send its content to the existing admin room:"
msgstr ""

View File

@@ -435,7 +435,7 @@ msgid "We **don't** ask you to [run the `syn2mas` migration advisor command](htt
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:340
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:342
@@ -535,7 +535,7 @@ msgid "you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and d
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401
msgid "To perform a real migration, run the `matrix-authentication-service-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_dry_run` variable:"
msgid "To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:"
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407

View File

@@ -434,7 +434,7 @@ msgid "We **don't** ask you to [run the `syn2mas` migration advisor command](htt
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:340
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:342
@@ -534,7 +534,7 @@ msgid "you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and d
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401
msgid "To perform a real migration, run the `matrix-authentication-service-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_dry_run` variable:"
msgid "To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:"
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407

View File

@@ -1,26 +1,26 @@
alabaster==1.0.0
babel==2.17.0
certifi==2025.1.31
charset-normalizer==3.4.1
click==8.1.8
docutils==0.21.2
idna==3.10
certifi==2025.10.5
charset-normalizer==3.4.4
click==8.3.0
docutils==0.22.2
idna==3.11
imagesize==1.4.1
Jinja2==3.1.6
linkify-it-py==2.0.3
markdown-it-py==3.0.0
MarkupSafe==3.0.2
mdit-py-plugins==0.4.2
markdown-it-py==4.0.0
MarkupSafe==3.0.3
mdit-py-plugins==0.5.0
mdurl==0.1.2
myst-parser==4.0.1
packaging==24.2
Pygments==2.19.1
PyYAML==6.0.2
requests==2.32.3
setuptools==78.1.0
snowballstemmer==2.2.0
packaging==25.0
Pygments==2.19.2
PyYAML==6.0.3
requests==2.32.5
setuptools==80.9.0
snowballstemmer==3.0.1
Sphinx==8.2.3
sphinx-intl==2.3.1
sphinx-intl==2.3.2
sphinx-markdown-builder==0.6.8
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
@@ -30,4 +30,4 @@ sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
tabulate==0.9.0
uc-micro-py==1.0.3
urllib3==2.3.0
urllib3==2.5.0

View File

@@ -430,7 +430,7 @@ msgid "We **don't** ask you to [run the `syn2mas` migration advisor command](htt
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:340
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)."
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:342
@@ -530,7 +530,7 @@ msgid "you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and d
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401
msgid "To perform a real migration, run the `matrix-authentication-service-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_dry_run` variable:"
msgid "To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:"
msgstr ""
#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407

View File

@@ -6,7 +6,7 @@
# Shows help
default:
@{{ just_executable() }} --list --justfile {{ justfile() }}
@{{ just_executable() }} --list --justfile "{{ justfile() }}"
# Pulls external Ansible roles
roles:
@@ -48,7 +48,7 @@ install-all *extra_args: (run-tags "install-all,ensure-matrix-users-created,star
# Runs installation tasks for a single service
install-service service *extra_args:
{{ just_executable() }} --justfile {{ justfile() }} run \
{{ just_executable() }} --justfile "{{ justfile() }}" run \
--tags=install-{{ service }},start-group \
--extra-vars=group={{ service }} \
--extra-vars=devture_systemd_service_manager_service_restart_mode=one-by-one {{ extra_args }}
@@ -62,7 +62,7 @@ run +extra_args:
# Runs the playbook with the given list of comma-separated tags and optional arguments
run-tags tags *extra_args:
{{ just_executable() }} --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }}
{{ just_executable() }} --justfile "{{ justfile() }}" run --tags={{ tags }} {{ extra_args }}
# Runs the playbook in user-registration mode
register-user username password admin_yes_or_no *extra_args:
@@ -73,15 +73,15 @@ start-all *extra_args: (run-tags "start-all" extra_args)
# Starts a specific service group
start-group group *extra_args:
@{{ just_executable() }} --justfile {{ justfile() }} run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }}
@{{ just_executable() }} --justfile "{{ justfile() }}" run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }}
# Stops all services
stop-all *extra_args: (run-tags "stop-all" extra_args)
# Stops a specific service group
stop-group group *extra_args:
@{{ just_executable() }} --justfile {{ justfile() }} run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
@{{ just_executable() }} --justfile "{{ justfile() }}" run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}
# Rebuilds the mautrix-meta-instagram Ansible role using the mautrix-meta-messenger role as a source
rebuild-mautrix-meta-instagram:
/bin/bash {{ justfile_directory() }}/bin/rebuild-mautrix-meta-instagram.sh {{ justfile_directory() }}/roles/custom
/bin/bash "{{ justfile_directory() }}/bin/rebuild-mautrix-meta-instagram.sh" "{{ justfile_directory() }}/roles/custom"

View File

@@ -4,37 +4,37 @@
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.0-1.9.13-1
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.3.0-4
version: v0.4.1-1
name: container_socket_proxy
- src: git+https://github.com/geerlingguy/ansible-role-docker
version: 7.4.7
version: 7.7.0
name: docker
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
version: 129c8590e106b83e6f4c259649a613c6279e937a
name: docker_sdk_for_python
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-etherpad.git
version: v2.3.0-0
version: v2.5.0-3
name: etherpad
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay.git
version: v4.98.1-r0-2-0
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.0-0
version: v11.6.5-3
name: grafana
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
version: v10169-0
version: v10532-1-0
name: jitsi
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
version: v1.8.4-5
version: v1.9.1-0
name: livekit_server
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-ntfy.git
version: v2.11.0-5
version: v2.14.0-2
name: ntfy
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git
version: 201c939eed363de269a83ba29784fc3244846048
version: 7663e3114513e56f28d3ed762059b445c678a71a
name: playbook_help
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git
version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6
@@ -43,35 +43,35 @@
version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16
name: playbook_state_preserver
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres.git
version: v17.4-0
version: v18.0-0
name: postgres
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup.git
version: v17-3
version: v18-0
name: postgres_backup
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git
version: v2.55.1-3
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-0
version: v1.9.1-11
name: prometheus_node_exporter
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter.git
version: v0.14.0-9
version: v0.18.1-0
name: prometheus_postgres_exporter
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
version: v1.4.0-0
version: v1.4.1-0
name: systemd_docker_base
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git
version: v1.0.0-4
name: systemd_service_manager
- src: git+https://github.com/devture/com.devture.ansible.role.timesync.git
version: v1.0.0-0
version: v1.1.0-0
name: timesync
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik.git
version: v3.3.5-0
version: v3.5.3-0
name: traefik
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-traefik-certs-dumper.git
version: v2.10.0-0
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.0.1-3
version: v8.1.4-0
name: valkey

View File

@@ -11,7 +11,7 @@
matrix_alertmanager_receiver_enabled: true
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
matrix_alertmanager_receiver_version: 2025.3.26
matrix_alertmanager_receiver_version: 2025.10.15
matrix_alertmanager_receiver_scheme: https
@@ -159,30 +159,20 @@ matrix_alertmanager_receiver_config_templating_external_url_mapping: {}
# "http://prometheus:8081": https://another.prometheus.example.com
matrix_alertmanager_receiver_config_templating_generator_url_mapping: {}
# Controls the `templating.computed-values` configuration setting.
matrix_alertmanager_receiver_config_templating_computed_values: "{{ matrix_alertmanager_receiver_config_templating_computed_values_default + matrix_alertmanager_receiver_config_templating_computed_values_auto + matrix_alertmanager_receiver_config_templating_computed_values_custom }}"
matrix_alertmanager_receiver_config_templating_computed_values_default:
- values: # always set 'color' to 'yellow'
color: yellow
- values: # set 'color' to 'orange' when alert label 'severity' is 'warning'
color: orange
when-matching-labels:
severity: warning
- values: # set 'color' to 'red' when alert label 'severity' is 'critical'
color: red
when-matching-labels:
severity: critical
- values: # set 'color' to 'green' when alert status is 'resolved'
color: green
when-matching-status: resolved
matrix_alertmanager_receiver_config_templating_computed_values_auto: []
matrix_alertmanager_receiver_config_templating_computed_values_custom: []
# Controls the `templating.firing-template` configuration setting.
matrix_alertmanager_receiver_config_templating_firing_template: |-
{% raw %}
{{ $color := "yellow" }}
{{ if eq .Alert.Labels.severity "warning" }}
{{ $color = "orange" }}
{{ else if eq .Alert.Labels.severity "critical" }}
{{ $color = "red" }}
{{ end }}
{{ if eq .Alert.Status "resolved" }}
{{ $color = "green" }}
{{ end }}
<p>
<strong><font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font></strong>
<strong><font color="{{ $color }}">{{ .Alert.Status | ToUpper }}</font></strong>
{{ if .Alert.Labels.name }}
{{ .Alert.Labels.name }}
{{ else if .Alert.Labels.alertname }}
@@ -211,7 +201,7 @@ matrix_alertmanager_receiver_config_templating_firing_template: |-
# Controls the `templating.resolved-template` configuration setting.
matrix_alertmanager_receiver_config_templating_resolved_template: |-
{% raw %}
<strong><font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font></strong>
<strong><font color="green">{{ .Alert.Status | ToUpper }}</font></strong>
{{ if .Alert.Labels.name }}
{{ .Alert.Labels.name }}
{{ else if .Alert.Labels.alertname }}

View File

@@ -10,8 +10,8 @@
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- path: "{{ matrix_alertmanager_receiver_base_path }}"
when: true
@@ -26,16 +26,16 @@
content: "{{ matrix_alertmanager_receiver_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_alertmanager_receiver_config_path }}/config.yml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure matrix-alertmanager-receiver support files installed
ansible.builtin.template:
src: "{{ role_path }}/templates/{{ item }}.j2"
dest: "{{ matrix_alertmanager_receiver_base_path }}/{{ item }}"
mode: 0640
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- labels
@@ -60,7 +60,7 @@
dest: "{{ matrix_alertmanager_receiver_container_src_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
become_user: "{{ matrix_user_name }}"
register: matrix_alertmanager_receiver_git_pull_results
- name: Ensure matrix-alertmanager-receiver container image is built

View File

@@ -7,7 +7,7 @@
ansible.builtin.fail:
msg: >
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and vars[item.name] == ''"
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_alertmanager_receiver_hostname', when: true}
- {'name': 'matrix_alertmanager_receiver_path_prefix', when: true}
@@ -21,6 +21,9 @@
ansible.builtin.fail:
msg: >-
The variable `{{ item.old }}` is deprecated. Please use `{{ item.new }}` instead.
when: "item.old in vars"
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_alertmanager_receiver_container_image_name_prefix', 'new': 'matrix_alertmanager_receiver_container_image_registry_prefix'}
- {'old': 'matrix_alertmanager_receiver_config_templating_computed_values', 'new': '<superseded by logic in the firing or resolved template; see https://github.com/metio/matrix-alertmanager-receiver/pull/94'}
- {'old': 'matrix_alertmanager_receiver_config_templating_computed_values_auto', 'new': '<superseded by logic in the firing or resolved template; see https://github.com/metio/matrix-alertmanager-receiver/pull/94'}
- {'old': 'matrix_alertmanager_receiver_config_templating_computed_values_custom', 'new': '<superseded by logic in the firing or resolved template; see https://github.com/metio/matrix-alertmanager-receiver/pull/94'}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
# configuration of the HTTP server
http:
address: 0.0.0.0 # bind address for this service. Can be left unspecified to bind on all interfaces
@@ -26,10 +26,6 @@ templating:
# value is the mapped value which will be available as '.GeneratorURL' in templates
generator-url-mapping: {{ matrix_alertmanager_receiver_config_templating_generator_url_mapping | to_json }}
# computation of arbitrary values based on matching alert annotations, labels, or status
# values will be evaluated top to bottom, last entry wins
computed-values: {{ matrix_alertmanager_receiver_config_templating_computed_values | to_json }}
# template for alerts in status 'firing'
firing-template: {{ matrix_alertmanager_receiver_config_templating_firing_template | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
[Unit]
Description=matrix-alertmanager-receiver
{% for service in matrix_alertmanager_receiver_systemd_required_services_list %}

View File

@@ -9,8 +9,8 @@
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- path: "{{ matrix_appservice_double_puppet_base_path }}"
when: true
@@ -23,5 +23,5 @@
content: "{{ matrix_appservice_double_puppet_registration_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_appservice_double_puppet_config_path }}/registration.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"

View File

@@ -7,7 +7,7 @@
ansible.builtin.fail:
msg: >
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and vars[item.name] == ''"
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_appservice_double_puppet_registration_as_token', when: true}
- {'name': 'matrix_appservice_double_puppet_registration_as_token', when: true}

View File

@@ -12,7 +12,7 @@
matrix_appservice_draupnir_for_all_enabled: true
# renovate: datasource=docker depName=gnuxie/draupnir
matrix_appservice_draupnir_for_all_version: "v2.2.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"
@@ -50,7 +50,7 @@ matrix_appservice_draupnir_for_all_systemd_wanted_services_list: []
# anyone in this room can use the bot - secure your room!
# This should be a room alias - not a matrix.to URL.
# Note: Draupnir is fairly verbose - expect a lot of messages from it.
# This room is diffrent for Appservice Mode compared to normal mode.
# This room is different for Appservice Mode compared to normal mode.
# In Appservice mode it provides functions like user management.
matrix_appservice_draupnir_for_all_config_adminRoom: "" # noqa var-naming

View File

@@ -16,8 +16,8 @@
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- {path: "{{ matrix_appservice_draupnir_for_all_base_path }}", when: true}
- {path: "{{ matrix_appservice_draupnir_for_all_config_path }}", when: true}
@@ -44,7 +44,7 @@
version: "{{ matrix_appservice_draupnir_for_all_docker_image.split(':')[1] }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
become_user: "{{ matrix_user_name }}"
register: matrix_appservice_draupnir_for_all_git_pull_results
when: "matrix_appservice_draupnir_for_all_container_image_self_build | bool"
@@ -64,24 +64,24 @@
content: "{{ matrix_appservice_draupnir_for_all_configuration_appservice | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-appservice.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure matrix-appservice-draupnir-for-all bot config installed
ansible.builtin.copy:
content: "{{ matrix_appservice_draupnir_for_all_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/production-bots.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure matrix-appservice-draupnir-for-all registration.yaml installed
ansible.builtin.copy:
content: "{{ matrix_appservice_draupnir_for_all_registration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_appservice_draupnir_for_all_config_path }}/draupnir-for-all-registration.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure matrix-appservice-draupnir-for-all container network is created
community.general.docker_network:

View File

@@ -20,7 +20,7 @@
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: "item.old in vars"
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_appservice_draupnir_for_all_docker_image_name_prefix', 'new': 'matrix_appservice_draupnir_for_all_docker_image_registry_prefix'}
- {'old': 'matrix_appservice_draupnir_for_all_enable_room_state_backing_store', 'new': 'matrix_appservice_draupnir_for_all_config_roomStateBackingStore_enabled'}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
[Unit]
Description=Matrix Draupnir for All appservice
{% for service in matrix_appservice_draupnir_for_all_systemd_wanted_services_list %}

View File

@@ -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: 0.14.1
matrix_authentication_service_version: 1.3.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/"
@@ -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 #
@@ -314,6 +332,24 @@ matrix_authentication_service_config_secrets_keys: |-
# #
########################################################################################
# Controls the resources exposed by the `web` HTTP listener.
matrix_authentication_service_config_http_listener_web_resources: "{{ matrix_authentication_service_config_http_listener_web_resources_default + matrix_authentication_service_config_http_listener_web_resources_auto + matrix_authentication_service_config_http_listener_web_resources_custom }}"
matrix_authentication_service_config_http_listener_web_resources_default: |-
{{
[
{'name': 'discovery'},
{'name': 'human'},
{'name': 'oauth'},
{'name': 'compat'},
{'name': 'graphql'},
{'name': 'assets'},
]
+
([{'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: []
# Controls the `http.public_base` configuration setting.
matrix_authentication_service_config_http_public_base: "https://{{ matrix_authentication_service_hostname }}{{ '/' if matrix_authentication_service_path_prefix == '/' else (matrix_authentication_service_path_prefix + '/') }}"
@@ -559,29 +595,34 @@ matrix_authentication_service_container_labels_additional_labels: ''
matrix_authentication_service_syn2mas_start_wait_time_seconds: 5
matrix_authentication_service_syn2mas_dry_run: false
# The syn2mas sub-command to run.
# Valid values: migrate, check
matrix_authentication_service_syn2mas_subcommand: migrate
# renovate: datasource=docker depName=ghcr.io/element-hq/matrix-authentication-service/syn2mas
matrix_authentication_service_syn2mas_version: 0.14.1
matrix_authentication_service_syn2mas_container_image: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix }}element-hq/matrix-authentication-service/syn2mas:{{ matrix_authentication_service_syn2mas_version }}"
matrix_authentication_service_syn2mas_container_image_registry_prefix: "{{ 'localhost/' if matrix_authentication_service_container_image_self_build else matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream }}"
matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream: "{{ matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default }}"
matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default: ghcr.io/
matrix_authentication_service_syn2mas_container_image_force_pull: "{{ matrix_authentication_service_syn2mas_container_image.endswith(':latest') }}"
matrix_authentication_service_syn2mas_container_image_self_build: "{{ matrix_authentication_service_container_image_self_build }}"
matrix_authentication_service_syn2mas_container_network: "{{ matrix_authentication_service_container_network }}"
# Whether to pass a `--dry-run` flag to the 'migrate' sub-command.
# See `matrix_authentication_service_syn2mas_subcommand`
matrix_authentication_service_syn2mas_migrate_dry_run: false
# Path to Synapse's homeserver.yaml configuration file.
matrix_authentication_service_syn2mas_synapse_homeserver_config_path: ""
# Additional arguments passed to the syn2mas process.
matrix_authentication_service_syn2mas_container_network: "{{ matrix_authentication_service_container_network }}"
# Additional options passed to the syn2mas sub-command (e.g. `mas-cli syn2mas [OPTIONS] migrate|check`).
# Also see: `matrix_authentication_service_syn2mas_subcommand_extra_options`
#
# Example:
# matrix_authentication_service_syn2mas_process_extra_arguments:
# - "--upstreamProviderMapping oidc-keycloak:01H8PKNWKKRPCBW4YGH1RWV279"
matrix_authentication_service_syn2mas_process_extra_arguments: []
# matrix_authentication_service_syn2mas_command_extra_options:
# - "--something"
matrix_authentication_service_syn2mas_command_extra_options: []
# Additional options passed to the syn2mas sub-command (e.g. `mas-cli syn2mas migrate|check [OPTIONS]`).
# Also see: `matrix_authentication_service_syn2mas_command_extra_options`
#
# Example:
# matrix_authentication_service_syn2mas_subcommand_extra_options:
# - "--dry-run"
matrix_authentication_service_syn2mas_subcommand_extra_options: []
########################################################################################
# #
@@ -604,6 +645,10 @@ matrix_authentication_service_syn2mas_process_extra_arguments: []
# - avoid setting up the "compatibility layer" (that is, avoid installing container labels that capture login endpoints like `/_matrix/client/*/login`, etc.)
matrix_authentication_service_migration_in_progress: false
# Controls whether the admin API is enabled.
# Ref: https://element-hq.github.io/matrix-authentication-service/topics/admin-api.html#enabling-the-api
matrix_authentication_service_admin_api_enabled: false
########################################################################################
# #
# /Misc #

View File

@@ -9,8 +9,8 @@
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- {path: "{{ matrix_authentication_service_base_path }}", when: true}
- {path: "{{ matrix_authentication_service_bin_path }}", when: true}
@@ -38,16 +38,16 @@
content: "{{ matrix_authentication_service_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_authentication_service_config_path }}/config.yaml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure Matrix Authentication Service support files created
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- src: "{{ role_path }}/templates/env.j2"
dest: "{{ matrix_authentication_service_config_path }}/env"
@@ -83,7 +83,7 @@
dest: "{{ matrix_authentication_service_container_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
become_user: "{{ matrix_user_name }}"
- name: Ensure Matrix Authentication Service container image is built
ansible.builtin.command:

View File

@@ -9,18 +9,33 @@
- setup-matrix-authentication-service
- install-all
- install-matrix-authentication-service
- matrix-authentication-service-mas-cli-syn2mas
block:
- when: matrix_authentication_service_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml"
- tags:
- setup-all
- setup-matrix-authentication-service
- install-all
- install-matrix-authentication-service
block:
- when: matrix_authentication_service_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/install.yml"
# The tag 'matrix-authentication-service-syn2mas' has been replaced by the tag 'matrix-authentication-service-mas-cli-syn2mas'.
- tags:
- matrix-authentication-service-syn2mas
block:
- name: Warn about deprecated tag
ansible.builtin.fail:
msg: "WARNING: The 'matrix-authentication-service-syn2mas' tag has been replaced by 'matrix-authentication-service-mas-cli-syn2mas'. Please update your command."
- tags:
- matrix-authentication-service-mas-cli-syn2mas
block:
- when: matrix_authentication_service_enabled | bool
ansible.builtin.include_tasks: "{{ role_path }}/tasks/syn2mas.yml"
ansible.builtin.include_tasks: "{{ role_path }}/tasks/mas_cli_syn2mas.yml"
- tags:
- matrix-authentication-service-mas-cli-doctor

View File

@@ -6,7 +6,7 @@
---
- ansible.builtin.set_fact:
matrix_authentication_service_syn2mas_dry_run: "{{ matrix_authentication_service_syn2mas_dry_run | bool }}"
matrix_authentication_service_syn2mas_migrate_dry_run: "{{ matrix_authentication_service_syn2mas_migrate_dry_run | bool }}"
- name: Abort, if not using Synapse
when: not matrix_synapse_enabled | bool
@@ -19,7 +19,7 @@
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and vars[item.name] | length == 0"
when: "item.when | bool and vars[item.name] | string | length == 0"
with_items:
- {'name': 'matrix_authentication_service_syn2mas_synapse_homeserver_config_path', when: true}
@@ -33,41 +33,8 @@
msg: "The Synapse homeserver config file does not exist at the specified path: {{ matrix_authentication_service_syn2mas_synapse_homeserver_config_path }}"
when: not matrix_authentication_service_syn2mas_synapse_config_stat.stat.exists
- name: Ensure Matrix Authentication Service syn2mas container image is pulled
community.docker.docker_image:
name: "{{ matrix_authentication_service_syn2mas_container_image }}"
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
force_source: "{{ matrix_authentication_service_syn2mas_container_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_authentication_service_syn2mas_container_image_force_pull }}"
when: "not matrix_authentication_service_syn2mas_container_image_self_build | bool"
register: result
retries: "{{ devture_playbook_help_container_retries_count }}"
delay: "{{ devture_playbook_help_container_retries_delay }}"
until: result is not failed
- when: "matrix_authentication_service_syn2mas_container_image_self_build | bool"
block:
- name: Ensure Matrix Authentication Service repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_authentication_service_container_repo }}"
version: "{{ matrix_authentication_service_container_repo_version }}"
dest: "{{ matrix_authentication_service_container_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
register: matrix_authentication_service_git_pull_results
- name: Ensure Matrix Authentication Service syn2mas container image is built
ansible.builtin.command:
cmd: |-
{{ devture_systemd_docker_base_host_command_docker }} buildx build
--tag={{ matrix_authentication_service_syn2mas_container_image }}
--file={{ matrix_authentication_service_container_src_files_path }}/tools/syn2mas/Dockerfile
{{ matrix_authentication_service_container_src_files_path }}/tools/syn2mas
changed_when: true
- name: Ensure Synapse is stopped
when: not matrix_authentication_service_syn2mas_dry_run | bool
when: not matrix_authentication_service_syn2mas_migrate_dry_run | bool
ansible.builtin.service:
name: matrix-synapse
state: stopped
@@ -81,14 +48,19 @@
#
# Still, it's probably safer to stop it anyway.
- name: Ensure Matrix Authentication Service is stopped
when: not matrix_authentication_service_syn2mas_migrate_dry_run | bool
ansible.builtin.service:
name: matrix-authentication-service
state: stopped
register: matrix_authentication_service_mas_ensure_stopped_result
# This is similar to the command found in the systemd service file.
#
# We cannot use `docker exec` with the existing Matrix Authentication Service container here,
# because we need an additional mount (the Synapse homeserver config).
- name: Generate syn2mas migration command
ansible.builtin.set_fact:
matrix_authentication_service_syn2mas_migration_command: >-
matrix_authentication_service_mas_cli_syn2mas_command: >-
{{ devture_systemd_docker_base_host_command_docker }} run
--rm
--name=matrix-authentication-service-syn2mas
@@ -96,14 +68,16 @@
--user={{ matrix_authentication_service_uid }}:{{ matrix_authentication_service_gid }}
--cap-drop=ALL
--network={{ matrix_authentication_service_syn2mas_container_network }}
--mount type=bind,src={{ matrix_authentication_service_config_path }}/config.yaml,dst=/config.yaml,ro
--mount type=bind,src={{ matrix_authentication_service_data_keys_path }},dst=/keys,ro
--mount type=bind,src={{ matrix_authentication_service_syn2mas_synapse_homeserver_config_path }},dst=/homeserver.yaml,ro
--mount type=bind,src={{ matrix_authentication_service_config_path }}/config.yaml,dst=/mas-config.yaml,ro
{{ matrix_authentication_service_syn2mas_container_image }}
--command=migrate
--synapseConfigFile=/homeserver.yaml
--masConfigFile=/mas-config.yaml
{{ matrix_authentication_service_syn2mas_process_extra_arguments | join(' ') }}
{% if matrix_authentication_service_syn2mas_dry_run | bool %}--dryRun{% endif %}
{{ matrix_authentication_service_container_image }}
syn2mas
--synapse-config=/homeserver.yaml
{{ matrix_authentication_service_syn2mas_command_extra_options | join(' ') }}
{{ matrix_authentication_service_syn2mas_subcommand }}
{{ '--dry-run' if matrix_authentication_service_syn2mas_migrate_dry_run and matrix_authentication_service_syn2mas_subcommand == 'migrate' else '' }}
{{ matrix_authentication_service_syn2mas_subcommand_extra_options | join(' ') }}
tags:
- skip_ansible_lint
@@ -111,33 +85,33 @@
# See: https://ansibledaily.com/print-to-standard-output-without-escaping/
#
# We want to run `debug: msg=".."`, but that dumps it as JSON and escapes double quotes within it,
# which ruins the command (`matrix_authentication_service_syn2mas_migration_command`).
# which ruins the command (`matrix_authentication_service_mas_cli_syn2mas_command`).
- name: Note about syn2mas migration
ansible.builtin.set_fact:
dummy: true
with_items:
- >-
Running syn2mas migration using the following command: `{{ matrix_authentication_service_syn2mas_migration_command }}`.
If this crashes, you can stop Synapse (`systemctl stop matrix-synapse`) and run the command manually.
Running syn2mas migration using the following command: `{{ matrix_authentication_service_mas_cli_syn2mas_command }}`.
If this crashes, you can stop Synapse (`systemctl stop matrix-synapse`), start Matrix Authentication Service (`systemctl start matrix-authentication-service`) and run the command manually.
- name: Perform syn2mas migration
ansible.builtin.command:
cmd: "{{ matrix_authentication_service_syn2mas_migration_command }}"
register: matrix_authentication_service_syn2mas_migration_command_result
changed_when: matrix_authentication_service_syn2mas_migration_command_result.rc == 0
cmd: "{{ matrix_authentication_service_mas_cli_syn2mas_command }}"
register: matrix_authentication_service_mas_cli_syn2mas_command_result
changed_when: matrix_authentication_service_mas_cli_syn2mas_command_result.rc == 0
- name: Print syn2mas migration command result
ansible.builtin.debug:
var: matrix_authentication_service_syn2mas_migration_command_result
var: matrix_authentication_service_mas_cli_syn2mas_command_result
- name: Ensure Synapse is started (if it previously was)
when: "not matrix_authentication_service_syn2mas_dry_run and matrix_authentication_service_synapse_ensure_stopped_result.changed"
when: "not matrix_authentication_service_syn2mas_migrate_dry_run and matrix_authentication_service_mas_cli_syn2mas_command_result.changed"
ansible.builtin.service:
name: matrix-synapse
state: started
- name: Ensure Matrix Authentication Service is started (if it previously was)
when: "not matrix_authentication_service_syn2mas_dry_run and matrix_authentication_service_mas_ensure_stopped_result.changed"
when: "not matrix_authentication_service_syn2mas_migrate_dry_run and matrix_authentication_service_mas_ensure_stopped_result.changed"
ansible.builtin.service:
name: matrix-authentication-service
state: started

View File

@@ -13,4 +13,4 @@
cmd: "{{ private_key_definition.generation_command | replace('__KEY_FILE_PATH__', matrix_authentication_service_private_key_file_path) }}"
creates: "{{ matrix_authentication_service_private_key_file_path }}"
become: true
become_user: "{{ matrix_user_username }}"
become_user: "{{ matrix_user_name }}"

View File

@@ -9,7 +9,7 @@
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and vars[item.name] | length == 0"
when: "item.when | bool and vars[item.name] | string | length == 0"
with_items:
- {'name': 'matrix_authentication_service_hostname', when: true}
- {'name': 'matrix_authentication_service_config_database_username', when: true}
@@ -40,7 +40,15 @@
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: "item.old in vars"
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_authentication_service_container_image_name_prefix', 'new': 'matrix_authentication_service_container_image_registry_prefix'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_name_prefix', 'new': 'matrix_authentication_service_syn2mas_container_image_registry_prefix'}
- {'old': 'matrix_authentication_service_syn2mas_container_image', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_registry_prefix', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_registry_prefix_upstream_default', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_force_pull', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_container_image_self_build', 'new': '<removed>'}
- {'old': 'matrix_authentication_service_syn2mas_process_extra_arguments', 'new': 'matrix_authentication_service_syn2mas_command_extra_options or matrix_authentication_service_syn2mas_subcommand_extra_options'}
- {'old': 'matrix_authentication_service_syn2mas_dry_run', 'new': 'matrix_authentication_service_syn2mas_migrate_dry_run'}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
#!/bin/bash
args=$@

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
#!/bin/bash
if [ $# -ne 3 ]; then

View File

@@ -1,14 +1,8 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
http:
listeners:
- name: web
resources:
- name: discovery
- name: human
- name: oauth
- name: compat
- name: graphql
- name: assets
resources: {{ matrix_authentication_service_config_http_listener_web_resources | to_json }}
binds:
- address: '[::]:8080'
proxy_protocol: false
@@ -73,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 }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_authentication_service_config_agents_static_definitions_anthropic_config_base_url | to_json }}
api_key: {{ matrix_authentication_service_config_agents_static_definitions_anthropic_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_authentication_service_config_agents_static_definitions_groq_config_base_url | to_json }}
api_key: {{ matrix_authentication_service_config_agents_static_definitions_groq_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_authentication_service_config_agents_static_definitions_mistral_config_base_url | to_json }}
api_key: {{ matrix_authentication_service_config_agents_static_definitions_mistral_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_authentication_service_config_agents_static_definitions_openai_config_base_url | to_json }}
api_key: {{ matrix_authentication_service_config_agents_static_definitions_openai_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
[Unit]
Description=Matrix Authentication Service
{% for service in matrix_authentication_service_systemd_required_services_list %}

View File

@@ -48,6 +48,9 @@ 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 to enable/disable relay mode across all bridges with relay mode support
matrix_bridges_relay_enabled: false
@@ -78,7 +81,7 @@ matrix_monitoring_container_network: matrix-monitoring
matrix_homeserver_enabled: true
# This will contain the homeserver implementation that is in use.
# Valid values: synapse, dendrite, conduit, conduwuit
# Valid values: synapse, dendrite, conduit, conduwuit, continuwuity
#
# By default, we use Synapse, because it's the only full-featured Matrix server at the moment.
#
@@ -158,7 +161,7 @@ matrix_federation_traefik_entrypoint_tls: true
# Recognized values by us are 'amd64', 'arm32' and 'arm64'.
# Not all architectures support all services, so your experience (on non-amd64) may vary.
# See docs/alternative-architectures.md
matrix_architecture: "{{ 'amd64' if ansible_architecture == 'x86_64' else ('arm64' if ansible_architecture == 'aarch64' else ('arm32' if ansible_architecture.startswith('armv') else '')) }}"
matrix_architecture: "{{ 'amd64' if ansible_facts.architecture == 'x86_64' else ('arm64' if ansible_facts.architecture == 'aarch64' else ('arm32' if ansible_facts.architecture.startswith('armv') else '')) }}"
# The architecture for Debian packages.
# See: https://wiki.debian.org/SupportedArchitectures
@@ -172,11 +175,15 @@ matrix_debian_arch: "{{ 'armhf' if matrix_architecture == 'arm32' else matrix_ar
# Example value: "registry.example.com/" (note the trailing `/`).
matrix_container_global_registry_prefix_override: ""
matrix_user_username: "matrix"
matrix_user_groupname: "matrix"
matrix_user_name: "matrix"
matrix_user_system: true
matrix_user_shell: /sbin/nologin
# By default, the playbook creates the user (`matrix_user_username`)
# and group (`matrix_user_groupname`) with a random ID.
matrix_group_name: "matrix"
matrix_group_system: true
# By default, the playbook creates the user (`matrix_user_name`)
# and group (`matrix_group_name`) with a random ID.
# To use a specific user/group ID, override these variables.
matrix_user_uid: ~
matrix_user_gid: ~
@@ -210,7 +217,7 @@ matrix_homeserver_container_url: "http://{{ matrix_homeserver_container_client_a
# Specifies where the homeserver's Client-Server API is on the container network (matrix_homeserver_container_network).
# Where this is depends on whether there's a reverse-proxy in front of the homeserver, which homeserver it is, etc.
# This likely gets overriden elsewhere.
# This likely gets overridden elsewhere.
matrix_homeserver_container_client_api_endpoint: ""
# Specifies where the homeserver's Federation API is on the container network (matrix_homeserver_container_network).
@@ -218,7 +225,7 @@ matrix_homeserver_container_federation_url: "http://{{ matrix_homeserver_contain
# Specifies where the homeserver's Federation API is on the container network (matrix_homeserver_container_network).
# Where this is depends on whether there's a reverse-proxy in front of the homeserver, which homeserver it is, etc.
# This likely gets overriden elsewhere.
# This likely gets overridden elsewhere.
matrix_homeserver_container_federation_api_endpoint: ""
# Specifies the public url of the Sync v3 (sliding-sync) API.

View File

@@ -6,11 +6,11 @@
# This is for both RedHat 7 and 8
- ansible.builtin.include_tasks: "{{ role_path }}/tasks/ensure_fuse_installed_redhat.yml"
when: ansible_os_family == 'RedHat'
when: ansible_facts.os_family == 'RedHat'
# This is for both Debian and Raspbian
- ansible.builtin.include_tasks: "{{ role_path }}/tasks/ensure_fuse_installed_debian.yml"
when: ansible_os_family == 'Debian'
when: ansible_facts.os_family == 'Debian'
- ansible.builtin.include_tasks: "{{ role_path }}/tasks/ensure_fuse_installed_archlinux.yml"
when: ansible_os_family == 'Archlinux'
when: ansible_facts.os_family == 'Archlinux'

View File

@@ -5,6 +5,6 @@
---
- name: Ensure fuse installed (RedHat)
ansible.builtin.yum:
ansible.builtin.package:
name: fuse
state: present

View File

@@ -17,8 +17,8 @@
path: "{{ item }}"
state: directory
mode: "{{ matrix_base_data_path_mode }}"
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- "{{ matrix_base_data_path }}"
- "{{ matrix_bin_path }}"

View File

@@ -7,20 +7,22 @@
- name: Ensure Matrix group is created
ansible.builtin.group:
name: "{{ matrix_user_groupname }}"
name: "{{ matrix_group_name }}"
gid: "{{ omit if matrix_user_gid is none else matrix_user_gid }}"
state: present
system: "{{ matrix_group_system }}"
register: matrix_group
- name: Ensure Matrix user is created
ansible.builtin.user:
name: "{{ matrix_user_username }}"
name: "{{ matrix_user_name }}"
uid: "{{ omit if matrix_user_uid is none else matrix_user_uid }}"
state: present
group: "{{ matrix_user_groupname }}"
group: "{{ matrix_group_name }}"
home: "{{ matrix_base_data_path }}"
create_home: false
system: true
system: "{{ matrix_user_system }}"
shell: "{{ matrix_user_shell }}"
register: matrix_user
- name: Initialize matrix_user_uid and matrix_user_gid

View File

@@ -13,14 +13,14 @@
- name: Fail if invalid homeserver implementation
ansible.builtin.fail:
msg: "You need to set a valid homeserver implementation in `matrix_homeserver_implementation`"
when: "matrix_homeserver_implementation not in ['synapse', 'dendrite', 'conduit', 'conduwuit']"
when: "matrix_homeserver_implementation not in ['synapse', 'dendrite', 'conduit', 'conduwuit', 'continuwuity']"
- name: (Deprecation) Catch and report renamed 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: "item.old in vars"
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'host_specific_hostname_identity', 'new': 'matrix_domain'}
- {'old': 'hostname_identity', 'new': 'matrix_domain'}
@@ -31,7 +31,11 @@
- {'old': 'matrix_client_element_e2ee_default', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_default'}
- {'old': 'matrix_client_element_e2ee_secure_backup_required', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required'}
- {'old': 'matrix_client_element_e2ee_secure_backup_setup_methods', 'new': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods'}
- {'old': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_required', 'new': '<removed; see https://github.com/element-hq/element-web/pull/30702 and https://github.com/element-hq/element-web/pull/30681>'}
- {'old': 'matrix_static_files_file_matrix_client_property_io_element_e2ee_secure_backup_setup_methods', 'new': '<removed; see https://github.com/element-hq/element-web/pull/30702 and https://github.com/element-hq/element-web/pull/30681>'}
- {'old': 'matrix_container_global_registry_prefix', 'new': '<no global variable anymore; you need to override the `_registry_prefix` variable in each component separately>'}
- {'old': 'matrix_user_username', 'new': 'matrix_user_name'}
- {'old': 'matrix_user_groupname', 'new': 'matrix_group_name'}
# We have a dedicated check for this variable, because we'd like to have a custom (friendlier) message.
- name: Fail if matrix_homeserver_generic_secret_key is undefined
@@ -62,7 +66,7 @@
- name: Fail if matrix_architecture is set incorrectly
ansible.builtin.fail:
msg: "Detected that variable matrix_architecture {{ matrix_architecture }} appears to be set incorrectly. See docs/alternative-architectures.md. Server appears to be {{ ansible_architecture }}."
msg: "Detected that variable matrix_architecture {{ matrix_architecture }} appears to be set incorrectly. See docs/alternative-architectures.md. Server appears to be {{ ansible_facts.architecture }}."
when: matrix_architecture not in ['amd64', 'arm32', 'arm64']
- name: Fail if matrix_playbook_reverse_proxy_type is set incorrectly
@@ -95,14 +99,14 @@
To get rid of this error, remove all `matrix_mx_puppet_*` references from your configuration.
To clean up your server from mx-puppet-skype's presence, see this changelog entry: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#mx-puppet-skype-removal.
If you still need bridging to Skype, consider switching to the go-skype bridge instead. See `docs/configuring-playbook-bridge-go-skype-bridge.md`.
when: "'matrix_mx_puppet_skype_enabled' in vars"
when: "lookup('ansible.builtin.varnames', '^matrix_mx_puppet_skype_enabled$', wantlist=True) | length > 0"
- name: Fail if mautrix-instagram and mautrix-meta-instagram are in conflict
ansible.builtin.fail:
msg: >-
Your configuration enables both the old mautrix-instagram bridge and the new mautrix-meta-instagram bridge.
By default, both bridges are configured to use the same bridge bot username (`@{{ matrix_mautrix_meta_instagram_appservice_username }}:{{ matrix_domain }}`) which is a conflict.
We recommend that you disable at least one of the bridges (preferrably the old mautrix-instagram bridge), or to resolve the conflict in another way.
We recommend that you disable at least one of the bridges (preferably the old mautrix-instagram bridge), or to resolve the conflict in another way.
To resolve the conflict without disabling a bridge, consider adjusting one of `matrix_mautrix_instagram_appservice_bot_username` or `matrix_mautrix_meta_instagram_appservice_username` - they both have a value of {{ matrix_mautrix_meta_instagram_appservice_username }} right now.
when:
- matrix_mautrix_instagram_enabled | bool

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
#!/bin/bash
if [ "$(id -u)" != "0" ]; then

View File

@@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
matrix_bot_baibot_version: v1.5.1
matrix_bot_baibot_version: v1.8.1
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
@@ -368,16 +368,16 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key: ""
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_enabled: true
# For valid model choices, see: https://platform.openai.com/docs/models
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-4o
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_model_id: gpt-5
# The prompt text to use (can be null or empty to not use a prompt).
# See: https://huggingface.co/docs/transformers/en/tasks/prompting
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
# The temperature parameter controls the randomness of the generated text.
# See: https://blogs.novita.ai/what-are-large-language-model-settings-temperature-top-p-and-max-tokens/#what-is-llm-temperature
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_temperature: 1.0
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: 16384
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: ~
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 128000
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_response_tokens: ~
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_completion_tokens: 128000
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_generation_max_context_tokens: 400000
matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_enabled: true
matrix_bot_baibot_config_agents_static_definitions_openai_config_speech_to_text_model_id: whisper-1
@@ -389,9 +389,10 @@ matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_
matrix_bot_baibot_config_agents_static_definitions_openai_config_text_to_speech_response_format: opus
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_enabled: true
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: dall-e-3
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: vivid
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: 1024x1024
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id: gpt-image-1
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style: null
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size: null
matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality: null
########################################################################################
# #

View File

@@ -10,8 +10,8 @@
path: "{{ item.path }}"
state: directory
mode: 0750
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
with_items:
- {path: "{{ matrix_bot_baibot_base_path }}", when: true}
- {path: "{{ matrix_bot_baibot_config_path }}", when: true}
@@ -24,15 +24,15 @@
content: "{{ matrix_bot_baibot_configuration | to_nice_yaml(indent=2, width=999999) }}"
dest: "{{ matrix_bot_baibot_config_path }}/config.yml"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
- name: Ensure baibot environment variables file created
ansible.builtin.template:
src: "{{ role_path }}/templates/env.j2"
dest: "{{ matrix_bot_baibot_config_path }}/env"
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_groupname }}"
owner: "{{ matrix_user_name }}"
group: "{{ matrix_group_name }}"
mode: 0640
- name: Ensure baibot container image is pulled
@@ -56,7 +56,7 @@
dest: "{{ matrix_bot_baibot_container_src_files_path }}"
force: "yes"
become: true
become_user: "{{ matrix_user_username }}"
become_user: "{{ matrix_user_name }}"
register: matrix_bot_baibot_git_pull_results
- name: Ensure baibot container image is built

View File

@@ -9,7 +9,7 @@
ansible.builtin.fail:
msg: >-
You need to define a required configuration setting (`{{ item.name }}`).
when: "item.when | bool and vars[item.name] == ''"
when: "item.when | bool and lookup('vars', item.name, default='') | string | length == 0"
with_items:
- {'name': 'matrix_bot_baibot_config_user_mxid_localpart', when: true}
- {'name': 'matrix_bot_baibot_config_user_password', when: true}
@@ -37,6 +37,6 @@
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: "item.old in vars"
when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0"
with_items:
- {'old': 'matrix_bot_baibot_container_image_name_prefix', 'new': 'matrix_bot_baibot_container_image_registry_prefix'}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_base_url | to_json }}
api_key: {{ matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_bot_baibot_config_agents_static_definitions_groq_config_base_url | to_json }}
api_key: {{ matrix_bot_baibot_config_agents_static_definitions_groq_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_base_url | to_json }}
api_key: {{ matrix_bot_baibot_config_agents_static_definitions_mistral_config_api_key | to_json }}

View File

@@ -1,4 +1,4 @@
#jinja2: lstrip_blocks: "True"
#jinja2: lstrip_blocks: True
base_url: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_base_url | to_json }}
api_key: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_api_key | to_json }}
@@ -35,4 +35,5 @@ image_generation:
model_id: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_model_id | to_json }}
style: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_style | to_json }}
size: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_size | to_json }}
quality: {{ matrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality | to_json }}
{% endif %}

Some files were not shown because too many files have changed in this diff Show More