1370 Commits

Author SHA1 Message Date
acf244ea26 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.6.25 2025-06-25 12:18:53 +03:00
133ba64375 Update nginx Docker tag to v1.29.0 2025-06-25 07:03:43 +03:00
bebaac886e Upgrade Jitsi (v10314-0 -> v10314-1) 2025-06-25 06:58:09 +03:00
b8ebe57558 Reference local configuring-playbook-user-verification-service.md docs file locally 2025-06-25 06:32:45 +03:00
93fffee6a4 Update gnuxie/draupnir Docker tag to v2.4.1 2025-06-24 06:09:26 +03:00
3be0449c35 Update matrixconduit/matrix-conduit Docker tag to v0.10.5 2025-06-23 20:34:50 +03:00
91817e8335 Update gnuxie/draupnir Docker tag to v2.4.0 2025-06-23 15:09:42 +03:00
772c248733 Update dependency Pygments to v2.19.2 2025-06-21 20:45:19 +03:00
185f9b5765 Update ghcr.io/etkecc/fluffychat-web Docker tag to v2 2025-06-21 05:17:02 +03:00
9289859673 Update dependency urllib3 to v2.5.0 2025-06-19 05:48:36 +03:00
279de764c8 Update Prerequisites to mention why sudo is required in all cases 2025-06-18 08:08:03 +03:00
cb2586f8b4 Upgrade Traefik (v3.4.1-0 -> v3.4.1-1) 2025-06-18 06:58:43 +03:00
b046292c10 Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.17.1 2025-06-17 22:57:26 +03:00
8f0ac84721 Update ghcr.io/element-hq/element-web Docker tag to v1.11.104 2025-06-17 22:49:37 +03:00
aada2d255f Upgrade Synapse (v1.131.0 -> v1.132.0) 2025-06-17 19:02:43 +03:00
3b425908da Update dependency grafana to v11.6.3-0 2025-06-17 15:42:54 +03:00
3092037a7e Update dock.mau.dev/mautrix/meta Docker tag to v0.5.1 2025-06-17 00:12:23 +03:00
048b8eb918 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.2 2025-06-17 00:12:06 +03:00
779eb0fc9a Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.2 2025-06-17 00:11:51 +03:00
6a1ebe6e91 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.4 2025-06-16 23:12:35 +03:00
30875764c5 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.3 2025-06-16 23:12:17 +03:00
15ed07d970 Update mautrix-discord, add support for msc4190 2025-06-16 22:59:55 +03:00
13d22af9db Update dependency certifi to v2025.6.15 2025-06-15 07:56:39 +03:00
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
3508c87aee Update dependency valkey to v8.1.2-0 2025-06-12 10:34:03 +03:00
868ee4d688 Synapse Admin v0.11.1-etke44 2025-06-11 15:16:04 +03:00
eb9af8fe32 SchildiChat v1.11.103-sc.0.test.0 2025-06-11 10:26:59 +03:00
27c0fa55f4 Update ajbura/cinny Docker tag to v4.8.1 2025-06-10 23:23:04 +03:00
e76b50a0b7 Upgrade baibot (v1.7.3 -> v1.7.4) 2025-06-10 16:40:02 +03:00
db8bee548d Update OpenAI model in sample baibot config (gpt-4o -> gpt-4.1)
Related to 69d6111354
2025-06-10 15:36:14 +03:00
adef970239 Upgrade baibot (v1.7.2 -> v1.7.3) 2025-06-10 15:35:07 +03:00
20e98fbb33 Update ghcr.io/element-hq/element-web Docker tag to v1.11.103 2025-06-10 15:31:43 +03:00
5dcdf8e9e2 Update default room version to 11 in line with the specification. 2025-06-10 15:31:03 +03:00
7aca61c5dd Update dependency requests to v2.32.4 [SECURITY] 2025-06-10 15:30:28 +03:00
5def3b176f make hookshot honor the matrix_bridges_encryption_enabled var 2025-06-07 13:22:27 +03:00
01c8b55c6f FluffyChat v1.27.0 2025-06-06 14:46:01 +03:00
9b8dab89df Update ghcr.io/element-hq/element-call Docker tag to v0.12.2 2025-06-06 08:26:08 +03:00
5701ce5054 Upgrade Jitsi (v10184-0 → v10314-0) 2025-06-06 08:15:09 +03:00
cabedeae73 Update dependency livekit_server to v1.9.0-0 2025-06-05 14:32:58 +03:00
3edad9d8d4 Update joseluisq/static-web-server Docker tag to v2.37.0 2025-06-04 07:51:29 +03:00
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
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
f9f5182919 Update ghcr.io/element-hq/element-web Docker tag to v1.11.102 2025-06-03 18:45:33 +00:00
25c20f16d4 Update ghcr.io/element-hq/synapse Docker tag to v1.131.0 2025-06-03 15:16:17 +00:00
95f6347974 Revert "register" to "registr"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
c9dfb1c877 Replace "proxies" with "proxy's"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
3653f9f89b Run codespell --write-changes
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
0152758f5d Replace PostgresSQL with PostgreSQL
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
05caaab302 Replace preffix with prefix
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
17e14a4b89 Enable pre-commit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
cb7db82fe9 Update dependency prometheus to v3.4.1-0 2025-06-01 10:40:17 +03:00
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
312b4826f0 Update matrixconduit/matrix-conduit Docker tag to v0.10.4 2025-05-31 00:07:41 +03:00
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
2c9aa1af9c Update gnuxie/draupnir Docker tag to v2.3.1 2025-05-30 00:19:40 +03:00
1dc404dc5f Update gnuxie/draupnir Docker tag to v2.3.0 2025-05-29 22:34:47 +03:00
2087c13a4e Update ghcr.io/element-hq/element-call Docker tag to v0.12.0 2025-05-28 17:06:43 +03:00
1c335da420 Update dependency traefik to v3.4.1-0 2025-05-27 23:24:41 +03:00
3ef1726a40 Update dependency setuptools to v80.9.0 2025-05-27 07:47:08 +03:00
d3172f0f32 Update ajbura/cinny Docker tag to v4.8.0 2025-05-24 23:40:52 +03:00
c97bb125c6 Update dependency grafana to v11.6.2-0 2025-05-23 10:29:12 +03:00
f36c776bc3 Add variables to control Continuwuity forbidden servers (#4339) 2025-05-22 10:56:25 +03:00
e16a644fa2 Update ajbura/cinny Docker tag to v4.7.1 2025-05-21 21:37:50 +03:00
777882b40f Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.5.21 2025-05-21 14:33:52 +03:00
8c9b95d68c Update dependency click to v8.2.1 2025-05-21 09:13:10 +03:00
429bbc1c7d Migrate config .github/renovate.json 2025-05-20 23:35:54 +03:00
5d0b0c98ae Update ghcr.io/element-hq/synapse Docker tag to v1.130.0 2025-05-20 23:35:33 +03:00
571b14eaf8 Update dependency setuptools to v80.8.0 2025-05-20 20:47:53 +03:00
d5d7adf4b5 Update ghcr.io/element-hq/element-web Docker tag to v1.11.101 2025-05-20 20:47:38 +03:00
3c08f008bc Update ghcr.io/element-hq/element-call Docker tag to v0.11.1 2025-05-19 15:42:30 +03:00
e818bbb373 Synapse Admin v0.10.4-etke41 2025-05-19 11:23:13 +03:00
0bd29b938a Update ajbura/cinny Docker tag to v4.7.0 2025-05-18 13:10:39 +03:00
a3c13c5786 Typo 2025-05-17 21:58:30 +03:00
b9121e7105 Update dependency prometheus to v3.4.0-1 2025-05-17 21:57:52 +03:00
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
1fdb3dd990 Update dependency maunium/synapse-http-antispam to v0.4.0 2025-05-16 19:07:34 +03:00
31effafc08 Update ghcr.io/element-hq/element-call Docker tag to v0.11.0 2025-05-16 19:06:57 +03:00
ecb7ccf8cc Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.1 2025-05-16 15:12:18 +03:00
14d4a58583 Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.1 2025-05-16 15:12:07 +03:00
fa35c3802d Update dock.mau.dev/mautrix/signal Docker tag to v0.8.3 2025-05-16 09:10:04 +03:00
ef5be1d138 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.2 2025-05-16 09:09:51 +03:00
37a35c039e Update dependency setuptools to v80.7.1 2025-05-15 08:40:44 +03:00
477bd98b15 Update dependency setuptools to v80.6.0 2025-05-15 08:36:51 +03:00
eb67e08d98 Update matrixconduit/matrix-conduit Docker tag to v0.10.3 2025-05-13 07:43:41 +03:00
757527bbd2 Update matrixdotorg/mjolnir Docker tag to v1.10.0 2025-05-13 07:43:12 +03:00
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
89599d464a Upgrade baibot (v1.7.1 -> v1.7.2) 2025-05-11 23:21:52 +03:00
8e5de2dc31 Upgrade baibot (v1.7.0 -> v1.7.1) 2025-05-11 22:26:01 +03:00
0c8137220d Update matrixconduit/matrix-conduit Docker tag to v0.10.2 2025-05-11 18:47:21 +03:00
90dcdf5261 Update dependency click to v8.2.0 2025-05-11 07:35:49 +03:00
3cb67f23ee FluffyChat v1.26.1 2025-05-10 14:21:02 +03:00
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
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
9adc5be572 Add atrix_bot_baibot_config_agents_static_definitions_openai_config_image_generation_quality 2025-05-10 12:29:02 +03:00
15e453039c Update dependency setuptools to v80.4.0 2025-05-10 07:24:27 +03:00
7afaba64f0 Synapse Admin v0.10.4-etke40 2025-05-09 23:39:14 +03:00
96f4670887 Update dependency snowballstemmer to v3.0.1 2025-05-09 22:32:05 +03:00
3d25bd70f8 Update matrixconduit/matrix-conduit Docker tag to v0.10.1 2025-05-09 22:31:54 +03:00
1fa2a2a615 Update matrixconduit/matrix-conduit Docker tag to v0.10.0 2025-05-09 17:42:34 +03:00
94d5182f4d Update dependency snowballstemmer to v3.0.0.1 2025-05-08 19:46:04 +03:00
14be193d20 Update dependency snowballstemmer to v3 2025-05-08 12:41:41 +03:00
4e0f031ebd Fix Synapse-HTTP-Antispam configuration error in Draupnir 2025-05-08 12:39:30 +03:00
360ee544a9 Make indentation level in roles/custom/matrix-bot-draupnir/defaults/main.yml consistent 2025-05-08 10:06:17 +03:00
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
ae87a3bb19 Fix port label to reflect proper protocol 2025-05-07 18:10:32 +03:00
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
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
43cb86ac8a Upgrade Traefik (v3.3.6-1 -> v3.4.0-0) 2025-05-07 09:03:08 +03:00
d1329edf71 Update ghcr.io/element-hq/synapse Docker tag to v1.129.0 2025-05-07 08:55:47 +03:00
025909e05b Update ghcr.io/element-hq/element-web Docker tag to v1.11.100 2025-05-06 19:36:41 +03:00
9f83f52ea9 Update dock.mau.dev/maubot/maubot Docker tag to v0.5.2 2025-05-06 07:25:31 +03:00
0b4b21660c Update dependency setuptools to v80.3.1 2025-05-05 07:55:07 +03:00
381b987e99 Update dependency setuptools to v80.3.0 2025-05-03 13:33:33 +03:00
026f4b3282 Update dependency setuptools to v80.2.0 2025-05-03 08:42:23 +03:00
4599fd7159 Upgrade Prometheus (v3.3.0-0 -> v3.3.1-0) 2025-05-03 08:41:01 +03:00
47ca615931 Update dependency charset-normalizer to v3.4.2 2025-05-02 16:52:25 +03:00
99221c35d8 Upgrade Grafana (v11.6.1-1 -> v11.6.1-2) 2025-05-01 21:36:05 +03:00
cfc02b542d fix container image registry prefix for element call, livekit server, and livekit jwt service 2025-05-01 17:19:36 +03:00
9a1f7165c2 fix grafana version var 2025-05-01 17:10:12 +03:00
f6725a9bfe Upgrade Grafana (v11.6.0-security-01-0 -> v11.6.1-0) 2025-05-01 14:32:10 +03:00
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
ae58880f0c Upgrade prometheus-node-exporter (v1.9.1-1 -> v1.9.1-3) 2025-05-01 10:04:41 +03:00
a638565580 Upgrade Prometheus (v2.55.1-3 -> v3.3.0-0) 2025-05-01 09:58:45 +03:00
0a6be12878 Update dependency setuptools to v80.1.0 2025-05-01 08:02:58 +03:00
20133def86 Indicate that responsibility for system updates is out-of-scope for this playbook 2025-04-30 09:50:38 +03:00
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
63c2e831a8 Update dependency setuptools to v80.0.1 2025-04-30 08:50:43 +03:00
0a6490ad46 Upgrade prometheus-postgres-exporter (v0.17.1-0 -> v0.17.1-1) 2025-04-30 08:46:53 +03:00
7fb0bff47d Upgrade prometheus-postgres-exporter (v0.14.0-9 -> v0.17.1-0) and adapt variables 2025-04-29 22:27:29 +03:00
37a7af52ab Upgrade prometheus-node-exporter (v1.9.1-0 -> v1.9.1-1) 2025-04-29 15:13:33 +03:00
32ca5bf55c Add warning about Reminder bot issues on Matrix Authentication Service docs page 2025-04-29 11:01:43 +03:00
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
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
3ee7deb2d7 Rename variable (matrix_user_groupname -> matrix_group_name) 2025-04-29 10:39:41 +03:00
9fc5cdab33 Rename variable (matrix_user_username -> matrix_user_name) 2025-04-29 10:39:41 +03:00
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
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
ffde4fcb80 Fix README Matrix badge 2025-04-28 12:20:11 +03:00
71ce8f792d Upgrade Valkey (v8.0.1-3 -> v8.1.1-0) 2025-04-28 08:53:22 +03:00
9476be0592 Upgrade Traefik (v3.3.6-0 -> v3.3.6-1) 2025-04-28 08:20:45 +03:00
feaa656fde Update dependency setuptools to v80 2025-04-27 22:38:55 +03:00
186d3dbd71 fluffychat v1.26.0 2025-04-27 21:31:15 +03:00
bcd50c8e08 fix continuwuity docker envs 2025-04-26 13:37:23 +03:00
1c39a67c0a Fix Continuwuity migration tag (conduwuit-migrate-from-continuwuity -> continuwuity-migrate-from-conduwuit) 2025-04-26 10:25:51 +03:00
5ea613a3f6 migrate_from_conduwuit ownership fix (#4278)
* migration ownership fix

* lint fix

* lint fixes
2025-04-26 09:54:46 +03:00
f0c48392fe Announce Continuwuity 2025-04-26 09:37:14 +03:00
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
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
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
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
6383b1b37a Update dependency certifi to v2025.4.26 2025-04-26 06:47:02 +03:00
41ac053912 Update ghcr.io/element-hq/element-call Docker tag to v0.10.0 2025-04-26 06:44:24 +03:00
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
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
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
74b8f78a7f Upgrade Traefik (v3.3.5-0 -> v3.3.6-0) 2025-04-24 18:11:17 +03:00
2b50a0e6a0 Update nginx Docker tag to v1.28.0 2025-04-24 09:23:13 +03:00
202be672a4 Update dependency setuptools to v79.0.1 2025-04-24 08:19:24 +03:00
57ea240060 Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.15.0 2025-04-23 20:47:23 +03:00
b719c3c11a Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.15.0 2025-04-23 20:46:42 +03:00
909bf8729e Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.4.23 2025-04-23 14:28:53 +03:00
38c9f47bb0 Update ghcr.io/element-hq/element-web Docker tag to v1.11.99 2025-04-23 14:28:43 +03:00
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
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
efb3072bc8 Update ghcr.io/element-hq/element-web Docker tag to v1.11.98 2025-04-23 08:21:59 +03:00
5c120397ab Update dependency setuptools to v79 2025-04-20 21:29:54 +03:00
3f19344e9d Update dependency setuptools to v78.1.1 2025-04-20 07:53:00 +03:00
f32633826a Update dependency packaging to v25 2025-04-19 17:28:51 +03:00
85d82eb1e4 Rework Draupnir report interception to accommodate other Web API uses. (#4221) 2025-04-17 22:47:16 +03:00
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
6915c7de12 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.12.0 2025-04-17 08:42:27 +03:00
de10cb2239 Update dock.mau.dev/mautrix/twitter Docker tag to v0.4.0 2025-04-17 08:41:35 +03:00
d48867c07e Update nginx Docker tag to v1.27.5 2025-04-16 21:48:54 +03:00
ef156614ec Update dock.mau.dev/mautrix/slack Docker tag to v0.2.1 2025-04-16 21:48:31 +03:00
c4da60c4e4 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.2 2025-04-16 16:15:03 +03:00
0d30d315e3 Update dock.mau.dev/mautrix/meta Docker tag to v0.4.6 2025-04-16 16:09:22 +03:00
1317e5632a Update dock.mau.dev/mautrix/discord Docker tag to v0.7.3 2025-04-16 16:08:52 +03:00
6ed5db1464 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.4.16 2025-04-16 09:09:04 +03:00
b35289cae8 Update howto-srv-server-delegation.md
Fix single typo Rraefik --> Traefik
2025-04-16 00:01:07 +03:00
222f877261 Honoroit v0.9.28 2025-04-14 22:51:01 +03:00
00cb1e5c0c Synapse Admin v0.10.3-etke39 2025-04-14 18:12:25 +03:00
e02dd74e3a Upgrade baibot (v1.5.1 -> v1.6.0) 2025-04-12 08:10:54 +03:00
08b68e93dc Update hif1/heisenbridge Docker tag to v1.15.3 2025-04-12 07:04:42 +03:00
60b291f197 Upgrade Jitsi (v10169-0 -> v10184-0) 2025-04-11 13:24:54 +03:00
8378e6f164 Update dependency urllib3 to v2.4.0 2025-04-10 22:46:43 +03:00
40dd8f7785 Add a section on guest accounts and Element Call 2025-04-10 12:54:54 +03:00
761e6d4cd6 Add matrix_dendrite_guests_disabled 2025-04-10 12:52:44 +03:00
7cb33c5519 Add support for easily installing the Matrix RTC stack, without the Element Call frontend (#4242) 2025-04-09 16:49:18 +03:00
bf2f293323 Do not auto-enable Valkey when Element Call is enabled
Not sure why we were doing this.

LiveKit Server may utilize Valkey, but we don't configure it this way,
so there's no need to do it.
2025-04-09 13:11:57 +03:00
81d6a2adca Update ghcr.io/element-hq/synapse Docker tag to v1.128.0 2025-04-08 19:33:31 +03:00
dd1170aa6d Update ghcr.io/element-hq/element-web Docker tag to v1.11.97 2025-04-08 19:33:23 +03:00
724e83efee Upgrade Jitsi (v10133-1-0 -> v10169-0) 2025-04-08 19:29:47 +03:00
5194fcd2aa Remove comments before locking threads
Necro-posting and notifying all subscribers for the purpose of preventing necro-posting is somewhat ironic
2025-04-08 11:45:06 +03:00
f7d2151607 Add lock-threads.yml
The action will be used to lock issues and PRs to prevent necro-posting on closed ones which have not had any activity in the past year.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-04-07 16:23:36 +03:00
5b7d8f4d42 Migrate config .github/renovate.json 2025-04-07 15:42:00 +03:00
3a414eda66 Upgrade ntfy (v2.11.0-4 -> v2.11.0-5) 2025-04-06 22:20:00 +03:00
42f7b9391e Upgrade LiveKit Server (v1.8.4-4 -> v1.8.4-5) and integrate with matrix_metrics_exposure_*, etc.
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4233

This doesn't make Prometheus automatically scrape metrics from LiveKit Server,
nor does it add a Grafana dashboard automatically, etc.

Still, it paves the way for that work being done.
2025-04-06 22:16:06 +03:00
a313b45583 updated etherpad (v2.2.7-4 -> v2.3.0-0); 2025-04-06 20:37:21 +03:00
678b1fc3e0 Add note about LiveKit Server's TURN being unable to work over IPv6 2025-04-06 18:56:06 +03:00
59ca77b792 Upgrade LiveKit Server (v1.8.4-3 -> v1.8.4-4) 2025-04-06 18:52:06 +03:00
5972f4c81a Auto-enable TURN support for LiveKit Server 2025-04-06 16:11:23 +03:00
b14b932af3 Upgrade LiveKit Server (v1.8.4-2 -> v1.8.4-3) 2025-04-06 16:09:51 +03:00
7fe25ef0fc Split matrix_coturn_systemd_required_services_list into _default, _auto and _custom 2025-04-06 15:36:51 +03:00
0aeb9a6b14 Fixed some documentation links 2025-04-05 09:45:29 +03:00
fac2d9c8ab Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.3 2025-04-04 23:05:23 +03:00
6f609944c7 Add missing stop/rm ExecStartPre tasks for matrix-mautrix-googlechat.service.j2 2025-04-04 13:16:00 +03:00
9ac8f1f531 Fixed ddclient dst path 2025-04-04 10:14:40 +03:00
f2f9472c4a Improved dynamic DNS 2025-04-04 10:14:40 +03:00
057bd168f4 Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.2 2025-04-02 21:32:06 +03:00
24c09745ee updated prometheus_node_exporter (v1.8.2-5 -> v1.9.1-0); 2025-04-02 11:47:06 +03:00
8a251a98e7 Update joseluisq/static-web-server Docker tag to v2.36.1 2025-04-02 08:23:25 +03:00
6036c4840b Update dependency traefik to v3.3.5-0 2025-04-01 17:25:45 +03:00
4158fda09e fix grafana var in group vars 2025-04-01 12:07:04 +03:00
4270a84ae1 Upgrade Grafana (v11.5.2-2 -> v11.6.0-0) 2025-04-01 11:01:20 +03:00
86dabd5521 Update ajbura/cinny Docker tag to v4.6.0 2025-03-31 18:39:59 +03:00
39c4ad4697 Upgrade baibot (v1.5.0 -> v1.5.1) 2025-03-31 15:10:08 +03:00
55e04609e3 Use default upstream healthcheck command for Element Web
Now that https://github.com/element-hq/element-web/pull/29471
is part of v1.11.96, we don't need to carry around this custom workaround.
2025-03-31 13:34:26 +03:00
2842276f54 Upgrade backup-borg (v1.4.0-1.9.13-0 -> v1.4.0-1.9.13-1) 2025-03-30 10:58:58 +03:00
e8c9a0e410 Randomize matrix-synapse-auto-compressor.timer start with a RandomizedDelaySec (defaults to 6h) 2025-03-29 10:34:37 +02:00
e1a2d427c6 Use multi-stage Dockerfile for building customized Synape
This also reverts e5574a405e because:
- it was causing issues on some servers (not clear why)
- such workarounds are no longer necessary when doing multi-stage building.
2025-03-29 08:01:27 +02:00
e5574a405e Install libldap-2.5 explicitly when installing synapse-s3-storage-provider to satisfy its psycopg2 dependency 2025-03-29 06:42:28 +02:00
64b3aeb1e0 Update ghcr.io/element-hq/element-call Docker tag to v0.9.0 2025-03-28 21:52:44 +02:00
a66858771f Typo in configuring-playbook-own-webserver.md
"briges" -> "bridges"
2025-03-27 09:20:51 +02:00
922fe13f30 Update Synapse from v1.127.0 to v1.127.1
This is a security patch for Synapse that fixes an actively exploited bug.
2025-03-27 00:16:36 +02:00
9acab1add3 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.26 2025-03-26 10:59:13 +02:00
01760a3ef7 Add renovate to element-call 2025-03-26 10:56:37 +02:00
eb3ee1e7a2 Update element call to v0.8.0 2025-03-26 10:56:37 +02:00
b0c82e9302 Update dependency setuptools to v78.1.0 2025-03-26 06:29:12 +02:00
1f87f382ab Update ghcr.io/element-hq/element-web Docker tag to v1.11.96 2025-03-25 18:42:36 +02:00
df8043ec20 Upgrade Synapse (v1.126.0 -> v1.127.0) 2025-03-25 15:58:28 +02:00
dc933fcc51 Update dependency setuptools to v78.0.2 2025-03-25 08:28:17 +02:00
0db3460fff Update dependency setuptools to v78 2025-03-24 18:08:51 +02:00
fae7efce6e Upgrade Jitsi (v10133-0 -> v10133-1) (#4208) 2025-03-24 13:35:12 +02:00
0ef97f4d85 Update dependency docker to v7.4.7 2025-03-24 09:11:35 +02:00
76703fe916 Update ghcr.io/element-hq/lk-jwt-service Docker tag to v0.2.1 2025-03-21 14:32:56 +02:00
53fdf71d43 Fix missing argument
Fix missing "reverse_proxy" argument line 35
2025-03-20 21:49:21 +02:00
8fa6f26852 Update dependency setuptools to v77.0.3 2025-03-20 17:35:51 +02:00
c0db11e262 Update dependency jitsi to v10133 2025-03-20 12:34:50 +02:00
29d24e6e88 Adapt docs to new Traefik environment variables variable name
Related to:

- d96ce10d57
- https://github.com/mother-of-all-self-hosting/ansible-role-traefik/pull/6
- https://github.com/mother-of-all-self-hosting/ansible-role-traefik/issues/5
2025-03-20 08:58:31 +02:00
d96ce10d57 Upgrade Traefik (v3.3.4-0 -> v3.3.4-1) 2025-03-20 08:57:33 +02:00
0b448faf9d Update dependency setuptools to v77 2025-03-20 08:33:25 +02:00
d635f664b5 Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.2 2025-03-19 19:27:16 +02:00
2aefcf6639 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.19 2025-03-19 12:53:00 +02:00
1e44fd8046 Upgrade ansible-role-docker (7.4.5 -> 7.4.6) 2025-03-19 06:43:09 +02:00
3e3fe21184 Clarify required ansible prefix in comments if adding become_password to hosts file. 2025-03-18 18:29:59 +02:00
052d494919 Update hif1/heisenbridge Docker tag to v1.15.2 2025-03-18 18:05:23 +02:00
60aa88992a add a note about postgres upgrade 2025-03-18 11:49:08 +02:00
feb343337a Update dependency setuptools to v76.1.0 2025-03-18 08:00:08 +02:00
bf2e2dab5a Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.1 2025-03-18 07:46:33 +02:00
bdd184242c Use boolean values for matrix_user_verification_service_uvs_disable_ip_blacklist 2025-03-17 19:09:40 +02:00
a32eec757b Don't host /.well-known/element/element.json file when Element Call is enabled
Various old guides mention this, but it seems like neither Element Web,
nor Element Desktop make use of it.

Element Web & Element Desktop use their own `config.json` configuration to figure out where
Element Call is.
2025-03-17 17:09:56 +02:00
e3b4128278 Update ghcr.io/matrix-org/rageshake Docker tag to v1.16.0 2025-03-17 14:58:53 +02:00
248463b58b Add Traefik labels to expose /.well-known/element on the matrix. domain
Some Element Call setup resources say that `/.well-known/element/element.json` should be served on the base domain
and should contain content like this:

```json
{
	"call": {
		"widget_url": "https://call.element.example.com"
	}
}
```

We were already generating the file via `matrix-static-files`, but weren't serving it yet.

This patch makes sure it's served on the `matrix.` domain, which allows
people to set up serving on the base domain via a redirect or reverse-proxying.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562
2025-03-17 07:51:04 +02:00
c9951194fe Fix merging of _auto and _custom into matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci so that a list is produced
`group_vars/matrix_servers` was correctly populating `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto` with a list, but:

- the defaults for these variables were hinting that hashmaps are necessary

- merging of `_auto` and `_custom` was done as if for hashmaps, not lists

As a result, `/.well-known/matrix/client` looked like this:

```json
{
	"org.matrix.msc4143.rtc_foci": {
		"livekit_service_url": "https://matrix.example.com/livekit-jwt-service",
		"type": "livekit"
	}
}
```

.. instead of what's expected as per MSC4143 (https://github.com/matrix-org/matrix-spec-proposals/pull/4143):

```json
{
	"org.matrix.msc4143.rtc_foci": [
		{
			"livekit_service_url": "https://matrix.example.com/livekit-jwt-service",
			"type": "livekit"
		}
	]
}
```

Regardless of our incorrectly formatted `org.matrix.msc4143.rtc_foci`
configuration in `/.well-known/matrix/client`, Element Web still seemed
to be able to discover LiveKit JWT Service (and by extension, LiveKit Server) correctly,
even without this fix.
2025-03-17 07:38:36 +02:00
723f86dc9c Update dock.mau.dev/mautrix/twitter Docker tag to v0.3.0 2025-03-17 07:05:16 +02:00
96282f7587 Update dock.mau.dev/mautrix/slack Docker tag to v0.2.0 2025-03-17 07:05:03 +02:00
87d4d8b1c5 Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.4 2025-03-17 07:02:17 +02:00
6eae4fbc64 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.1 2025-03-17 07:02:00 +02:00
e98a236e8c Update dock.mau.dev/mautrix/meta Docker tag to v0.4.5 2025-03-17 07:01:48 +02:00
fb004dfc75 Update dock.mau.dev/mautrix/gmessages Docker tag to v0.6.1 2025-03-16 20:51:11 +02:00
388aa8a5aa Update dock.mau.dev/mautrix/bluesky Docker tag to v0.1.1 2025-03-16 20:50:29 +02:00
bf058d772b Fix rogue missing _client_synapse in internal admin api 2025-03-15 12:04:53 +02:00
0710298030 Update docs: remove descriptions about the ensure-matrix-users-created
Apparently ensure-matrix-users-created is relevant only for components registered to "matrix_user_creator_users_auto" on group_vars/matrix_servers.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-15 09:58:43 +02:00
43514542bd Add comments to ensure-matrix-users-created
This change intends to explain how ensure-matrix-users-created and ensure-users-created are expected to work by default.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-15 09:58:43 +02:00
a0573e5855 Fix undefined variable usage in Draupnir config (matrix_bot_draupnir_config_enableMakeRoomAdminCommand -> matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand)
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3389
2025-03-15 09:29:16 +02:00
cd60cf1199 Internal Admin API and Draupnir Hjack Command Config (#3389)
* Enable Internal Admin API Access separately from Public access.

* Add Config variable for Draupnir Hijack command

And also make the internal admin API be automatically  activated when this capability is used.

* Apply suggestions from code review

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Further Refine Internal Admin API

* Add Non Worker Labels for Internal Admin API

* Variable Rename

* Add validation rules for Internal Synapse admin API

* Add Draupnir Admin API required config validation.

* Override `matrix_synapse_reverse_proxy_companion_container_labels_internal_client_synapse_admin_api_traefik_entrypoints` via group vars

* Wire `matrix_bot_draupnir_admin_api_enabled` to `matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand` in Draupnir's `defaults/main.yml`

* Remove unnecessary `matrix_bot_draupnir_admin_api_enabled` override from `group_vars/matrix_servers`

The same value is now (more appropriately) defined in Draupnir's `defaults/main.yml` file anyway.

* Add additional condition (`matrix_bot_draupnir_enabled`) for enabling `matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled`

* Use a separate task for validating `matrix_bot_draupnir_admin_api_enabled` when `matrix_bot_draupnir_config_admin_enableMakeRoomAdminCommand`

The other task deals with checking for null and not-blank and can't handle booleans properly.

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-15 09:14:55 +02:00
b2e6ce5a7f Update docs for some mautrix bridges: minor rewording
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-15 16:13:08 +09:00
9970603f15 Add Element Call support
This is an initial implementaton that's hasn't been battle-tested much.

Our LiveKit Server setup by default doesn't enable TURN, so connectivity
for NAT-ed clients may be subpar.

Squashed commit of the following:

commit d5c24fcafe
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:31:48 2025 +0200

    Upgrade LiveKit Server (v1.8.4-1 -> v1.8.4-2)

commit 4d61cc571b
Merge: 9c24064fb 9a231a815
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:19:05 2025 +0200

    Merge branch 'master' into element-call-integration

commit 9c24064fb6
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:14:49 2025 +0200

    Make Element Call fail during validation if on an unsupported architecture (like arm32)

commit a757b515fb
Merge: ba9cedbed 2a6b746ac
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:11:16 2025 +0200

    Merge branch 'master' into element-call-integration

commit ba9cedbeda
Merge: 4a638c2df f8f7ffc7d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 08:03:03 2025 +0200

    Merge branch 'master' into element-call-integration

commit 4a638c2df3
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:52:04 2025 +0200

    Prepare Element Call announcement text on the changelog

commit 155d5dad38
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:49:49 2025 +0200

    Mention the compatible clients on Element Call docs, more cross-linking & consistency fixes

commit 6b8a3fc891
Merge: 3ea1ea2f3 95dcaf6e2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Mar 15 07:38:02 2025 +0200

    Merge branch 'master' into element-call-integration

commit 3ea1ea2f34
Merge: d3913a015 60e2e035a
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 22:29:14 2025 +0200

    Merge branch 'master' into element-call-integration

commit d3913a015e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 20:04:18 2025 +0200

    Upgrade LiveKit Server (v1.8.4-0 -> v1.8.4-1)

commit ac7f96806d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:58:09 2025 +0200

    Relocate the livekit-server Ansible role to its own repository in the MASH organization

commit b8d800f6ef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:37:29 2025 +0200

    Add "Federation" as a prerequisite for Element Call (indirect, via LiveKit JWT Service)

    Ref:
    - https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2725250554
    - f5f5374c4b/main.go (L135-L146)

commit 2c1c49444a
Merge: 6bc0185d5 8e883a555
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Fri Mar 14 19:32:48 2025 +0200

    Merge branch 'master' into element-call-integration

commit 6bc0185d50
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Mar 13 09:43:22 2025 +0200

    Add Element Call, LiveKit Server and LiveKit JWT Service to `README.md`

    Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562#issuecomment-2720039742

commit a0470fe248
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:12:30 2025 +0200

    Minor rewording in LiveKit Server docs

commit d4ceebc6a9
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:12:22 2025 +0200

    Add Element Call, LiveKit Server and LiveKit JWT Service to `docs/container-images.md`

commit 6a86de958f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 19:05:51 2025 +0200

    Apply suggestions from code review

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit d9df022d55
Merge: 676f9dd9a 2f30886b1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 18:40:31 2025 +0200

    Merge branch 'master' into element-call-integration

commit 676f9dd9ad
Merge: 251561ff8 2be709e2c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 18:00:45 2025 +0200

    Merge branch 'master' into element-call-integration

commit 251561ff81
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:47:01 2025 +0200

    Simplify LiveKit Server role by removing unused/untested HTTP middleware variables

commit 1e60f41a59
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:44:00 2025 +0200

    Restore Element Call HTTP headers to more secure/privacy-respecting values

commit f8e84c4b2f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:43:34 2025 +0200

    Remove useless `matrix_element_call_port` variable

commit 3f5e8f656b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 17:35:30 2025 +0200

    Switch default LiveKit server endpoint to one under the `matrix.` domain and polish-up docs

commit 72118f2f03
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 16:56:06 2025 +0200

    Fix LiveKitServer middlware name (`matrix-livekit-server-server-slashless-redirect` -> `matrix-livekit-server-slashless-redirect`)

commit 585377975b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 16:51:10 2025 +0200

    Adjust LiveKit Server ports and exposure

commit 22ef579444
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 15:44:31 2025 +0200

    Make livekit-jwt-service communicate with livekit-server via public URLs

    Communicating via container URLs works, but the URL provided to
    livekit-jwt-service as `LIVEKIT_URL` is also passed to the user later
    and it must be a public one at that point.

    It'd be great if livekit-jwt-service can be given 2 different URLs
    (e.g. `LIVEKIT_URL` and `LIVEKIT_URL_PUBLIC`) and only announce the
    public one to the user, but there's no support for this yet.

commit 32f8c6de6e
Merge: 370feb740 79cc333be
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 15:27:42 2025 +0200

    Merge branch 'master' into element-call-integration

commit 370feb740f
Merge: 9a11e5e1f a9ee537f8
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 10:04:19 2025 +0200

    Merge branch 'master' into element-call-integration

commit 9a11e5e1fe
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:19:03 2025 +0200

    Auto-enable experimental Synapse features required by Element Call when Element Call is enabled

commit 8291b2f99d
Merge: 890f10f76 c5a03efdf
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:14:50 2025 +0200

    Merge branch 'master' into element-call-integration

commit 890f10f765
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 09:01:35 2025 +0200

    Make `matrix_livekit_jwt_service_public_url` respect `matrix_livekit_jwt_service_path_prefix`

commit 031cf68cbb
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:59:50 2025 +0200

    Remove unused `matrix_element_call_metrics_*` variables

commit 5961841e52
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:59:05 2025 +0200

    Make matrix-livekit-jwt-service role not reference foreign variables (except the matrix-base ones)

commit 2be4923aef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:56:15 2025 +0200

    Make Element Call role not reference foreign variables (except the matrix-base ones)

commit 23efad9cb7
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:51:52 2025 +0200

    Rework Element Call config.json templating

commit 6b55ba29ab
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:46:11 2025 +0200

    Make Element Call refuse a path prefix other than `/`

commit 0d1112638d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:05:42 2025 +0200

    Update LiveKit JWT service path prefix (`/lk-jwt-service` -> `/livekit-jwt-service`)

commit c3c2ba34b4
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:02:29 2025 +0200

    Split `matrix_element_call_systemd_required_services_list` into `_default`, `_auto` and `_custom`

commit 0215708f79
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 08:00:28 2025 +0200

    Remove some useless variables and rework environment variables variable for livekit-jwt-service

commit e1b57f3d45
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:56:47 2025 +0200

    Pin livekit-jwt-service to released (v0.2.0) and adapt configuration

commit de2a8f11d2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:46:51 2025 +0200

    `_name_prefix` -> `_registry_prefix` changes for LiveKit roles

commit 2a69ca35be
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:42:40 2025 +0200

    Clean up Element Call group vars vs defaults/main.yml mixup and make some minor LiveKit updates

commit 72d64cfa6b
Merge: f161c7c58 5dfbefd64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:03:53 2025 +0200

    Merge branch 'master' into element-call-integration

commit f161c7c58f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 07:03:00 2025 +0200

    Add newlines at end of files

commit 6c6b44dc25
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:58:00 2025 +0200

    Add license information to Element Call and LiveKit roles

commit 8eb1c57e2b
Merge: 61069d631 aa36acdef
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:36:48 2025 +0200

    Merge branch 'master' into element-call-integration

commit 61069d6313
Merge: 74d6a99b1 0b9389fd6
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:34:00 2025 +0200

    Merge branch 'element-call-integration' of github.com:wjbeckett/matrix-docker-ansible-deploy into element-call-integration

commit 74d6a99b1e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:32:22 2025 +0200

    Adjust names for Element Call tasks and make uninstallation more consistent with other roles

commit 81a30f17ac
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:29:39 2025 +0200

    Remove some superficial comments

commit 413d591562
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:27:11 2025 +0200

    Bring container-network-creation tasks up-to-date for Element Call and LiveKit-related services

commit 7572522820
Merge: 564275527 5ece1fea5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Wed Mar 12 06:24:34 2025 +0200

    Merge branch 'master' into element-call-integration

commit 0b9389fd64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:52 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 9a8a569431
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:29 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit bb403e1aee
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:43:15 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 74fbacbd9f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 17:42:54 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 5642755273
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 16:40:50 2024 +0200

    Rework LiveKit JWT Service role

commit bb925f4782
Merge: c57d0d192 ca8c1cf2b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Sat Nov 23 14:45:20 2024 +0200

    Merge branch 'master' into element-call-integration

commit c57d0d192d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:45:07 2024 +0200

    Eliminate remaining matrix references from LiveKit Server role

commit 006920882c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:38:23 2024 +0200

    Rename file (element-call-labels -> labels)

commit 69d702643f
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:36:55 2024 +0200

    Remove homeserver.yaml patching from Element Call role

commit 252ca52f60
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:32:15 2024 +0200

    Relocate /.well-known/element/element.json setup to matrix-static-files, instead of ugly patching from the Element Call role

commit 3f52cec25c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 19:17:30 2024 +0200

    Relocate Element Web features & element_call configuration to Element role, instead of ugly patching from the Element Call role

commit 7a6fcaa402
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:59:11 2024 +0200

    Fix typo

commit 394fdca066
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:54:29 2024 +0200

    Relocate org.matrix.msc4143.rtc_foci setup to /.well-known/matrix/client to matrix-static-files instead of ugly patching

commit f0466d5a99
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:19:36 2024 +0200

    Make LiveKit Server configuration extensible

commit be7271760e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:13:07 2024 +0200

    Make LiveKit Server logging config configurable

commit 8b84eb6390
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:04:53 2024 +0200

    Default LiveKit Server to a smaller RTC range for faster startup on non-host networks

commit 3e86adac0d
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 18:00:43 2024 +0200

    Fix port exposure for LiveKit Server

commit 721fb39aa2
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 17:28:06 2024 +0200

    More progress on the LiveKit role

commit 783d4a23f8
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:54:45 2024 +0200

    Add livekit_server_identifier

commit fa4ebd2a64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:37:01 2024 +0200

    Cleanups

commit 79ae704a24
Merge: 88d466845 c07b09390
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:31:50 2024 +0200

    Merge branch 'element-call-integration' of github.com:wjbeckett/matrix-docker-ansible-deploy into element-call-integration

commit c07b093902
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:34 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit c321ca160e
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:26 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 164be875b0
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:15 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 0f23e36e12
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:24:05 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 83bb546c64
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:55 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 3783922275
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:47 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 66cc36466c
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:36 2024 +0200

    Update docs/configuring-playbook-livekit-server.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit ec41c1aba5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:28 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit df6ef106d1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:18 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit eb048da8a1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:23:06 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit ccb29beb30
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:56 2024 +0200

    Update docs/configuring-playbook-jwt-service.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 32ea60fdc5
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:44 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 25a8cb3b4a
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:22:17 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 55da5c3213
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:21:55 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 925ebfbd4b
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:21:42 2024 +0200

    Update docs/configuring-playbook-element-call.md

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 88d4668450
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:16:43 2024 +0200

    Variable rename (livekit_server_image -> livekit_server_container_image) for consistency with other roles

commit 1838a541ae
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 16:15:54 2024 +0200

    Variables rename (matrix_livekit_server_ -> livekit_server_) to prepare for role extraction

commit 1e82530080
Merge: 82127830b 0c9fc4358
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:59:56 2024 +0200

    Merge branch 'master' into element-call-integration

commit 82127830b3
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:58:01 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/uninstall.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 85c0ffa9e1
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:51 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/uninstall.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit b691f39d39
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:44 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/install.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit 10df145101
Author: Slavi Pantaleev <slavi@devture.com>
Date:   Thu Nov 21 15:57:31 2024 +0200

    Update roles/custom/matrix-livekit-server/tasks/install.yml

    Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

commit fa2a913d39
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 16:20:54 2024 +1000

    fixing issue with element call domain not being expanded when writing the element web config.json.

commit e18b28136c
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 15:28:56 2024 +1000

    Updated Element call docs with dependent services and fixed typo.

commit 1906d61c39
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 13:25:40 2024 +1000

    updated traefik label to be in line with the latest change from devture_traefik_ to traefik_

commit b7e0a41134
Merge: a03f5985a d9a919a4b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Oct 3 13:20:02 2024 +1000

    Merge branch 'spantaleev:master' into element-call-integration

commit a03f5985a5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Thu Oct 3 12:38:34 2024 +1000

    removed trailing whitespaces

commit 1e6698cb99
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Oct 2 13:27:02 2024 +1000

    updated documentation or the new roles.

commit f684719b2a
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 22:30:09 2024 +1000

    fixed error with element client update task

commit a6e3203398
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 22:20:50 2024 +1000

    updated docs, broke the well-known and element client modifications out to separate tasks.

commit 2b4fdea70f
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 17:04:11 2024 +1000

    added header flags back in.

commit 6c8923ae28
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:51:06 2024 +1000

    removed headers.

commit 9691577b22
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:45:07 2024 +1000

    removed additinoal headers

commit 46109565e1
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 16:33:48 2024 +1000

    updated headers for each of the call services.

commit 4acb025130
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:35:53 2024 +1000

    testing livekit configuration

commit e421852af5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:09:00 2024 +1000

    updated jwt bind port

commit 5507fb3bab
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 13:08:21 2024 +1000

    added element-call config.json to systemd file

commit 9864996aad
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:46:37 2024 +1000

    adjusted jwt service ports for traefik

commit dbbaae4fbe
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:34:25 2024 +1000

    stopping the recursive loop

commit d53c2428b8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 12:29:35 2024 +1000

    updated jwt hostname.

commit f98a505df8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 11:00:56 2024 +1000

    changed jwt-service port label.

commit d5aabc85be
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:41:30 2024 +1000

    removed redis images in favor of the inbuilt keyDB

commit 7cdec5f251
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:17:34 2024 +1000

    fixed type in livekit image

commit fd2f505b34
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 10:00:30 2024 +1000

    Fixed typo in livekit server hostname

commit 812b57cfaa
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:54:02 2024 +1000

    resolved missing key.

commit b7b8ed573b
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:48:44 2024 +1000

    typo in livekit-server validate.

commit 97f93ebd76
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Tue Oct 1 09:31:42 2024 +1000

    renamed the livekit role and added livekit-server and jwt-service roles to the setup file.

commit 8cb7deff15
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 23:04:10 2024 +1000

    cleaned up old services again

commit 71dff50a65
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:53:21 2024 +1000

    fixed livekit service name

commit 58a9642e8c
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:45:56 2024 +1000

    fixed config file placement.

commit 3de399025f
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:41:36 2024 +1000

    hard coded redis port.

commit e952ba1c3a
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:35:59 2024 +1000

    removed duplicate tasks.

commit 8cb3e33bbf
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 22:20:46 2024 +1000

    separated livekit and jwt to separate roles

commit b907777ae5
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 13:13:29 2024 +1000

    fixing labels again.

commit cb41fb02ae
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 13:00:10 2024 +1000

    testing traefik labels again.

commit 31a138a6ba
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:47:42 2024 +1000

    fixed traefik router issues.

commit 6143ad7ffa
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:27:04 2024 +1000

    fix: removed the read-only tag from the element-call systemd file.

commit f762048a8d
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:15:27 2024 +1000

    fix: added missing labels to main.

commit 93650cf20e
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 12:02:45 2024 +1000

    fix: Type in the element-call main.yml

commit 9dbee212d8
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:37:08 2024 +1000

    fix: removed duplicate keys.

commit 1167e1ec13
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:17:34 2024 +1000

    fix: changed matrix server name to matrix domain in element-call config.

commit f036e18789
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Mon Sep 30 11:05:11 2024 +1000

    Fix: Restructured Element call configuration files.

commit a274d32c6d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:50:31 2024 +1000

    Removed serve function

commit 5db9a5c061
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:40:37 2024 +1000

    Removed env file

commit 2492672025
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:39:39 2024 +1000

    Update env.j2

commit a0917fa283
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:37:36 2024 +1000

    Update main.yml

commit 8b172cc194
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 12:35:38 2024 +1000

    Update env.j2

commit 63133d6599
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 11:53:26 2024 +1000

    Added serve command back in.

commit 5b8dcf32d5
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 11:42:34 2024 +1000

    Added element-call systemd services to the service manager.

commit 14614cb211
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:26:01 2024 +1000

    Update matrix-element-call.service.j2

commit 3c084e17d2
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:15:51 2024 +1000

    Update element-call-labels.j2-new

commit 089c5f14c8
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 10:00:40 2024 +1000

    Update jwt-service-labels.j2

commit b6571fc4fd
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:59:54 2024 +1000

    Update livekit-labels.j2

commit 6d6f9ab853
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:59:13 2024 +1000

    Added hostnames for livekit and jwt labels

commit 5730dbfc6e
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:54:01 2024 +1000

    Added hostname label

commit c14f9cdcb5
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:25:48 2024 +1000

    Update matrix_servers

commit 805b726c6d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:25:01 2024 +1000

    Update element-call-labels.j2

commit 5f49433f6c
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:15:21 2024 +1000

    Handle empty labels correctly.

commit 510cfb2dac
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:14:29 2024 +1000

    Update matrix_servers

commit 1721e85195
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 09:00:03 2024 +1000

    Corrected element call labels file name

commit 25909b1029
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:51:27 2024 +1000

    Update and rename labels.j2 to element-call-labels.j2

commit 3264408758
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:49:55 2024 +1000

    Rename element-call-labels.j2 to element-call-labels.j2-new

commit dd96b93d89
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:34:01 2024 +1000

    Update matrix-element-call.service.j2

commit df4bf4a0c9
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:23:24 2024 +1000

    Added tasks for moving the new labels files into place

commit 2f2cb8962e
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:19:26 2024 +1000

    Updated livekit labels

commit d2e2781d3b
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:18:27 2024 +1000

    Updated label file

commit 80763804f9
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:16:56 2024 +1000

    Updated label file

commit 1d7a60055c
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:10:06 2024 +1000

    Create jwt-service-labels.j2

commit 2cf471075d
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:09:32 2024 +1000

    Created livekit-labels.j2

commit 6a519bb053
Author: Backslash <wjbeckett@gmail.com>
Date:   Fri Sep 27 08:08:42 2024 +1000

    Created element-call-labels to separate the labels for each container

commit f0632b20eb
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 21:24:43 2024 +1000

    Added missing labels for sfu and jwt

commit 5cc9c70ba6
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 20:57:47 2024 +1000

    Remove serve command from matrix-element-call.service.j2

commit e34e5da9a4
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:57:39 2024 +1000

    Update matrix-redis.service.j2

commit 656d4275bc
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:48:06 2024 +1000

    Update install.yml

commit 6ef304b118
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:43:22 2024 +1000

    Update validate_config.yml

commit 85be68946c
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:30:15 2024 +1000

    Migrated from matrix_redis to redis_

commit 3f6c327da2
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:18:47 2024 +1000

    Update main.yml

commit ba54e549c4
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 19:08:09 2024 +1000

    Added well-known element directory

commit f2acc7430d
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:53:49 2024 +1000

    Create well_known_element.json.j2

commit 9cb236da30
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:50:48 2024 +1000

    Update install.yml

commit f38d6a0d88
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:39:03 2024 +1000

    Update main.yml

commit ac1295ac45
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 18:33:22 2024 +1000

    Create matrix-jwt-service.service.j2

commit bc2ed60762
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 17:23:03 2024 +1000

    Update main.yml

commit f7621283fd
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 16:31:23 2024 +1000

    Update labels.j2

commit e31e688a41
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:42:05 2024 +1000

    Update main.yml

commit a533ec4204
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:38:12 2024 +1000

    Update matrix_servers

commit f16ca24408
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 15:17:15 2024 +1000

    Update install.yml

commit e910d09ff1
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 14:52:30 2024 +1000

    Create matrix-redis.service.j2

commit bc9658c06b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 13:40:38 2024 +1000

    Create matrix-livekit.service.j2

commit 45c8a61f04
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 11:39:33 2024 +1000

    Migrating to systemd for container management

commit 954d46cfd7
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:25:49 2024 +1000

    Update labels.j2

commit dfeca192ab
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:23:26 2024 +1000

    Update redis.conf.j2

commit f306a47b83
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:22:29 2024 +1000

    Update livekit.yaml.j2

commit becdb0810c
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:18:55 2024 +1000

    Update config.json.j2

commit 37fd2e701d
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 09:15:07 2024 +1000

    Update env.j2 to support the new configuration

commit 68cc1f4b2b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 08:29:16 2024 +1000

    Simplified the validation step.

commit 5efc189293
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 08:12:06 2024 +1000

    Updated to support new structure

commit 02479e8bec
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 07:59:09 2024 +1000

    Updated with new structure.

commit 0eef094f2b
Author: Backslash <wjbeckett@gmail.com>
Date:   Thu Sep 26 06:51:36 2024 +1000

    Restructure install.yml to follow other roles more closely

commit 16ed788b3f
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 21:07:22 2024 +1000

    Update main.yml

commit 6364101410
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 20:20:20 2024 +1000

    Adding another debug task for testing the labels file.

commit 81735503f8
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 20:06:27 2024 +1000

    Added debug task to test labels configuration

commit 8644a7383e
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:22:21 2024 +1000

    Removed additional label loop

commit ce827e7953
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:09:13 2024 +1000

    Changed matrix_base_domain to matrix_domain

commit c93d30bcb8
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 19:07:03 2024 +1000

    Added matrix_server_name to the defaults

commit 90ea758c3b
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:39:26 2024 +1000

    Fixed regex for checking the hostname.

commit 350d4d4bcd
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:35:09 2024 +1000

    Fixed assertion block to remove jinja2 delimiters

commit fc6357a089
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 18:05:34 2024 +1000

    Update main.yml

commit 60f34cd7af
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 16:13:29 2024 +1000

    fixed matrix_redis for migration

commit d1ba784dde
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 15:01:53 2024 +1000

    added doc for setting up element call.

commit 434157eb98
Merge: 6594cce57 f657273cc
Author: Backslash <wjbeckett@gmail.com>
Date:   Wed Sep 25 14:55:42 2024 +1000

    Merge branch 'spantaleev:master' into element-call-integration

commit 6594cce570
Author: wjbeckett <wjbeckett@gmail.com>
Date:   Wed Sep 25 14:53:48 2024 +1000

    Feat: Added element call setup and configuration.
2025-03-15 08:34:48 +02:00
9a231a815d Fix duplicate variable override (matrix_wechat_container_image_registry_prefix_upstream) 2025-03-15 08:18:58 +02:00
2a6b746acd stdout_callback = yaml -> result_format = yaml
Fixes:

> [DEPRECATION WARNING]: community.general.yaml has been deprecated. The plugin has been superseded by the the option `result_format=yaml` in callback plugin ansible.builtin.default from ansible-core 2.13 onwards. This feature will be removed from
community.general in version 13.0.0. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

Ref:

- https://docs.ansible.com/ansible/latest/collections/community/general/yaml_callback.html
- https://docs.ansible.com/ansible/latest/collections/ansible/builtin/default_callback.html#parameter-result_format
2025-03-15 08:09:59 +02:00
f8f7ffc7dd Minor adjustment in docs/configuring-ipv6.md 2025-03-15 07:54:52 +02:00
95dcaf6e2d become* -> ansible_become* for inventory hosts 2025-03-15 07:28:52 +02:00
1c53f8dd1d introduce new synapse vars 2025-03-14 22:44:35 +02:00
60e2e035a2 Add matrix_synapse_rc_delayed_event_mgmt variable
Ref:
- c4747dd177/docs/self-hosting.md (a-matrix-homeserver)
- e39fe3bc7f
2025-03-14 22:29:08 +02:00
6077c7a1d6 Fix bug in marking Pantal and Rust Crypto as mutually exclusive. 2025-03-14 19:28:20 +02:00
8e883a5554 Fail if Synapse experimental feature QR code login (MSC4108) is enabled while Next-Gen Auth (MSC3861) is not 2025-03-14 19:06:37 +02:00
e073685632 Fix D4A Config Validation checking for old variable and fix docs ref 2025-03-14 13:06:47 +02:00
808d0202c7 Fix Rust Crypto variables being partially missed in Rename 2025-03-14 12:23:25 +02:00
0b39528ae3 Update docs/configuring-playbook-ssl-certificates.md: add the introduction of Update Kuma on the MASH playbook
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-14 12:22:49 +02:00
824c446920 Update docs/configuring-playbook-ssl-certificates.md: tidy up
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-14 12:22:49 +02:00
8637c1d7d7 Update docs/configuring-playbook-ntfy.md: add the instruction to log in to the account with authentication enabled
Copied from 6a9ef8c147/docs/services/ntfy.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-14 09:25:52 +02:00
bf1efda094 Add support for configuring Synapse's MSC4133 (Custom Profile Fields) (#4171)
* Add support for configuring Synapse's MSC4133 (Custom Profile Fields) experimental feature

* Reorder experimental_features in homeserver.yaml.j2 alphabetically

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-13 21:28:23 +02:00
166f412783 Modernise Draupnir Configuration Variable Names (#4170)
* Modernise Draupnir Configuration Variable Names

* Move Draupnir deprecation-check task before undefined-variables-check

* Fix trailing spaces in Draupnir's `validate_config.yml`

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-13 20:25:30 +02:00
0086ae7f58 Update D4A Configuration (#4166)
* Update D4A Configuration

D4A had some breaking config changes so this commit fixes them and gets us back into compliance with upstream. And since we run in a docker container we can use the /data/storage default.

* Update D4A Configuration to harmonise with bot mode

Change the default config for D4A to align with bot mode default in mdad. This should also avert a bit of a mess of a potential bug.

* Change D4A Room State Backing Store variable name and fix SPDX Headers

* Align D4A config with new schema

* Fix D4A Config Lint Error

* Update D4A SPDX Entries

* Do not use double quotes around `to_json` values

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-13 20:20:09 +02:00
dc581d0b7a Add ensure-users-created to the list of available tags on playbook-tags.md (#4169) 2025-03-13 07:04:56 +02:00
5bb8a36f34 Update Mjolnir Anti Spam module to latest and add Renovate 2025-03-13 06:20:20 +02:00
2f30886b19 Rework license information adding for $instagram_role_path/README.md to fix reuse lint 2025-03-12 18:40:23 +02:00
60bc3a9a7b Ensure container labels file is empty if nothing is exposed for mautrix-meta bridges
Without this, we get a warning message from Traefik:

> INF Could not create a router for the container: too many services providerName=docker

Possibly due to the multiple services defined there without a single
explicitly-defined router.
2025-03-12 18:35:13 +02:00
c9b2f2c995 Adjust bin/rebuild-mautrix-meta-instagram.sh script to add license headers and rebuild matrix-bridge-mautrix-meta-instagram with it 2025-03-12 18:34:24 +02:00
2be709e2ce Adjust some _registry_prefix_upstream variables in group_vars/matrix_servers to make them respect matrix_container_global_registry_prefix_override
Follow-up to 3492d31dca
2025-03-12 18:00:28 +02:00
3492d31dca Rename some leftover _name_prefix variables (to _registry_prefix) 2025-03-12 17:57:10 +02:00
5287b8ddeb Fix use of undefined variable matrix_authentication_service_container_image_name_prefix 2025-03-12 17:51:19 +02:00
893b237225 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.12 2025-03-12 14:20:27 +02:00
79cc333be2 Postmoogle v0.9.26 (crypto init fix) 2025-03-12 12:38:37 +02:00
1e8d9a0c24 Update docs/configuring-playbook-ntfy.md: add pronunciation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-12 17:55:29 +09:00
a9ee537f83 Only point matrix_synapse_report_stats_endpoint to matrix-synapse-usage-exporter if it's enabled
Fixup related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3442
2025-03-12 10:04:06 +02:00
c5a03efdf6 Increase default Synapse/rc_message rate limits
The new rate limits are more suitable for running Element Call.

Ref:

- 93ae2aed98/docs/self-hosting.md (a-matrix-homeserver)
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562

Instead of trying to increase them conditionally only when Element Call
is enabled, it's simpler and good-enough to just increase them in all cases.
2025-03-12 09:13:43 +02:00
63f81bf268 Add support for configuring Synapse's MSC4222 (adding state_after to sync v2) experimental feature
This is required by Element Call.

Ref:

- 93ae2aed98/docs/self-hosting.md (a-matrix-homeserver)
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562
2025-03-12 09:12:39 +02:00
f5a0be0a7b Add support for configuring Synapse's MSC4140 (Delayed Events) experimental feature
This is required by Element Call.

Ref:

- 93ae2aed98/docs/self-hosting.md (a-matrix-homeserver)
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562
2025-03-12 09:10:35 +02:00
4fb0b75942 Reorder Synapse config's experimental_features alphabetically 2025-03-12 09:05:59 +02:00
5dfbefd649 Fix comment indentation in examples/reverse-proxies/caddy2-in-container/docker-compose.yaml 2025-03-12 07:03:47 +02:00
aa36acdef1 Remove useless matrix_static_files_client_redirect_root_uri_to_domain variable definition 2025-03-12 06:36:24 +02:00
5ece1fea5a Update docs/configuring-playbook-ntfy.md: reflect the role's documentation
Based on 4e27dafc5c/docs/configuring-ntfy.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-12 06:15:10 +02:00
104bc63741 Fix docs/configuring-playbook-ntfy.md: link to the role's documentation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-12 06:15:10 +02:00
72f28474c2 Update roles/custom/matrix-client-element/templates/env.j2: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-12 12:29:49 +09:00
40732e3594 Upgrade Element Web (v1.11.94 -> v1.11.95) and patch healthcheck
Related to:

- https://github.com/element-hq/element-web/pull/29471
- 16f9e7dd46
2025-03-11 22:34:59 +02:00
a5d850d800 Add matrix_client_element_environment_variable_element_web_port and matrix_client_element_environment_variables_extension variables 2025-03-11 22:34:59 +02:00
e65d198841 Run Element Web in tightened/read-only mode without a custom nginx config
Newer Element Web versions allow for the nginx port to be
overriden, etc., and provide instructions for running in read-only mode.

This makes our custom `nginx.conf` patches unnecessary.

Passing the correct `ELEMENT_WEB_PORT` environment variable
also helps with future changes.

Another benefit of this (besides keeping closer to upstream
recommendations and the improved simplicity) is that:

- the container can run its entrypoint env-substitutions code now,
  without reporting errors

- IPv6 for nginx works, so `matrix-client-element:8080` is accessible
  via IPv6 on the container network now
  (this affects only for Traefik's communicaton with Element Web
  internally; public connectivity was handled by Traefik and IPv6 was
  available there even before)

Ref:

- 2052080d7d/docs/install.md (docker)
- https://github.com/element-hq/element-web/pull/28849
- https://github.com/element-hq/element-web/pull/28840
2025-03-11 22:32:35 +02:00
16f9e7dd46 Revert "Upgrade Element Web (v1.11.94 -> v1.11.95)"
This reverts commit 178f7a9fff.

Element v1.11.95 doesn't seem to work. The container starts and is
unhealthy.

Until this is investigated and fixed, reverting.
2025-03-11 19:26:00 +02:00
bda63024ee Upgrade Synapse (v1.125.0 -> v1.126.0) 2025-03-11 19:14:37 +02:00
178f7a9fff Upgrade Element Web (v1.11.94 -> v1.11.95) 2025-03-11 19:14:08 +02:00
1313f1e414 Make base domain root path redirect also handle URLs with query strings (passing them along)
Previously `https://example.com` and `https://example.com/` would be
redirected to `https://matrix.example.com`.

However, `https://example.com/?something` was not handled and was tried
to be served as a file by matrix-static-files for this base domain.

From now on, paths containing query strings will be handled as well
and the query string will be passed along.
Example: `https://example.com/?something` -> `https://matrix.example.com/?something`
2025-03-11 19:07:33 +02:00
ccab72aa2e Postmoogle v0.9.25 2025-03-10 17:59:07 +02:00
96adaf9916 Update ghcr.io/matrix-org/rageshake Docker tag to v1.15.0 2025-03-10 10:39:16 +02:00
fe71555dbc Update docs: configuring-playbook-ntfy.md and others (#4160)
* Update docs/configuring-playbook-ntfy.md: adopt the same description format as documentation for Jitsi and Etherpad

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md: introduction and other edits

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md: fix the link to the ansible-role-ntfy's documentation

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md: edit the list item

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md: the section for the web app

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md: re-add the note about subscribing to a notification topic

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs: links to MASH project and its components

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ntfy.md

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Update docs/configuring-playbook-ntfy.md: create a section for the web app

- Remove the reasoning on why the web app is disabled by default as it is uncommon among the playbook's documentation
- Add the link to the official documentation about using the web app

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-10 10:36:17 +02:00
7e24667fc7 Upgrade traefik-certs-dumper (v2.8.3-7 -> v2.10.0-0) 2025-03-10 07:14:50 +02:00
82c5afd214 Upgrade ntfy (v2.11.0-3 -> v2.11.0-4) 2025-03-10 07:08:49 +02:00
c291d53d3e Update docs/configuring-playbook-prometheus-grafana.md: warning message (#4159) 2025-03-09 18:27:49 +02:00
87bdaf5bfe Update dependency setuptools to v76 2025-03-09 16:26:06 +02:00
35dd8e46cd Adjust /etc/docker/daemon.json cleanup comment with link to ansible-role-docker PR 2025-03-09 16:22:46 +02:00
6d6fd4bf85 Add license information to roles/custom/matrix_playbook_migration/tasks/docker_daemon_options_file_cleanup.yml 2025-03-09 16:07:01 +02:00
e33ed912cb Reorder matrix_playbook_docker_installation_daemon_options* variables a bit 2025-03-09 16:04:18 +02:00
bd073bca74 Remove /etc/docker/daemon.json when no Docker options are set anymore 2025-03-09 16:03:15 +02:00
5aa8bf9c3d Merge pull request #4157 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.9.1
2025-03-09 07:22:34 +02:00
74b85d5b87 Update dependency setuptools to v75.9.1 2025-03-09 05:19:13 +00:00
281da3eab4 Merge pull request #4156 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.9.0
2025-03-09 07:18:35 +02:00
90d83bb5bc Update docs/configuring-playbook-email.md: minor edit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-09 12:59:31 +09:00
52c75604c1 Update dependency setuptools to v75.9.0 2025-03-09 01:37:42 +00:00
ce90df519e docs/configuring-playbook-ipv6.md -> docs/configuring-ipv6.md 2025-03-08 15:42:50 +02:00
d92a091523 Merge pull request #4155 from luixxiul/fix
Update docs/configuring-playbook-email.md: copy from the ansible-role…
2025-03-08 15:30:52 +02:00
ffa1ff67eb Recommend IPv6 enablement by default to all users
Follow-up to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3218
2025-03-08 15:22:13 +02:00
40446e341b Update docs/configuring-playbook-email.md: copy from the ansible-role-exim-relay role's document and edit
Based on eac4201a02/docs/configuring-exim-relay.md

- Add instruction to enable DKIM
- Replace the recommendation to use another SMTP server as relay, as DKIM has become available on exim-relay and configuring it greatly improves deliverability

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-08 21:36:14 +09:00
c90e40b24d Upgrade exim-relay (v4.98.1-r0-1-0 -> v4.98.1-r0-2-0) 2025-03-08 07:36:55 +02:00
a1ee35e8ea Merge pull request #4154 from Iruwen/feature/experimental-msc3266
Enable room summary API (MSC3266) support for Synapse
2025-03-06 17:47:24 +02:00
55e47d69db Enable room summary API (MSC3266) support for Synapse to support Element X clients 2025-03-06 14:48:23 +01:00
f6ba56e15d Merge pull request #4151 from spantaleev/renovate/jinja2-3.x
Update dependency Jinja2 to v3.1.6
2025-03-06 07:07:36 +02:00
247ef546ba Merge pull request #4152 from spantaleev/dependabot/pip/i18n/jinja2-3.1.6
Bump jinja2 from 3.1.5 to 3.1.6 in /i18n
2025-03-06 07:05:18 +02:00
820acce224 Bump jinja2 from 3.1.5 to 3.1.6 in /i18n
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 04:46:44 +00:00
a72d017e47 Update dependency Jinja2 to v3.1.6 2025-03-05 22:34:23 +00:00
1c68fd0d9b Make matrix-synapse-reverse-proxy-companion not report "502 Bad Gateway" when Synapse workers restart
Since nginx 1.27.3, we can make use of the `resolve` parameter for an `upstream`'s `server`,
to allow DNS resolution to happen continuously at runtime, not just once during startup.

Previously, this was not possible to do in an `upstream` block without
an nginx-plus subscription. Outside of an `upstream` block, we've used
and still use `set $backend ..` workarounds to get DNS resolution at
runtime, but now we can do it in `upstream` as well.
2025-03-05 21:24:43 +02:00
db993c5bb3 Merge pull request #4150 from luixxiul/fix
Update docs/configuring-playbook-s3.md: add links to Storj and edit t…
2025-03-05 20:58:29 +02:00
36f00c82e7 Update docs/configuring-playbook-s3.md: add links to Storj and edit the section for other S3-compatible storage providers
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-06 00:50:26 +09:00
60bc545d0e Synapse Admin v0.10.3-etke38 2025-03-05 15:24:00 +02:00
c63660ede2 Merge pull request #4149 from luixxiul/fix
Add REUSE compliant badge on README.md
2025-03-05 09:40:29 +02:00
0bad96ac90 Add REUSE compliant badge on README.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 16:03:27 +09:00
d4c007dffd Re-run reuse annotate for roles/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 16:03:16 +09:00
7944036343 Merge pull request #4148 from spantaleev/renovate/docker.io-metio-matrix-alertmanager-receiver-2025.x
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.5
2025-03-05 08:31:43 +02:00
a103fa63a9 Merge pull request #4147 from spantaleev/renovate/ajbura-cinny-4.x
Update ajbura/cinny Docker tag to v4.5.1
2025-03-05 08:31:33 +02:00
b391a96e78 Merge pull request #4146 from luixxiul/patch-2
Update validate_config.yml files
2025-03-05 08:30:34 +02:00
bf0918ae58 Merge branch 'master' into patch-2 2025-03-05 08:29:35 +02:00
ae661b991e Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.3.5 2025-03-05 06:28:02 +00:00
91130c8a1c Update ajbura/cinny Docker tag to v4.5.1 2025-03-05 06:27:58 +00:00
a2bc87a585 Merge pull request #4145 from luixxiul/fix
Add license information to the rest of the files to make the project REUSE compliant
2025-03-05 08:27:49 +02:00
9c21067cd5 Merge pull request #4144 from luixxiul/patch-3
Update docs/configuring-playbook.md: update the instruction to use git
2025-03-05 08:27:26 +02:00
b4ce0274c9 Update validate_configs.yml for riot-web and ma1sd: adopt the common instruction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:36:57 +09:00
c18fc93a22 Update validate_config.yml files: edit the banner message for variables name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:30:50 +09:00
cdc12e0ecb Update validate_config.yml for migration: adopt a common instruction to variables which should be removed
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:29:36 +09:00
219cd7702d Update validate_config.yml for migration: adopt a common instruction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:28:24 +09:00
06ffbb3681 Update validate_config.yml for migration: adopt a simpler description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:28:12 +09:00
d2fe3bc5b6 Update validate_config.yml for migration: add blank lines between messages where expected
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:27:45 +09:00
2da6e4bac2 Update validate_config.yml for migration: add instruction to check docs/maintenance-upgrading-services.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:27:30 +09:00
5e07de1d85 Update validate_config.yml for migration: edit the instructions to update Ansible roles
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:27:13 +09:00
e4d98811cf Update validate_config.yml for migration: replace instructions for renaming prefixed variables
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:23:01 +09:00
2ae6b5d82b Update validate_config.yml for migration: replace instructions for renaming variables
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:21:33 +09:00
28d6862b7d Update validate_config.yml for migration: use a common instruction for renaming variables
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:21:06 +09:00
cbc1927711 Update validate_config.yml for migration: add a hint to update Ansible roles
This commit adds the hint to fetch Ansible roles which have been replaced, as it is pretty easy to overlook necessity of doing so, especially if you had not enabled (and disabled thereafter) roles, whose variable names has been changed.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:19:25 +09:00
416d560ffe Add GitHub Action "REUSE Compliance Check"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 13:01:11 +09:00
f5492e3727 Fix license year on matrix-bot-baibot.service.j2.license
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 12:43:52 +09:00
c385bee7af Re-run "reuse annotate" to sort statements
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 12:43:41 +09:00
2997fd9eef Add license information to files in group_vars
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 12:37:37 +09:00
3f0082e56b Update docs/configuring-playbook.md: update the instruction to use git
This is based on 5facc06a3c/docs/configuring-playbook.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 12:15:48 +09:00
374d19c4d4 Merge pull request #4143 from luixxiul/fix
Add license information to various files
2025-03-04 20:33:27 +02:00
0223289180 Update REUSE.toml: sort an item
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:21 +09:00
318b3b7d40 Add license information for obtain_admin_access_token_element_web.png
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:17 +09:00
818794bd83 Add license information for CHANGELOG.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:13 +09:00
13d54c3504 Update main.yml for matrix-client-cinny: fix a copyright year
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:09 +09:00
e3b17186ce Update docs/faq.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:05 +09:00
d467c5f54f Update docs/configuring-playbook-s3.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:27:00 +09:00
c72b8f1726 Update docs/configuring-playbook-traefik.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:55 +09:00
0996b3098f Update docs/configuring-playbook-riot-web.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:49 +09:00
825cef5f04 Update docs/configuring-playbook-prometheus-grafana.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:43 +09:00
4bc715da4b Update docs/configuring-playbook-external-postgres.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:36 +09:00
d0ad3f22f8 Update docs/configuring-playbook-ntfy.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:29 +09:00
975692c84d Add SPDX-License-Identifier to extract-translation-templates.sh
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:22 +09:00
8be34c1ef1 Add license information for setup.yml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:13 +09:00
e1c03dc7ff Add license information to a role
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:26:05 +09:00
687449fcba Add license information for README.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:25:58 +09:00
015b0d7cb4 Add license information to files in examples
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-05 00:25:49 +09:00
dc77f84e66 Merge pull request #4142 from luixxiul/fix
Update docs for S3 media storage configuration for Synapse
2025-03-04 17:00:14 +02:00
ed23f9b5db Update docs/configuring-playbook.md: file storage section
- Add a link to configuring-playbook-synapse-s3-storage-provider.md
- Sort items

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 21:32:12 +09:00
0b9e4df5d3 Update docs: add "Synapse" to the title of configuring-playbook-s3-goofys.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 21:29:29 +09:00
f059b72bb5 Update docs/configuring-playbook-s3-goofys.md
- Adopt the common instruction
- Add a copyright header

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 21:20:57 +09:00
70b4fd0489 Update docs/configuring-playbook-synapse-s3-storage-provider.md: adopt the common introduction and add the section for installing
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 20:57:57 +09:00
424e5c6646 Update docs/configuring-playbook-synapse-simple-antispam.md: add the section for installing
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 20:49:21 +09:00
5adaaf7c80 Merge pull request #4141 from spantaleev/renovate/ajbura-cinny-4.x
Update ajbura/cinny Docker tag to v4.5.0
2025-03-04 13:39:09 +02:00
76f9e7f34f Update ajbura/cinny Docker tag to v4.5.0 2025-03-04 10:44:30 +00:00
35d38b28bf Merge pull request #4140 from luixxiul/fix
Add license information to files for matrix-synapse
2025-03-04 12:44:11 +02:00
7fca7ceea8 Borgmatic v1.9.13 2025-03-04 12:43:52 +02:00
3684842e86 Add license information to docs/configuring-playbook-synapse.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:22:48 +09:00
d9d4c6f05f Add license information to roles/custom/matrix-synapse/vars/main.yml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:22:43 +09:00
2eb952201c Add license information to files in matrix-synapse/templates/synapse
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:22:38 +09:00
431d4c414b Add license information to files in matrix-synapse/templates/goofys
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:22:26 +09:00
f7a0302974 Add license information to files in matrix-synapse/tasks
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:20:27 +09:00
54b7df44ec Add license information to files in matrix-synapse/tasks/synapse
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:20:20 +09:00
f0abe85c18 Add license information to files in matrix-synapse/tasks/rust-synapse-compress-state
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:20:12 +09:00
0329320574 Add license information to files in matrix-synapse/tasks/goofys
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:20:04 +09:00
a4532762c2 Add license information to files in matrix-synapse/tasks/ext
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:19:59 +09:00
f70ad4affb Add license information to files in matrix-synapse/defaults
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-04 19:19:51 +09:00
0e598acc3c Merge pull request #4139 from spantaleev/renovate/gnuxie-draupnir-2.x
Update gnuxie/draupnir Docker tag to v2.2.0
2025-03-03 22:39:19 +02:00
2ef1a2e48d Upgrade exim-relay (v4.98.1-r0-0-0 -> v4.98.1-r0-1-0) to allow usage over IPv6 2025-03-03 22:33:15 +02:00
88413a08cb Update gnuxie/draupnir Docker tag to v2.2.0 2025-03-03 20:24:16 +00:00
50c63edb61 Merge pull request #4138 from luixxiul/fix
Add license information to files for components
2025-03-03 13:44:39 +02:00
0046d3a8d8 Add license information to files for matrix-user-creator
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 18:00:04 +09:00
68a78857b8 Add license information to files for matrix-static-files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 17:58:55 +09:00
c84c39fbc4 Add license information to files in matrix-common-after
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 17:58:28 +09:00
4915f14a58 Add license information to files for matrix-client-element
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 17:58:12 +09:00
c6babc1202 Add license information to files in matrix-base
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 17:57:17 +09:00
81b752e56c Merge pull request #4137 from luixxiul/fix
Add license information to files for components and files on the top-level directory
2025-03-03 08:14:03 +02:00
c113f8fbd8 Merge pull request #4136 from spantaleev/renovate/sphinx-8.x
Update dependency Sphinx to v8.2.3
2025-03-03 08:13:10 +02:00
5ce8331282 Update dependency Sphinx to v8.2.3 2025-03-03 03:28:32 +00:00
245900e32f Update REUSE.toml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 12:15:39 +09:00
92adfb50e7 Add license information to some files on the top level directory
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 12:14:55 +09:00
85c93f8533 Add license information to files for matrix-user-verification-service
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 12:14:23 +09:00
1af310864c Add license information to files in matrix_playbook_migration/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 12:14:04 +09:00
06cafa6908 Add license information to files for matrix-prometheus-services-connect
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 12:13:29 +09:00
fa1b99476c Merge pull request #4135 from luixxiul/fix
Add license information to files for components related to Synapse
2025-03-02 19:25:50 +02:00
e89a4708e7 Update docs/configuring-playbook-synapse-simple-antispam.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:48:16 +09:00
2c28a8c9bf Update docs/configuring-playbook-synapse-s3-storage-provider.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:48:07 +09:00
621a41cbf7 Update docs/configuring-playbook-synapse-auto-accept-invite.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:47:55 +09:00
2f2e551798 Add license information to files for matrix-synapse-usage-exporter
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:18:26 +09:00
aae64ebde4 Add license information to files for matrix-synapse-reverse-proxy-companion
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:18:04 +09:00
a039174f96 Add license information to files for matrix-synapse-auto-compressor
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:17:47 +09:00
27c3be55b0 Add license information to files for matrix-synapse-admin
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-03 00:17:08 +09:00
4b2c4d0df5 Merge pull request #4132 from luixxiul/fix
Add license information to files in reverse-proxies directory and ones related to project management and administration
2025-03-02 10:30:46 +02:00
5694831507 Merge pull request #4133 from luixxiul/patch-2
Add mautrix-bluesky to a table on docs/container-images.md
2025-03-02 10:23:48 +02:00
67b106c7c2 Add mautrix-bluesky to a table on docs/container-images.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-02 14:20:45 +09:00
da30db76d6 Update docs: remove abbreviations for Matrix User Verification Service from the tables
As there are not other instances where an abbreviation is written along with the service's full name, it is sensible to remove them from there.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-02 14:16:44 +09:00
cd5cd60e8c Update REUSE.toml: add files which cannot be copyrighted
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-02 01:23:31 +09:00
37f69e92d5 Add license information to files in examples/reverse-proxies/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-02 01:14:30 +09:00
76326e3c57 Add license information to files in bin/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-02 01:04:48 +09:00
0b23167773 Merge pull request #4131 from luixxiul/fix
Add license information to files for the other mautrix bridges
2025-03-01 16:44:10 +02:00
29b6a3a973 Add license information to files for matrix-bridge-mautrix-wsproxy
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 21:06:48 +09:00
06340e423b Add license information to files for matrix-bridge-mautrix-whatsapp
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 21:05:18 +09:00
6fd48fcf90 Add license information to files for matrix-bridge-mautrix-twitter
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 21:05:12 +09:00
0810054b78 Add license information to files for matrix-bridge-mautrix-telegram
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 21:05:02 +09:00
8b784735d3 Add license information to files for matrix-bridge-mautrix-slack
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 20:54:46 +09:00
751511139c Add license information to files for matrix-bridge-mautrix-signal
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 20:54:22 +09:00
fd2683b1ab Merge pull request #4130 from luixxiul/fix
Add license information to files for some mautrix bridges
2025-03-01 09:21:22 +02:00
51671926c0 Add license information to files for matrix-bridge-mautrix-meta-messenger
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:43 +09:00
40939cde65 Add license information to files for matrix-bridge-mautrix-meta-instagram
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:38 +09:00
42e09a4aa5 Add license information to files for matrix-bridge-mautrix-googlechat
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:33 +09:00
053a0e8b99 Add license information to files for matrix-bridge-mautrix-gmessages
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:24 +09:00
f6b74f9d30 Add license information to files for matrix-bridge-mautrix-discord
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:15 +09:00
9da4317d42 Update docs/configuring-playbook-bridge-mautrix-bridges.md: add a copyright header
Refer f8b779f8ed as well

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:04:05 +09:00
b488ff5dd5 Add license information to files for matrix-bridge-mautrix-bluesky
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 16:03:55 +09:00
dbfcb2d2c1 Upgrade Traefik (v3.3.3-4 -> v3.3.4-0) 2025-03-01 07:01:56 +02:00
f88df9b782 Upgrade Jitsi (v10008-3 -> v10078-1-0) (#4126)
* Upgrade Jitsi (v10008-3 -> v10073-1)

* Upgrade Jitsi (v10073-1 -> v10078-0)

* v10078-0 -> v10078-1

* Fix Jitsi version tag

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-03-01 06:58:29 +02:00
a83d79e229 Merge pull request #4127 from luixxiul/fix
Add license information to files for components
2025-03-01 06:52:56 +02:00
b57081debd Add CC0-1.0.txt to LICENSES directory
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 12:50:15 +09:00
70655e8981 Fix GitHub issue template selector
Apparently those Markdown files are not expected to have something before the three hyphens on the top.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 12:25:46 +09:00
66e37a68ae Add license information to files for matrix-coturn
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 01:41:49 +09:00
d3826ee652 Add license information to files for matrix-media-repo
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 01:41:41 +09:00
e2d1879410 Add license information to files for matrix-ldap-registration-proxy
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-03-01 01:38:47 +09:00
9ba0f51a8f Merge pull request #4125 from luixxiul/patch-2
Update docs for components related to authentication and ma1sd
2025-02-28 16:27:39 +02:00
8abb8455c7 Merge pull request #4124 from luixxiul/fix
Add license information to files for components
2025-02-28 16:27:16 +02:00
4d5367fe93 Update docs/configuring-playbook-ma1sd.md: improve the warning message on top
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 22:27:56 +09:00
ff1f882d3c Update docs for components related to authentication: tidy up
- Move the recommendation to avoid installing ma1sd from configuring-playbook-ldap-auth.md to configuring-playbook-rest-auth.md

  It has been long since recommending to install ma1sd was stopped, and the warning message is placed on the documentation about installing ma1sd as well, so it does not really seem to be sensible to advertise the component by repeating the warning… The message can rather be reused on the latter, as it is expected to be implemented with a backend such as ma1sd (see: matrix_synapse_ext_password_provider_rest_auth_endpoint on the file)

- Add instruction to install the component to configuring-playbook-ldap-auth.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 22:25:14 +09:00
66093857bc Update docs for components related to authentication: adopt the common descriptions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 22:25:08 +09:00
87634922dd Update docs for components related to authentication: add copyright headers
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 22:24:58 +09:00
e870f0b664 Add license information to files for matrix-dendrite
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 21:24:39 +09:00
0bbe13b474 Add license information to files for matrix-conduit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 21:24:31 +09:00
09893ced8d Add license information to files for matrix-client-schildichat
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 21:24:22 +09:00
41c59a1223 Add license information to files for matrix-authentication-service
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 21:24:13 +09:00
bf5726f603 Merge pull request #4123 from luixxiul/fix
Add license information to files for some components
2025-02-28 12:19:34 +02:00
cb18b5235f Add license information to files for matrix-dynamic-dns
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:41:51 +09:00
974971719f Add license information to files for matrix-bridge-hookshot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:41:23 +09:00
52cf117e8b Add license information to files for matrix-bridge-postmoogle
Refer fd39392ec5 as well

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:40:59 +09:00
b7bd54113d Add license information to files for matrix-bridge-sms
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:40:25 +09:00
d403a7e4ae Add license information to files for matrix-bridge-heisenbridge
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:40:16 +09:00
497a0f8a42 Add license information to files for matrix-bridge-beeper-linkedin
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 18:38:54 +09:00
5ceee4d6cd Merge pull request #4122 from luixxiul/fix
Add license information to some components
2025-02-28 08:30:24 +02:00
4b7dbcefec Add license information to matrix-bridge-appservice-slack
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 14:47:17 +09:00
9ac31fb37c Add license information to matrix-bridge-appservice-irc
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 14:47:01 +09:00
766ad9ebaa Add license information to matrix-bridge-appservice-discord
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 14:46:49 +09:00
aac44ad920 Add license information to matrix-bot-maubot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 14:46:20 +09:00
6c605a6193 Add license information to matrix-appservice-draupnir-for-all
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 14:45:49 +09:00
225365929d Merge pull request #4121 from luixxiul/fix
Add license information to files for components
2025-02-27 21:16:34 +02:00
2e54072f1b Fix copyright attribution
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:47:59 +09:00
7d210cbafd Add license information to files for matrix-bot-mjolnir
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:11:30 +09:00
1189673e4a Add license information to files for matrix-bot-matrix-registration-bot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:11:02 +09:00
be667ee783 Add license information to files for matrix-bot-honoroit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:10:04 +09:00
43199effd5 Add license information to files for matrix-bot-buscarron
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:09:18 +09:00
0a8117d96c Add license information to files for matrix-bot-baibot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 02:06:15 +09:00
37f84173f0 Put proxy_set_header Host $host; at the server level for matrix-synapse-reverse-proxy-companion
Continuation of the refactoring done in 10fabc32bc
2025-02-27 19:04:34 +02:00
10fabc32bc Rework client_body_buffer_size/client_max_body_size and proxy_max_temp_file_size configuration for matrix-synapse-reverse-proxy-companion
Until now, most sections were specifying their own values for these.
For `client_max_body_size`, a value of 25MB was hardcoded in most places.

This was generally OK, but..
Some sections (those generated by the `render_locations_to_upstream` macro), were not specifying these options
and were ending up with a default value for configuration options for `client_max_body_size` (likely 1MB), etc.

From now on:

- we use individual variables for defining these for the Client-Server
  and Federation API and apply these once at the `server` level

- we keep auto-determining the `client_max_body_size` for the
  Client-Server API based on `matrix_synapse_max_upload_size_mb`

- we keep auto-calculating the `client_max_body_size` for the Federation
  API based on the one for the Client API, but now also add a "minimum"
  value (`matrix_synapse_reverse_proxy_companion_federation_api_client_max_body_size_mb_minimum: 100`)
  to ensure we don't go too low

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4100
2025-02-27 18:53:56 +02:00
771fd4e58c Merge pull request #4120 from spantaleev/renovate/ghcr.io-element-hq-element-web-1.x
Update ghcr.io/element-hq/element-web Docker tag to v1.11.94
2025-02-27 17:26:25 +02:00
57d1f417df Update ghcr.io/element-hq/element-web Docker tag to v1.11.94 2025-02-27 15:23:27 +00:00
2200e42a38 Merge pull request #4119 from luixxiul/patch-2
Add license information to files for two components
2025-02-27 17:22:48 +02:00
195864980b Add license information to files for appservice-double-puppet
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 00:03:35 +09:00
2319c6e33b Add license information to files for matrix-alertmanager-receiver
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-28 00:03:25 +09:00
3e2ca94a53 Merge pull request #4118 from luixxiul/fix
Add license information to components
2025-02-27 12:04:04 +02:00
032d4f975d Update default Anthropic text-generation model (claude-3-5-sonnet-20240620 -> claude-3-7-sonnet-20250219)
The new baibot version (v1.5.0) supports the new Claude Sonnet 3.7
model, which is supposedly improved and priced the same way, so it makes
sense to upgrade to it in our static definitions.
2025-02-27 11:50:29 +02:00
f7d25a3691 Upgrade baibot (v1.4.1 -> v1.5.0) and adapt configuration 2025-02-27 11:50:29 +02:00
9bb3d2457c Add license information to files for matrix-sygnal
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 18:32:26 +09:00
181d393254 Add license information to files for matrix-pantalaimon
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 18:32:00 +09:00
4a92cc11d0 Add license information to files for matrix-rageshake
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 18:31:49 +09:00
2889607941 Add license information to files for matrix-corporal
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 18:30:12 +09:00
541c66011c Merge pull request #4117 from luixxiul/fix
Add copyright header to some documents
2025-02-27 07:57:49 +02:00
38792b924a Add copyright header to docs/updating-users-passwords.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:42:23 +09:00
8a1809463b Add copyright header to docs/self-building.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:42:18 +09:00
4f59d1c018 Add copyright header to docs/registering-users.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:42:12 +09:00
bcdf1f803c Add copyright header to docs/quick-start.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:42:08 +09:00
24f97e9f54 Add copyright header to docs/obtaining-access-tokens.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:42:03 +09:00
ec7d9898b5 Add copyright header to docs/maintenance-synapse.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:58 +09:00
ea5c0f71e0 Add copyright header to docs/maintenance-migrating.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:53 +09:00
3dc46d225b Add copyright header to docs/importing-synapse-sqlite.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:48 +09:00
275f01419e Add copyright header to docs/importing-synapse-media-store.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:42 +09:00
3f21b22cd0 Add copyright header to docs/importing-postgres.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:31 +09:00
13aef904a4 Add copyright header to docs/howto-srv-server-delegation.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:41:09 +09:00
a717eb1053 Add copyright header to docs/howto-server-delegation.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:39:19 +09:00
2170e91c1c Merge pull request #4116 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.8.2
2025-02-27 07:37:16 +02:00
504d0dca9a Add copyright header to docs/container-images.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:12:24 +09:00
032a3fc059 Add copyright header to docs/configuring-well-known.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:12:13 +09:00
86d72d9b60 Add copyright header to docs/configuring-playbook-telemetry.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:12:00 +09:00
1fd9cf0de9 Add copyright header to docs/configuring-playbook-ssl-certificates.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:11:51 +09:00
922236c185 Add copyright header to docs/configuring-playbook-own-webserver.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:11:42 +09:00
e19de8aa3f Add copyright header to docs/configuring-playbook-nginx.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:10:58 +09:00
3073537420 Add copyright header to docs/configuring-playbook-federation.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:10:48 +09:00
b4ff3a816b Add copyright header to docs/configuring-playbook-base-domain-serving.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 14:02:52 +09:00
f10f16d9b8 Add copyright header to docs/configuring-captcha.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 13:31:01 +09:00
b92d8517eb Update dependency setuptools to v75.8.2 2025-02-26 21:38:12 +00:00
1eea92ba56 Add a matrix_synapse_redis_use_tls variable
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4113
2025-02-26 20:47:47 +02:00
78b60be431 Merge pull request #4115 from luixxiul/fix
Add license information to some active project components
2025-02-26 20:30:53 +02:00
d49e9f81da Add license information to files for matrix-cactus-comments and matrix-cactus-comments-client
This commit adds copyright attributions in SPDX to the files for matrix-cactus-comments and matrix-cactus-comments-client, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 02:17:33 +09:00
59890c2805 Add license information to files for matrix-client-cinny
This commit adds copyright attributions in SPDX to the files for matrix-client-cinny, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 02:17:26 +09:00
74aec2f314 Add license information to files for matrix-client-fluffychat
This commit adds copyright attributions in SPDX to the files for matrix-client-fluffychat, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 01:57:07 +09:00
8367981bfb Add license information to files for matrix-conduwuit
This commit adds copyright attributions in SPDX to the files for matrix-conduwuit, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-27 01:56:36 +09:00
959e8bea30 Merge pull request #4114 from luixxiul/fix
Add copyright attiributions to vendor files
2025-02-26 16:20:25 +02:00
5fa5026d69 Update .github directory: add copyright information
- Exclude renovate.json
- Rename reuse.toml: capitalization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 22:52:29 +09:00
ff031dfd96 Update ansible-lint.yml: add the license information
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 22:50:04 +09:00
ba3b82ed20 Switch to pulling Element Web from Github Container Registry, not Docker Hub 2025-02-26 09:37:05 +02:00
6bce373fe2 Merge pull request #4111 from luixxiul/fix
Add license information to files for quiet projects
2025-02-26 09:03:28 +02:00
59b40fb28e Upgrade Grafana (v11.5.2-1 -> v11.5.2-2)
Ref: https://github.com/mother-of-all-self-hosting/ansible-role-grafana/issues/4
2025-02-26 09:00:44 +02:00
6acf82a3ef Add license information to files for matrix-prometheus-nginxlog-exporter
This commit adds copyright attributions in SPDX to the files for prometheus-nginxlog-exporter, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 15:52:54 +09:00
b0d53d1b53 Add license information to files for matrix-bridge-go-skype-bridge
This commit adds copyright attributions in SPDX to the files for go-skype-bridge, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 15:52:43 +09:00
68e9dc85e9 Add license information to files for matrix-bot-matrix-reminder-bot
This commit adds copyright attributions in SPDX to the files for matrix-reminder-bot, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 15:52:33 +09:00
fda508d556 Merge pull request #4110 from spantaleev/renovate/docker.io-metio-matrix-alertmanager-receiver-2025.x
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.26
2025-02-26 08:50:40 +02:00
baefcd4923 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.26 2025-02-26 06:46:20 +00:00
877aba8dd0 Merge pull request #4109 from luixxiul/patch-2
Update docs: edit titles of the removed components
2025-02-26 08:45:45 +02:00
ed62ce70f0 Update docs: edit titles of the removed components
This commit updates titles of the docs for removed components, following 0bc4ef8f4d.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-26 15:35:13 +09:00
0329cbb1b0 Remove leftover matrix_email2matrix_enabled usage in devture_systemd_service_manager_services_list_auto
Fixup for 1b05343aba
2025-02-26 08:05:16 +02:00
852b9ebdc1 Adjust "installed using this playbook" links when linking to specific components
We previously made "this playbook" a link to some specific component.
This is somewhat misleading. Reading the text and seeing that "this playbook"
is a link, one might think that "this playbook" actually links to the
playbook's home page or something, not to the specific component which
could be "installed using this playbook".

This patch adjusts the markup so that the whole phrase "installed using this playbook"
is turned into a link (to the specific component's page). This makes it
more obvious where we're linking.

This work was initially done for the Email2Matrix docs page in
1b05343aba. This patch brings the same
change to all other instances.
2025-02-26 08:01:27 +02:00
1b05343aba Remove Email2Matrix support 2025-02-26 08:00:17 +02:00
74bdd8cbe5 docker.io/devture/ansible -> ghcr.io/devture/ansible 2025-02-26 07:39:55 +02:00
5007ad453e Fix exim-relay version tag (4.98.1-r0-0-0 -> v4.98.1-r0-0-0) 2025-02-26 07:18:47 +02:00
ae91852109 Upgrade exim-relay (v4.98-r0-4-3 -> 4.98.1-r0-0-0) 2025-02-26 07:15:26 +02:00
02379f6a85 Merge pull request #4108 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.8.1
2025-02-25 22:07:30 +02:00
9493356adb Update dependency setuptools to v75.8.1 2025-02-25 19:49:08 +00:00
5c708339a0 Upgrade Synapse (v1.124.0 -> v1.125.0) 2025-02-25 21:28:23 +02:00
7d4f9fe7dc Upgrade matrix-corporal (3.1.3 -> 3.1.4) and switch where its gets pulled from
From 3.1.4 and onward, container images will be published to ghcr.io instead of docker.io.

These images are built for arm64 and amd64, but not for arm32 anymore.
2025-02-25 17:54:45 +02:00
294fd55727 Merge pull request #4107 from spantaleev/renovate/vectorim-element-web-1.x
Update vectorim/element-web Docker tag to v1.11.93
2025-02-25 16:50:55 +02:00
accb110860 Merge pull request #4106 from spantaleev/renovate/halfshot-matrix-hookshot-6.x
Update halfshot/matrix-hookshot Docker tag to v6.0.3
2025-02-25 16:47:45 +02:00
6d44f6d7af Update vectorim/element-web Docker tag to v1.11.93 2025-02-25 14:35:32 +00:00
eba494eb86 Update halfshot/matrix-hookshot Docker tag to v6.0.3 2025-02-25 14:35:25 +00:00
771efab5c0 Merge pull request #4105 from luixxiul/fix
Update docs: minor edits
2025-02-25 16:34:41 +02:00
4df7b983ed Update docs: title of the document for configuring DNS settings
This follows 802032cda7/docs/configuring-dns.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 23:09:19 +09:00
f57ee8d3e0 Update docs/maintenance-postgres.md: copy from the MASH playbook
Copied from 802032cda7/docs/services/postgres.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 23:06:47 +09:00
fe72de7dc5 Update docs/configuring-playbook.md: copy from the MASH project
Copied from 802032cda7/docs/configuring-playbook.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 23:04:10 +09:00
375d6234e7 Merge pull request #4104 from luixxiul/tribute-to-inactive-projects
Add copyright attributions to files of inactive projects
2025-02-25 14:05:55 +02:00
44d91c6383 Add license information to files for matrix-registration
This commit adds copyright attributions in SPDX to the files for matrix-registration following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 18:18:30 +09:00
afd122330b Add license information to files for matrix-client-hydrogen
This commit adds copyright attributions in SPDX to the files for matrix-client-hydrogen following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 18:01:02 +09:00
379229c4e0 Add license information to files for matrix-bridge-appservice-kakaotalk
This commit adds copyright attributions in SPDX to the files for matrix-bridge-appservice-kakaotalk following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 17:37:14 +09:00
3efc5099c3 Add license information to files for matrix-bridge-wechat
This commit adds copyright attributions in SPDX format to the files for matrix-bridge-wechat following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 17:36:59 +09:00
83ee9ba415 Add license information to files for matrix-ma1sd
This commit adds copyright attributions in SPDX format to the files for matrix-ma1sd following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 17:36:07 +09:00
6a4366d75d Upgrade Postgres (v17.2-3 -> v17.4-0) 2025-02-25 08:36:15 +02:00
4996d4723c Merge pull request #4103 from luixxiul/tribute-to-deprecated-components
Add license information to files for deprecated mautrix facebook and instagram bridges
2025-02-25 07:45:38 +02:00
bcd641063e Tribute to deprecated components: add license information to files for matrix-bridge-mautrix-instagram
This commit adds copyright attributions in SPDX format as of 6aa320e117 to the files for matrix-bridge-mautrix-instagram, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 13:10:56 +09:00
0a72b7b396 Tribute to deprecated components: add license information to files for matrix-bridge-mautrix-facebook
This commit adds copyright attributions in SPDX format as of 6aa320e117 to the files for matrix-bridge-mautrix-facebook, following REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 13:07:56 +09:00
6aa320e117 Merge pull request #4102 from luixxiul/ansible-lint
Fix some of the spacing warnings with ansible-lint
2025-02-24 21:13:45 +02:00
2a3fee7b80 Fix some of the spacing warnings with ansible-lint
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 03:48:09 +09:00
50e2feea9c Merge pull request #4101 from luixxiul/tribute-to-archived-components
Add copyright attributions to deprecated/archived components
2025-02-24 20:34:53 +02:00
cd4b1ca72f Tribute to deprecated components: add license information to files for matrix-bot-chatgpt
This commit adds copyright attirbutions in SPDX format to files for matrix-bot-chatgpt, following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:53:17 +09:00
329fa105bf Tribute to deprecated components: add license information to files for matrix-bot-go-neb
This commit adds copyright attirbutions in SPDX format to files for matrix-bot-go-neb, following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:53:10 +09:00
66b03d0ca9 Tribute to deprecated components: add license information to files for matrix-sliding-sync
This commit adds copyright attirbutions in SPDX format to files for matrix-sliding-sync, following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:52:56 +09:00
d4347ccbf2 Update docs/configuring-playbook-bridge-mautrix-hangouts.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:28:44 +09:00
12e0a84331 Tribute to deprecated components: add license information to files for matrix-dimension
This commit adds copyright attirbutions in SPDX format to files for matrix-dimension, following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:17:32 +09:00
ab53f163ee Tribute to deprecated components: add license information to files for matrix-email2matrix
This commit adds copyright attirbutions in SPDX format to files for matrix-email2matrix, following the REUSE's specification. ".license" files are added for config.json.j2 and matrix-email2matrix.service.j2.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 02:08:39 +09:00
34ed810509 fix bluesky tokens 2025-02-24 18:45:11 +02:00
76bab88ad0 Merge pull request #4099 from luixxiul/tribute-to-deprecated-components-webhooks
Tribute to deprecated components: add license information to files for matrix-bridge-appservice-webhooks
2025-02-24 17:56:03 +02:00
dc9672a86f Tribute to deprecated components: add license information to files for matrix-bridge-appservice-webhooks
This commit adds copyright headers to Markdown, YAML, and labels.j2 files. For the rest of the files, which are ones in YAML and JSON files with the extention ".j2", ".license" files are added following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-25 00:14:49 +09:00
91d5aa4088 Upgrade backup-borg (v1.4.0-1.9.10-5 -> v1.4.0-1.9.10-6) 2025-02-24 15:55:47 +02:00
3478c6f65b Upgrade backup-borg (v1.4.0-1.9.10-4 -> v1.4.0-1.9.10-5)
Ref: https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/issues/15
2025-02-24 15:52:18 +02:00
2129cbf95e Fix yamllint-reported errors 2025-02-24 11:47:53 +02:00
f7a8c8e83c Make external roles also respect matrix_container_global_registry_prefix_override
Fixup for b88b6ae7a3
2025-02-24 11:47:05 +02:00
b88b6ae7a3 Introduce a new matrix_container_global_registry_prefix_override variable and make all roles respect it
`matrix_container_global_registry_prefix_override` may look similar to
the old `matrix_container_global_registry_prefix` variable
(removed in d6bf789710), but it's different.

The old `matrix_container_global_registry_prefix` variable was just a hardcode of `docker.io/` and roles that
needed to refer to `docker.io/` could use it. However, this was:

- not used by all roles, because some need another registry (not `docker.io/`)
- used only by roles within the playbook (`roles/custom`), not external roles

Overriding the old `matrix_container_global_registry_prefix` variable was rather pointless,
as it didn't cover everything.

The new `matrix_container_global_registry_prefix_override` variable, on the other hand,
lets you override the registry prefix for all components, regardless of whether they
use `docker.io/` or another registry by default.

This is useful to people who have somehow mirrored all container images to their own registry,
as it provides them with a single variable they can flip to influence the whole playbook.
2025-02-24 11:38:47 +02:00
c47eca389b Rework all roles to include component_(docker|container)_image_registry_prefix* variables
This:

- brings consistency - no more mixing `_name_prefix` and `_registry_prefix`
- adds extensibility - a future patch will allow reconfiguring all registry prefixes for all roles in the playbook

We still have `_docker_` vs `_container_` inconsistencies.
These may be worked on later.
2025-02-24 11:38:47 +02:00
11842116b3 Upgrade Valkey (v8.0.1-2 -> v8.0.1-3) 2025-02-24 11:38:47 +02:00
6ef6bcdf38 Upgrade traefik-certs-dumper (v2.8.3-6 -> v2.8.3-7) 2025-02-24 11:38:47 +02:00
ce835c395f Upgrade Traefik (v3.3.3-3 -> v3.3.3-4) 2025-02-24 11:38:47 +02:00
a97988c794 Upgrade prometheus-node-exporter (v1.8.2-4 -> v1.8.2-5) 2025-02-24 11:38:47 +02:00
620dfa889d Upgrade prometheus-postgres-exporter (v0.14.0-7 -> v0.14.0-9) 2025-02-24 11:38:47 +02:00
66746bfa01 Upgrade prometheus-node-exporter (v1.8.2-3 -> v1.8.2-4) 2025-02-24 11:38:47 +02:00
d4bfc26803 Upgrade Prometheus (v2.55.1-2 -> v2.55.1-3) 2025-02-24 11:38:47 +02:00
400fa61bd0 Upgrade postgres-backup (v17-2 -> v17-3) 2025-02-24 11:38:47 +02:00
200059e3c6 Upgrade Postgres (v17.2-2 -> v17.2-3) 2025-02-24 11:38:47 +02:00
9dd3a71c38 Upgrade ntfy (v2.11.0-2 -> v2.11.0-3) 2025-02-24 11:38:47 +02:00
3441a29b7b Upgrade Jitsi (v10008-2 -> v10008-3) 2025-02-24 11:38:47 +02:00
ed63688bb8 Upgrade Grafana (v11.5.2-0 -> v11.5.2-1) 2025-02-24 11:38:47 +02:00
650fca9d27 Upgrade exim-relay (v4.98-r0-4-2 -> v4.98-r0-4-3) 2025-02-24 11:38:47 +02:00
c212346881 Upgrade Etherpad (v2.2.7-3 -> v2.2.7-4) 2025-02-24 11:38:47 +02:00
3e17ae8b1b Upgrade container-socket-proxy (v0.3.0-3 -> v0.3.0-4) 2025-02-24 11:38:47 +02:00
0da9c0c075 Upgrade backup-borg (v1.4.0-1.9.10-3 -> v1.4.0-1.9.10-4) 2025-02-24 11:38:47 +02:00
77209126bb Update docs: remove duplicated whitespace characters
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-24 17:47:38 +09:00
5c34d0c0c1 Merge pull request #4097 from luixxiul/fix
Update docs/maintenance-postgres.md: add a copyright header
2025-02-24 10:35:52 +02:00
90540c244f Update docs/maintenance-postgres.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-24 17:03:54 +09:00
7448b4728c Edit docs: minor edits
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-24 12:47:36 +09:00
91808bbd70 Merge pull request #4096 from luixxiul/fix
Update docs for Ansible
2025-02-23 21:12:34 +02:00
31e5c10a1b Update docs for Ansible
This commit changes ansible.md title and adds a link to the page on docs/README.md to improve discoverability of the guide a little bit.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-24 03:33:47 +09:00
4c7867051f Merge pull request #4095 from spantaleev/renovate/ajbura-cinny-4.x
Update ajbura/cinny Docker tag to v4.4.0
2025-02-23 17:23:37 +02:00
af054a4833 Update ajbura/cinny Docker tag to v4.4.0 2025-02-23 14:39:53 +00:00
b66aa0624f Merge pull request #4094 from luixxiul/fix
Update docs related to installation: minor edits
2025-02-23 12:32:51 +02:00
cca3b06cf0 Add space after ⚠️ on installing.md 2025-02-23 12:32:32 +02:00
b4bcac7e48 Update docs/quick-start.md: minor edits
- Reduce width of the table for DNS configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 19:25:12 +09:00
c1eae5fc00 Update docs/installing.md: minor edits
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 19:25:04 +09:00
0d137db283 Re-enable STUN/UDP by default so that old Element mobile clients can work
Partially reverts ac26cc1cb0.

The configurability introduced there is still available, so people can
easily disable this, if necessary.
2025-02-23 12:09:37 +02:00
ee431798a6 Update docs/getting-the-playbook.md: make the list tighter
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 18:20:47 +09:00
d6bf789710 Remove matrix_container_global_registry_prefix variable
This is done for a few reasons:

- less globals and more indepdendence for each role is better. We rely
  on various externally-hosted roles and they don't rely on this global
  either.

- `matrix_container_global_registry_prefix` could make people think they
  could just override this variable and have all their images pull from
  elsewhere. This is rarely the case, unless you've taken special care
  to mirror all the various components (from their respective
  registries) to your own. In such a case, you probably know what you're
  mirroring and can adjust individual variables.

- nowadays, various components live on different registries.
  With Docker Inc tightening rate limits for Docker Hub, it's even more
  likely that we'll see increased diversity in where images are hosted
2025-02-23 10:15:41 +02:00
7a476cd410 Merge pull request #4093 from luixxiul/fix
Update docs: add copyright headers
2025-02-23 08:12:47 +02:00
7249274511 Merge pull request #4092 from luixxiul/tribute-to-mx-bridges
Add license information to files for MX bridges
2025-02-23 08:11:55 +02:00
86d94d77e3 Update docs/configuring-playbook.md: add a copyright header
Those authors were picked up based on the current status (dae0f44603), the others (around 30 people whose contributions have been removed) being grouped as "MDAD project contributors".

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 14:59:58 +09:00
54467fe7d5 Update docs/alternative-architectures.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 14:59:25 +09:00
1bc0a1bf07 Update docs/configuring-dns.md: reduce the width of the table
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 14:41:51 +09:00
807da74334 Add license information to files for MX bridges
As the future for the MX bridges in this playbook and by themselves seems uncertain, this commit adds license information in SPDX format to the files for those bridges, before the bridges would be deprecated and possibly get removed from the project.

Please note that .license files are added for the files which would be broken if such information are added as header, following the REUSE's specification.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-23 13:33:30 +09:00
56e9967f5d Upgrade Valkey (v8.0.1-1 -> v8.0.1-2) 2025-02-22 22:41:52 +02:00
9a035eeabe Upgrade Etherpad (v2.2.7-2 -> v2.2.7-3) 2025-02-22 22:40:28 +02:00
c28630355a Upgrade exim-relay (v4.98-r0-4-1 -> v4.98-r0-4-2) 2025-02-22 22:31:11 +02:00
6d501b9cc6 Upgrade container-socket-proxy (v0.3.0-2 -> v0.3.0-3) 2025-02-22 22:03:54 +02:00
41fc044ee0 Upgrade Jitsi (v10008-1 -> v10008-2) 2025-02-22 22:03:02 +02:00
5aa149fb52 Upgrade Traefik (v3.3.3-2 -> v3.3.3-3) 2025-02-22 21:56:49 +02:00
ecefbc8b44 Upgrade backup-borg (v1.4.0-1.9.10-2 -> v1.4.0-1.9.10-3) 2025-02-22 21:54:25 +02:00
a518fcce81 Upgrade Prometheus (v2.55.1-1 -> v2.55.1-2) 2025-02-22 21:47:58 +02:00
d12643eb91 Do not use docker stop --time (deprecated in Docker v28 in favor of --timeout or just -t)
`-t` works on both old and new Docker versions, so it's best to use that.
2025-02-22 21:42:18 +02:00
44baf74b9b Make all remaining roles respect devture_systemd_docker_base_ipv6_enabled and devture_systemd_docker_base_container_networks_driver_options 2025-02-22 21:36:32 +02:00
49c60deb8a Upgrade prometheus-node-exporter (v1.8.2-2 -> v1.8.2-3) 2025-02-22 21:35:09 +02:00
f7c89e3abe Upgrade postgres-backup (v17-1 -> v17-2) 2025-02-22 21:19:22 +02:00
b41cb172fe Upgrade ntfy (v2.11.0-1 -> v2.11.0-2) 2025-02-22 21:17:17 +02:00
053ef3f35a Upgrade prometheus-postgres-exporter (v0.14.0-6 -> v0.14.0-7) 2025-02-22 21:07:59 +02:00
ee75543aa7 Upgrade Prometheus (v2.55.1-0 -> v2.55.1-1) 2025-02-22 21:04:23 +02:00
0750e70972 Upgrade traefik-certs-dumper (v2.8.3-5 -> v2.8.3-6) 2025-02-22 21:00:18 +02:00
671a3dc94f Only advertise 3478/udp (STUN/TURN) if Coturn actually enables it
Related to ac26cc1cb0 which disabled
`3478/udp` by default.

Without this patch, homeservers continued to advertise the `3478/udp` port,
even though it was no longer exposed. While clients should handle that
gracefully (by falling back to TCP, etc.), it seems like Element either
doesn't do that or it doesn't support TCP (which this patch won't fix).

In any case, it's better to only announce what is actually supported/exposed.
2025-02-22 13:44:14 +02:00
64a402eb65 Do not duplicate turn_uris construction for each homeserver implementation (extract to matrix_coturn_turn_uris) 2025-02-22 13:43:25 +02:00
5b3f9510b0 Update docs/just.md: remove a duplicate anchor link
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-22 18:26:29 +09:00
b6db2eaf15 Upgrade Grafana (v11.5.1-0 -> v11.5.2-0) 2025-02-22 10:31:14 +02:00
87a05ef94b Upgrade Etherpad (v2.2.7-1 -> v2.2.7-2) and switch to newly introduced variables 2025-02-22 10:23:48 +02:00
b21a0b367d Upgrade container-socket-proxy (v0.3.0-1 -> v0.3.0-2) 2025-02-22 10:08:37 +02:00
804b9007ec Upgrade Traefik (v3.3.3-0 -> v3.3.3-2) 2025-02-22 10:01:00 +02:00
30997ee2ff Upgrade container-socket-proxy (v0.3.0-0 -> v0.3.0-1) 2025-02-22 09:55:03 +02:00
d34110d6a2 Merge pull request #4091 from luixxiul/fix
Update docs/ansible.md: copy from the MASH project and minor changes
2025-02-22 09:28:57 +02:00
5f0b74bac2 Update docs/ansible.md: remove a whitespace character
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-22 13:26:42 +09:00
edc2cab925 Update docs/ansible.md: copy from the MASH project
It was copied from 2bc4cc45d7/docs/ansible.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-22 13:26:33 +09:00
5d8d2475e1 Update docs/ansible.md: add a copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-22 13:25:28 +09:00
f0686f15b2 Merge pull request #4089 from spantaleev/renovate/sphinx-8.x
Update dependency Sphinx to v8.2.1
2025-02-22 02:02:36 +02:00
135196ae0d Upgrade Postgres (v17.2-1 ->v17.2-2) 2025-02-22 01:58:32 +02:00
564f9a519c Update dependency Sphinx to v8.2.1 2025-02-21 23:47:02 +00:00
153c8765e3 Upgrade Postgres (v17.2-0 -> v17.2-1) 2025-02-22 01:46:22 +02:00
473151fe90 Upgrade container-socket-proxy (v0.2.0-0 -> v0.3.0-0) and switch to new variable names (devture_container_socket_proxy_* -> container_socket_proxy_*) 2025-02-22 01:01:42 +02:00
44f1fcf10e fix borgbackup role 2025-02-21 23:10:34 +02:00
72280bbbb2 Add a matrix_synapse_url_preview_ip_range_whitelist variable 2025-02-21 23:05:14 +02:00
0d7d5e6a19 Do not define url_preview_ip_range_blacklist in Synapse's homeserver.yaml if URL preview is disabled
It's useless and just makes the config longer.
2025-02-21 23:03:26 +02:00
d9eabc49e6 Add a matrix_synapse_url_preview_ip_range_blacklist variable 2025-02-21 22:21:06 +02:00
f24c045393 Merge pull request #4088 from spantaleev/renovate/ghcr.io-etkecc-fluffychat-web-1.x
Update ghcr.io/etkecc/fluffychat-web Docker tag to v1.25.1
2025-02-21 20:57:46 +02:00
1e7d5293d4 Update ghcr.io/etkecc/fluffychat-web Docker tag to v1.25.1 2025-02-21 18:54:47 +00:00
feeb306eaf Merge pull request #4087 from luixxiul/fix
Update docs/playbook-tags.md: copy the recommendation for using the just command from mash-playbook
2025-02-21 20:54:15 +02:00
00bd973c3b Update docs/playbook-tags.md: copy the recommendation for using the just command from mash-playbook
This is based on 581e6ca080.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-22 02:21:07 +09:00
0de1b76da7 Upgrade systemd_docker_base (v1.3.0-0 -> v1.4.0-0) and make use of the new devture_systemd_docker_base_ipv6_daemon_options_changing_enabled variable 2025-02-21 18:34:39 +02:00
74177d9ba3 Document the state of the ip6tables and experimental daemon options for Docker 2025-02-21 16:37:41 +02:00
dae0f44603 Announce mautrix-bluesky support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4082
2025-02-21 10:11:19 +02:00
fd78acd67b Remove inaccurate mention of ensure-matrix-users-created in mautrix-bluesky documentation
mautrix bridges run in appservice mode and create their own user
automatically. There's no need for `ensure-matrix-users-created`.

This patch only fixes the mautrix-blusky bridge's documentation.
2025-02-21 10:08:43 +02:00
104f1b7838 Add documentation for mautrix-bluesky. 2025-02-21 10:08:43 +02:00
ff986b7512 Add mautrix-bluesky to the playbook. 2025-02-21 10:08:43 +02:00
229e179620 Merge pull request #4086 from luixxiul/fix
Update docs: add copyright headers to docs linking to installing.md
2025-02-21 09:59:58 +02:00
0dac0d8f83 Update docs/just.md: add a copyright header
This file was created with e36115a5b9 based on fb60ba67f6 (announcement of adoption of just program).

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-21 16:28:07 +09:00
40dc285a31 Update docs/playbook-tags.md: add a copyright header
The original author can be seen here: 66a812d99c12cb24f38f57fb271875ca80a9d4cc/docs/installing.md#L12-L35

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-21 16:27:54 +09:00
9d05994dce Make use of backup_borg_postgresql_databases_auto
Related to b0c63914cb

Ref:
- https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/pull/12
- 02dd1a8d70
2025-02-21 08:09:38 +02:00
b0c63914cb Upgrade backup-borg (v1.4.0-1.9.10-0 -> v1.4.0-1.9.10-1)
Ref:

- https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/pull/12
- 02dd1a8d70
2025-02-21 08:08:59 +02:00
bfbe404972 Merge pull request #4085 from luixxiul/fix
Update docs: add copyright headers for the MASH project
2025-02-21 08:02:56 +02:00
d6301db5ed Switch from postgres_backup_databases to postgres_backup_databases_auto
Ref: https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/pull/6

Related to a445f8a5ae
2025-02-21 07:52:11 +02:00
a445f8a5ae Upgrade postgres-backup (v17-0 -> v17-1)
Ref: https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/pull/6
2025-02-21 07:50:48 +02:00
4e44c4885e Update docs: add copyright headers for reusing them at the MASH project
This commit adds copyright headers to the same kind of docs as ones linked from e48af8a327/docs/README.md, so that these files can be reused over there.

- docs/README.md
- prerequisites.md
- configuring-dns.md
- getting-the-playbook.md
- configuring-playbook.md
- maintenance-upgrading-services.md
- maintenance-and-troubleshooting.md
- uninstalling.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-21 12:23:26 +09:00
2f8489fce0 FluffyChat v1.25.0 2025-02-20 18:21:12 +02:00
c80fb913e7 borg backup: do not backup remote content by default 2025-02-20 15:48:19 +02:00
2db103a4eb Upgrade matrix-authentication-service (0.14.0 -> 0.14.1) 2025-02-20 10:41:27 +02:00
069e574d13 Merge pull request #4083 from luixxiul/fix
Update docs/faq.md: remove matrix_ma1sd_enabled from the suggestion to disable it
2025-02-20 07:59:58 +02:00
9c822f7817 Update docs/faq.md: remove matrix_ma1sd_enabled from the suggestion to disable it
ma1sd has not been installed by default since 958d089b68, so it seems that the variable does not need to be mentioned here.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 14:26:03 +09:00
101b55ee7a Merge pull request #4081 from luixxiul/fix
Update docs/configuring-playbook-email.md
2025-02-19 22:01:53 +02:00
c1bd6ba965 Update docs/configuring-playbook-email.md: copy the common section for installing
The copyright header covers this one.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:04:37 +09:00
235f11fede Update docs/configuring-playbook-email.md: add an instruction to disable mail service
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:04:32 +09:00
5b3b372f36 Update docs/configuring-playbook-email.md: copy the instruction for firewall
It was copied from 699b458733. The current copyright header covers this one.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:04:23 +09:00
2e9e6e6094 Update docs/configuring-playbook-email.md: edit the introduction
Based on 00214dc493/docs/services/exim-relay.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:04:13 +09:00
916831f94d Update docs/configuring-playbook-email.md: refer the docs at the role
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:04:07 +09:00
c0722c74e9 Update docs/configuring-playbook-email.md: add the links to the role and its documentation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-20 01:03:55 +09:00
ac26cc1cb0 Allow STUN/TURN exposure over TCP/UDP to be controlled separately & disable STUN over UDP by default 2025-02-19 11:50:49 +02:00
1c61a3d332 Merge pull request #4079 from spantaleev/renovate/docker.io-metio-matrix-alertmanager-receiver-2025.x
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.19
2025-02-19 09:04:02 +02:00
a56b49da03 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025.2.19 2025-02-19 06:20:40 +00:00
f3cf30717e Merge pull request #4078 from luixxiul/fix
Update docs/configuring-playbook-email.md: add the copyright header
2025-02-19 08:19:37 +02:00
20d1352a49 Update docs/configuring-playbook-email.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-19 15:11:42 +09:00
b4a10a5999 Merge pull request #4077 from spantaleev/renovate/sphinx-8.x
Update dependency Sphinx to v8.2.0
2025-02-18 22:26:55 +02:00
53a55cdc4c Update dependency Sphinx to v8.2.0 2025-02-18 20:25:56 +00:00
9a017adbbf Merge pull request #4076 from spantaleev/renovate/ghcr.io-element-hq-matrix-authentication-service-syn2mas-0.x
Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.14.0
2025-02-18 22:25:20 +02:00
2bca5cb445 Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.14.0 2025-02-18 20:01:35 +00:00
4e981ed36c Mark matrix-reminder-bot's usage with matrix-authentication-service as fixed
Fixup for f798ec81e8.
2025-02-18 21:04:09 +02:00
f798ec81e8 Upgrade matrix-authentication-service (0.13.0 -> 0.14.0) and mark matrix-reminder-bot's usage with it as fixed 2025-02-18 21:00:55 +02:00
3de5bfa6a8 Merge pull request #4075 from luixxiul/fix
Update docs linking to the documentation at the MASH project: add emojis to list items
2025-02-18 16:17:16 +02:00
2f069bfadd Update docs linking to the MASH project's roles: add "online" as suffix in comparison to "locally"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 23:07:00 +09:00
8709981cbe Update docs linking to the MASH project's roles: replace the paper icon with globe
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 23:04:55 +09:00
e621b00370 Update docs linking to the MASH project's roles
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 20:48:41 +09:00
a3954ec4a4 Update docs linking to the documentation at the MASH project: add emojis to list items
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 19:54:07 +09:00
7702983d63 Update jitsi_jvb.yml: replace "Jitsi JVB" to "Jitsi Videobridge (JVB)"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 18:18:26 +09:00
9dc9646fe7 Honoroit v0.9.27 2025-02-18 10:41:20 +02:00
fa43aac082 Merge pull request #4074 from luixxiul/fix
Update docs for BackupBprg and docker-postgres-backup-local: adopt the common description
2025-02-17 18:29:10 +02:00
ac6fb79632 Update docs for BackupBprg and docker-postgres-backup-local: adopt the common description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 01:12:21 +09:00
4b390bb50a fix jitsi role 2025-02-17 18:05:35 +02:00
16bcc80b1f Merge pull request #4073 from luixxiul/fix
Update docs for Jitsi: delegate to the document at the MASH project
2025-02-17 17:50:47 +02:00
cc0811492b Add links to installing.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 00:33:01 +09:00
1693581013 Change "role's document" to "role's documentation"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-18 00:27:01 +09:00
a8c6682333 Apply suggestions from code review
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-02-18 00:24:16 +09:00
3becee78ae Update docs/configuring-playbook-jitsi.md: replace the instruction for troubleshooting with a link to the role's document
The instruction is available at af5b04fc32/docs/configuring-jitsi.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:22 +09:00
61f1357bfc Update docs/configuring-playbook-jitsi.md: remove the instruction for setting up additional JVBs in favor of the role's document
The instruction is available at af5b04fc32/docs/configuring-jitsi.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:18 +09:00
4403340cef Update docs/configuring-playbook-jitsi.md: add a link to the official user guide to the usage section
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:14 +09:00
7aa08149f5 Update docs/configuring-playbook-jitsi.md: copy and edit the section for usage from the Jitsi's role document at the MASH project
Based on af5b04fc32/docs/configuring-jitsi.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:09 +09:00
de14a55e33 Update docs/configuring-playbook-jitsi.md: edit the instruction about enabling Gravatar service
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:04 +09:00
31971011dc Update docs/configuring-playbook-jitsi.md: remove the instructions for other optional configurations in favor of the role's document
- The section about enabling Gravater service is not removed as it is specific to configuring Jitsi on a Matrix server.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:03:00 +09:00
b14a0f7854 Update docs/configuring-playbook-jitsi.md: re-add the recommendation of authentication method
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:54 +09:00
7d9f5c594a Update docs/configuring-playbook-jitsi.md: create a section for instruction to enable authentication
Partially based on 699b458733

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:49 +09:00
2f8152936c Update docs/configuring-playbook-jitsi.md: remove the instructions for adjusting the URL in favor of the role's document at the MASH project
The document is available at af5b04fc32/docs/configuring-jitsi.md

- Add an anchor link to the section for setting the hostname on the role's document

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:38 +09:00
e53056ac48 Update docs/configuring-playbook-jitsi.md: add a note about the example configuration and the instruction to set up additional JVBs
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:33 +09:00
0a33e69e56 Update docs/configuring-playbook-jitsi.md: edit the section for adjusting the playbook configuration
- Add the comment blocks around the variable
- Add links to the role's document

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:26 +09:00
a9c3db2994 Update docs/configuring-playbook-jitsi.md: edit the section for prerequisites
- Add a link to the handbook: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements
- Add a link to the role's document

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:15 +09:00
a86f904baa Update docs for Etherpad and Jitsi: adopt the common description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:02:07 +09:00
26e285e972 Update docs/configuring-playbook-etherpad.md: adopt the common introduction
- Add links to the role's document: https://github.com/mother-of-all-self-hosting/ansible-role-etherpad/blob/main/docs/configuring-etherpad.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:01:58 +09:00
6e94f5f1f7 Update docs/configuring-playbook-jitsi.md: edit the introduction
- Add a link to the role at MASH project and its document: https://github.com/mother-of-all-self-hosting/ansible-role-jitsi

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-17 23:01:32 +09:00
6647e08e6e fix etherpad 2025-02-17 15:08:00 +02:00
6e591da0ab Announce FluffyChat Web support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068
2025-02-17 11:23:22 +02:00
76f235f494 Split matrix_client_fluffychat_systemd_required_services_list into _default, _auto and _custom
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068
2025-02-17 11:18:08 +02:00
d6c60fd538 Split matrix_client_fluffychat_container_additional_networks into _auto and _custom
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4068
2025-02-17 11:18:01 +02:00
a2111dece7 add FluffyChat (#4068)
* add FluffyChat

* capitalization

* Update group_vars/matrix_servers

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* fix link in readme

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-02-17 11:15:15 +02:00
5686f7b4d6 Merge pull request #4071 from spantaleev/renovate/dock.mau.dev-mautrix-signal-0.x
Update dock.mau.dev/mautrix/signal Docker tag to v0.8.0
2025-02-17 10:44:53 +02:00
e4ed0f3587 Merge pull request #4072 from spantaleev/renovate/ajbura-cinny-4.x
Update ajbura/cinny Docker tag to v4.3.2
2025-02-17 09:32:54 +02:00
245192ff7f Update ajbura/cinny Docker tag to v4.3.2 2025-02-17 02:56:08 +00:00
9c52331da6 Update dock.mau.dev/mautrix/signal Docker tag to v0.8.0 2025-02-16 22:27:19 +00:00
628f480ff2 Merge pull request #4069 from spantaleev/renovate/dock.mau.dev-mautrix-meta-0.x
Update dock.mau.dev/mautrix/meta Docker tag to v0.4.4
2025-02-16 20:58:00 +02:00
ecf5f2d0a8 Merge pull request #4070 from spantaleev/renovate/dock.mau.dev-mautrix-whatsapp-0.x
Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.3
2025-02-16 20:57:49 +02:00
4a0855db0a Update dock.mau.dev/mautrix/whatsapp Docker tag to v0.11.3 2025-02-16 18:37:02 +00:00
a0ae269051 Update dock.mau.dev/mautrix/meta Docker tag to v0.4.4 2025-02-16 18:36:59 +00:00
9e11da7829 Upgrade Valkey (v8.0.1-0 -> v8.0.1-1) to make it respect devture_systemd_docker_base_ipv6_enabled 2025-02-16 12:04:55 +02:00
a2cbaf21f2 Upgrade exim-relay (v4.98-r0-4-0 -> v4.98-r0-4-1) to make it respect devture_systemd_docker_base_ipv6_enabled 2025-02-16 12:02:51 +02:00
afb97e18ac Make matrix-coturn role respect devture_systemd_docker_base_ipv6_enabled 2025-02-16 12:01:11 +02:00
54bd6f172a Merge pull request #4066 from luixxiul/fix
Make docs/configuring-playbook-etherpad.md slim
2025-02-15 10:12:12 +02:00
91d991cac6 Add a section for creating admin user
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-15 16:41:41 +09:00
541b46cf8f Add the comment block around the variable
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-15 16:39:21 +09:00
76f9050e6a Merge pull request #4067 from luixxiul/patch-1
Update docs/configuring-playbook-jitsi.md: add the copyright header
2025-02-14 18:08:17 +02:00
39f0239be2 Update docs/configuring-playbook-jitsi.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-15 00:11:51 +09:00
e521ffca80 Make docs/configuring-playbook-etherpad.md slim
- Add links to the role at MASH project and its document
- Replace common instructions with the links to the role at MASH project

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-14 18:16:23 +09:00
15f7f41afe This push request is about handling Traefik ipallowlist to synapse-ad… (#4063)
* This push request is about handling Traefik ipallowlist to synapse-admin application.

It's my first push request. If I forgot something please let me know. :-)

* Changed position of variable and naming for better expandebility of traefik options

* Remove useless `noqa var-naming` comment and too many blank lines at the end of the file

---------

Co-authored-by: AkDk7 <joerg@pannbacker.email>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-02-14 10:23:36 +02:00
ed673bf071 Comment-out claims_imports.displayname for matrix-authentication-service
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4058
2025-02-14 10:03:41 +02:00
5c874f036d Upgrade Etherpad (v2.2.6-0 -> v2.2.7-0) 2025-02-14 09:59:22 +02:00
43ec149957 Merge pull request #4065 from luixxiul/fix
Update docs/configuring-playbook-etherpad.md: add the copyright header
2025-02-13 17:21:30 +02:00
3c9067c4c2 Update docs/configuring-playbook-etherpad.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-13 23:17:15 +09:00
8e7704e43d Merge pull request #4064 from luixxiul/fix
Update docs/container-images.md: add an entry for postgres-backup-local
2025-02-13 13:33:39 +02:00
f4f666e5ec Update docs/container-images.md: add an entry for postgres-backup-local
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-13 20:14:00 +09:00
c27fb2a832 Fix capitalization: postgres → Postgres
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-13 14:00:41 +09:00
830adb35a6 Merge pull request #4061 from luixxiul/fix
Update docs/configuring-playbook-postgres-backup.md: replace the instruction with the reference to MASH project
2025-02-13 06:31:46 +02:00
0d9ae4387d Merge pull request #4062 from spantaleev/renovate/myst-parser-4.x
Update dependency myst-parser to v4.0.1
2025-02-13 06:31:12 +02:00
9f17f748b1 Upgrade ntfy (v2.11.0-0 -> v2.11.0-1)
Ref: https://github.com/mother-of-all-self-hosting/ansible-role-ntfy/pull/2
2025-02-13 06:30:07 +02:00
3620870173 Update dependency myst-parser to v4.0.1 2025-02-12 15:51:55 +00:00
4ee2f6ffea Update docs/configuring-playbook-postgres-backup.md: replace the instruction with the reference to the document copied to the MASH project
This follows the change for docs on BorgBackup with 414445b6bf.

The document on the MASH project is available at https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup/blob/main/docs/configuring-postgres-backup.md.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-13 00:43:16 +09:00
a99c1b28dd Merge pull request #4060 from luixxiul/fix
Update docs/configuring-playbook-postgres-backup.md: add the copyright header
2025-02-12 12:08:07 +02:00
8b129eefba Update docs/configuring-playbook-postgres-backup.md: add the copyright header
This is a preparation to copy the document to its own repository at the MASH project (https://github.com/mother-of-all-self-hosting/ansible-role-postgres-backup).

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-12 18:58:25 +09:00
b1d97c8eaf Merge pull request #4059 from luixxiul/fix
Update docs/configuring-playbook-backup-borg.md: replace the instruction with the reference to the document copied to the MASH project
2025-02-12 09:58:06 +02:00
414445b6bf Update docs/configuring-playbook-backup-borg.md: replace the instruction with the reference to the document copied to the MASH project
Now that the document for setting up BorgBackup has been moved to the MASH project (https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg) it is sensible to remove the details in favor of it.

Because it may as well be noted that the document becomes available locally once the Ansible role is fetched, I think the document itself should not be deleted from the repository.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-12 16:52:16 +09:00
d4a67664a8 Merge pull request #4057 from spantaleev/renovate/ghcr.io-matrix-org-rageshake-1.x
Update ghcr.io/matrix-org/rageshake Docker tag to v1.14.0
2025-02-11 21:09:10 +02:00
44de5d91f1 Update ghcr.io/matrix-org/rageshake Docker tag to v1.14.0 2025-02-11 15:38:53 +00:00
930029ccda borgmatic v1.9.10 2025-02-11 17:38:11 +02:00
2a28960693 Element Web v1.11.92 2025-02-11 17:36:30 +02:00
07e3d513cb Merge pull request #4053 from spantaleev/renovate/ajbura-cinny-4.x
Update ajbura/cinny Docker tag to v4.3.0
2025-02-11 15:32:56 +02:00
e5298c2879 Merge pull request #4056 from spantaleev/renovate/ghcr.io-element-hq-synapse-1.x
Update ghcr.io/element-hq/synapse Docker tag to v1.124.0
2025-02-11 15:32:47 +02:00
38b0e86a2e Update ghcr.io/element-hq/synapse Docker tag to v1.124.0 2025-02-11 13:24:26 +00:00
427585f45e Merge pull request #4055 from edwardando/patch-1
add 302 redirect option as well as reverse-proxy
2025-02-11 15:23:26 +02:00
6dfe5d5349 Update configuring-well-known.md add 302 redirect option as well as reverse-proxy 2025-02-11 10:03:20 +00:00
00bde4a0ce Merge pull request #4054 from spantaleev/renovate/joseluisq-static-web-server-2.x
Update joseluisq/static-web-server Docker tag to v2.36.0
2025-02-11 11:09:36 +02:00
34cded9b8d Update joseluisq/static-web-server Docker tag to v2.36.0 2025-02-11 09:08:51 +00:00
44d5228011 Update ajbura/cinny Docker tag to v4.3.0 2025-02-11 09:08:46 +00:00
c6df7d1725 Merge pull request #4052 from luixxiul/fix
Update docs/configuring-playbook-backup-borg.md for the MASH project
2025-02-11 11:08:08 +02:00
86beae4863 Update docs/configuring-playbook-backup-borg.md: sync the description with the document for the MASH project
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-11 15:56:02 +09:00
5eb2e28eca Add the copyright header for reusing the document for the MASH project
This is preparation for the document to be copied to the MASH project at https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-11 15:55:52 +09:00
abf9bb41ff Merge pull request #4051 from luixxiul/fix
Minor changes of docs
2025-02-10 19:26:29 +02:00
ea18d9d87e Remove blank lines around lists titled with "Table of contents"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 23:51:50 +09:00
39cd32aa26 Update docs/maintenance-postgres.md: add the warning styling
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 23:51:42 +09:00
f41337708b Merge pull request #4050 from luixxiul/fix
Create instruction sections for Hookshot and matrix-media-repo on each document
2025-02-10 14:45:47 +02:00
561ec6d622 Update docs/configuring-playbook-synapse.md: add an anchor link to the subsection on the Prometheus document
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:40:24 +09:00
471944a72c Update docs/configuring-playbook-prometheus-grafana.md: remove instructions for setting up enabling and exposing metrics for MMR in favor of the one on the document for it
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:37:24 +09:00
11d4233088 Update docs/configuring-playbook-matrix-media-repo.md: replace variables for Hookshot with ones for MMR
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:37:13 +09:00
2ffea4fe73 Update docs/configuring-playbook-matrix-media-repo.md: copy metrics section from configuring-playbook-bridge-hookshot.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:37:03 +09:00
60457af840 Update docs/configuring-playbook-matrix-media-repo.md: remove descriptions about metrics for now
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:36:53 +09:00
63ff7a08ee Update docs/configuring-playbook-matrix-media-repo.md: move a note about disabling other media store roles up
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:36:42 +09:00
c0f440a0aa Update docs/configuring-playbook-bridge-hookshot.md: remove the line for metrics from the URLs table in favor of the section below
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:36:17 +09:00
a814d5a499 Update docs/configuring-playbook-bridge-hookshot.md: add the subsection for enabling Grafana
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:36:07 +09:00
39c1c8b925 Update docs/configuring-playbook-bridge-hookshot.md: move the section for matrix-appservice-webhooks up
It should make the section for Grafana more noticiable.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:35:58 +09:00
210a431c82 Update docs for metrics of Hookshot
As the document for Hookshot has the section for instrucion about configuring its metrics, this commit moves the instruction to it.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:35:42 +09:00
88e946173f Update docs/configuring-playbook-prometheus-grafana.md: move descriptions about configuring Synapse metrics out of the table
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:35:21 +09:00
968129398f Update docs/configuring-playbook-prometheus-grafana.md: remove duplicated instruction to refer matrix_metrics_exposure_http_basic_auth_users
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:35:03 +09:00
bfe8694795 Update docs/configuring-playbook-prometheus-grafana.md: add the instruction about setting dedicated credentials to each endpoint
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:34:53 +09:00
da8e446e02 Update docs/configuring-playbook-prometheus-grafana.md: move some descriptions out of the table
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:34:42 +09:00
64d9340f70 Update docs/configuring-playbook-prometheus-grafana.md: add another example for exposing metrics with dedicated credentials for matrix-media-repo
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:33:46 +09:00
16bb022390 Update docs/configuring-playbook-prometheus-grafana.md: create a section for exposing metrics of other services/roles focusing on Hookshot
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 20:33:36 +09:00
97c0f1ae7c Merge pull request #4049 from luixxiul/patch-1
Update docs/configuring-playbook-prometheus-grafana.md
2025-02-10 10:02:05 +02:00
042f587ba4 Update docs/configuring-playbook-prometheus-grafana.md: add an entry for matrix_media_repo_metrics_proxying_enabled
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 15:58:41 +09:00
dbab4a5329 Update docs/configuring-playbook-prometheus-grafana.md: move down the entries for exposing metrics of Synapse
The metrics of Synapse belongs to the category of individual services not introduced on the document.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 15:54:43 +09:00
833c73de56 Update docs/configuring-playbook-prometheus-grafana.md: remove the table with one entry
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 15:54:29 +09:00
8cbeb3d7dd Update docs/configuring-playbook-prometheus-grafana.md: create a section for the Node Exporter
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 15:54:17 +09:00
9aae4796ab Merge pull request #4048 from luixxiul/patch-1
Merge docs for prometheus-nginxlog-exporter and Postgres exporter to configuring-playbook-prometheus-grafana.md
2025-02-10 06:53:39 +02:00
66753136c0 Delete docs/configuring-playbook-prometheus-nginxlog.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 02:00:56 +09:00
7c81c148cf Update docs for Prometheus: move other relevant instructions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 02:00:36 +09:00
2180c58e62 Update docs for Prometheus: move the description for Docker image compatibility
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 02:00:19 +09:00
7907a649ee Update docs/configuring-playbook-prometheus-grafana.md: remove variables for Sliding Sync proxy metrics
The component has been deprecated and it is not really sensible to keep those entries.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 02:00:06 +09:00
be02f12fed Update docs/configuring-playbook-prometheus-grafana.md: fix the variables name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 01:59:57 +09:00
e4d3b00927 Partially merge docs for prometheus-nginx-log-exporter to docs/configuring-playbook-prometheus-grafana.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 01:59:43 +09:00
c5019b5a30 Update docs/configuring-playbook-prometheus-nginxlog.md: add the copyright header
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-10 01:59:32 +09:00
2df8793a9c Update docs/configuring-playbook-prometheus-grafana.md: add two entries for journalctl (matrix-prometheus-node-exporter and matrix-prometheus-postgres-exporter)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:24:41 +09:00
a67745b1fc Remove the table for variables about the Postgres Server Exporter
As prometheus_postgres_exporter_container_labels_traefik_enabled is explained below, it is sensible to remove this duplicated entry in favor of it.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:59 +09:00
f4bc9c98ed Update docs/configuring-playbook-prometheus-grafana.md: remove the note about the component disabled by default
It is not common to add a note about the component disabled by default.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:49 +09:00
a691306614 Update docs/configuring-playbook-prometheus-grafana.md: create sections for adjusting configurations of Prometheus and Grafanato decrease the section level
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:44 +09:00
00f3eda4dc Update docs for Prometheus: adopt the common warning message
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:39 +09:00
152031bbae Update docs/configuring-playbook-prometheus-grafana.md: move the security notice to the top
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:35 +09:00
4ecf6c2ba3 Update docs/configuring-playbook-prometheus-grafana.md: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:30 +09:00
8b7b7732ef Update docs/configuring-playbook-prometheus-grafana.md: move variables for setting username and password of Postgres exporter to the YAML block above
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:13:23 +09:00
505ff58292 Update docs/configuring-playbook-prometheus-grafana.md: tidy the section for Postgres exporter
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:11:58 +09:00
07cca8f4b4 Merge the document for instruction about metrics for Postgres to docs/configuring-playbook-prometheus-grafana.md to improve maintainability
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:05:25 +09:00
5ca5613d95 Update docs/configuring-playbook-prometheus-postgres.md: add the copyright header before deleting the file
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:05:00 +09:00
747e8ad589 Update docs/configuring-playbook-prometheus-grafana.md: switch the position of "Grafana" and "Prometheus" in the first sentence
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 18:04:49 +09:00
c10f47487e Merge pull request #4047 from spantaleev/renovate/docker.io-metio-matrix-alertmanager-receiver-2025.x
Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025
2025-02-09 10:30:48 +02:00
7ae30239db Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2025 2025-02-09 08:28:00 +00:00
883421d2aa Merge pull request #4046 from luixxiul/fix
Update docs/configuring-playbook-prometheus-grafana.md
2025-02-09 14:20:17 +09:00
3d4c9bd0e9 Update docs/configuring-playbook-prometheus-grafana.md
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-02-09 13:35:58 +09:00
d7eb3f2765 Update docs/configuring-playbook-prometheus-grafana.md: move up the note about creating a CNAME record
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:31:55 +09:00
5e2bc80e6b Update docs/configuring-playbook-prometheus-grafana.md: move down the optional configuration
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:31:40 +09:00
2163daead2 Update docs/configuring-playbook-prometheus-grafana.md: move the comments out of the YAML block
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:31:29 +09:00
0154bc9931 Update docs/configuring-playbook-prometheus-grafana.md: move descriptions specific to each component to its subsection
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:30:12 +09:00
598cec4257 Update docs/configuring-playbook-prometheus-grafana.md: add the note label
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:30:03 +09:00
35b88ced00 Update docs/configuring-playbook-prometheus-grafana.md: split the table for the variables into two
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:29:52 +09:00
781f6d68a7 Update docs/configuring-playbook-prometheus-grafana.md: comment out grafana_anonymous_access as it is disabled by default
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:29:41 +09:00
8ecc83f2a9 Update docs/configuring-playbook-prometheus-grafana.md: copy the comments from the main.yml file
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:07:29 +09:00
15e889c21a Update docs/configuring-playbook-prometheus-grafana.md: comment out lines for configs disabled by default
- Replace the comments for them

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:07:06 +09:00
8d52dc985a Update docs/configuring-playbook-prometheus-grafana.md: add sections for Prometheus and Grafana
The introductions are copied from their configuration files.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:06:41 +09:00
19f17bb729 Update docs/configuring-playbook-prometheus-grafana.md: use the common placeholders
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:06:08 +09:00
1e7dba3737 Update docs/configuring-playbook-prometheus-grafana.md: move up the section for explanations about the variables
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-09 00:05:45 +09:00
2a9cf7de97 Update roles/custom/matrix-authentication-service/tasks/syn2mas.yml: fix punctuation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-08 01:25:05 +09:00
8df253b80a Update roles/custom/matrix-authentication-service/defaults/main.yml: minor changes to comments
- Fix punctuations
- Set the common expression for matrix_authentication_service_config_email_mode

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-08 01:24:49 +09:00
4962be7f59 Merge pull request #4045 from luixxiul/fix
Update docs/faq.md and docs for importing data: adopt the common introduction
2025-02-07 18:04:57 +02:00
0f940af397 Update docs/faq.md and docs for importing data: adopt the common introduction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-08 00:52:45 +09:00
1ddab52294 Update docs/configuring-playbook-prometheus-grafana.md: add periods to sentences
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 23:33:29 +09:00
cfe5010773 Update docs/configuring-playbook-synapse-usage-exporter.md: add the section "What does it do?"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 23:01:42 +09:00
6b52755192 Update files for Pantalaimon: adopt the common description for logging verbosity
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 18:53:51 +09:00
5e430ba72a Merge pull request #4044 from luixxiul/fix
Fix capitalization: dimension → Dimension
2025-02-07 11:34:06 +02:00
b72aec0c18 Update docs/configuring-playbook-bridge-hookshot.md: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:59:55 +09:00
c202091063 Update roles/custom/matrix-dimension/tasks/setup_install.yml: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:59:46 +09:00
298bc21d54 Update roles/custom/matrix-bridge-hookshot/defaults/main.yml: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:59:33 +09:00
522c59038e Update examples/reverse-proxies/nginx/matrix.conf: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:59:15 +09:00
1db8254074 Merge pull request #4043 from luixxiul/fix
Update docs: cosmetic edits
2025-02-07 10:35:08 +02:00
e356f404ad Update docs/maintenance-synapse.md: make the loose list tight
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:27:15 +09:00
47525903b0 Update docs/configuring-playbook-s3.md: make the loose list tight
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:27:08 +09:00
331fe31ecf Update docs/configuring-playbook-bridge-matrix-bridge-sms.md: remove a blank line
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:26:57 +09:00
9a287d04ee Update docs/configuring-playbook-matrix-corporal.md: remove the hr HTML elements used for styling
Now that the warning message is styled with the fancy decoration, it is no longer to wrap them with the hr HTML elements as they are redundant.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 17:26:47 +09:00
c3f19cb7c3 Merge pull request #4042 from luixxiul/fix
Update docs to add the common section "Troubleshooting"
2025-02-07 10:02:26 +02:00
1bccda9629 Update docs/configuring-playbook-s3-goofys.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:32:32 +09:00
b72de6995d Update docs/configuring-playbook-postgres-backup.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:24:59 +09:00
eff8c8e4b3 Update docs/configuring-playbook-jitsi.md: adopt the common instruction for troubleshooting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:21:43 +09:00
ddeae3c1c4 Update docs/configuring-playbook-bridge-hookshot.md: fix the service name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:12:27 +09:00
5961364125 Update docs/configuring-playbook-bridge-wechat.md: fix the service name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:11:09 +09:00
7f8f241e81 Update docs/configuring-playbook-bridge-appservice-webhooks.md: remove the duplicated instruction in favor of the dedicated section below
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:09:32 +09:00
4e977bd3b2 Update docs/configuring-playbook-bot-matrix-registration-bot.md: fix the service name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:07:00 +09:00
63a6d7e73a Update docs/configuring-playbook-prometheus-grafana.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 16:03:40 +09:00
145d2cc675 Update docs for the other mautrix bridges: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 15:39:47 +09:00
c9ae1efa07 Update docs for Meta Instagram and Messenger: add the common section "Troubleshooting"
The comments are copied from the configuration files.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 15:35:13 +09:00
c69892ec1f Update docs/configuring-playbook-bridge-mautrix-wsproxy.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 15:34:47 +09:00
e4e34333da Update files for some mautrix bridges: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 15:34:38 +09:00
da398b4ba5 Use config.yml on the server for baibot
Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039

Partially reverts 30dad8ba27 which renamed
`config.yml` to `config.yaml` in the playbook and on the server, for
consistency with the rest of the playbook.

The problem is that:

- baibot defaults to looking for `config.yml`, not `config.yaml` (as provided).
  This can be worked around by specifying a new `BAIBOT_CONFIG_FILE_PATH=config.yaml`
  environment variable. This brings more complexity.

- renaming the target file (on the server) to `config.yaml` means people
  with an existing installation would drag around the old file (`config.yml`) as well,
  unless we create a new Ansible task (`ansible.builtin.file` with `state: absent`) to remove
  the old file. This brings more complexity as well.

https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4039 adjusts where the file is mounted,
which fixes the immediate problem (baibot not starting), but still means
people will end up with 2 config files for baibot (`config.yml` and `config.yaml`).

This patch, reverts a bit more, so that we still continue to use `config.yml` on the server.
People who have upgraded within the last ~17 hours may end up with 2 files, but it shouldn't be too many of them.
2025-02-07 08:29:14 +02:00
f914889d36 Merge pull request #4040 from spantaleev/renovate/docker-7.x
Update dependency docker to v7.4.5
2025-02-07 08:25:40 +02:00
5e07f3a6e0 Merge pull request #4041 from luixxiul/fix
Update docs to add the section "Extending the configuration"
2025-02-07 08:22:52 +02:00
8592e5a185 Update dependency docker to v7.4.5 2025-02-06 22:05:11 +00:00
049769514d Update docs/configuring-playbook-prometheus-grafana.md: add the common section "Extending the configuration" for Prometheus
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 03:35:46 +09:00
bab827c62c Update docs/configuring-playbook-sliding-sync-proxy.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 03:35:32 +09:00
fcaf437a9e Merge pull request #4038 from luixxiul/fix
Update docs for configuring systemd timer calendars
2025-02-06 20:24:19 +02:00
2e986012c4 Update docs/configuring-playbook-synapse-s3-storage-provider.md: add the instruction to edit the schedule
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 01:15:17 +09:00
6531c61c7a Update files for matrix-coturn: make the reloading schedule configurable with variables
This commit adopts the common format which can be seen for BorgBackup. It should be probably helpful, though I am not quite sure how much.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-07 01:13:45 +09:00
c03140c825 Merge pull request #4037 from luixxiul/fix
Update docs for Etherpad, Dimension, coturn, Postmoogle, conduwuit, Appservice-KakaoTalk, Beeper-LinkedIn, Sliding Sync proxy
2025-02-06 17:38:34 +02:00
056a502d5f Update files for Sliding Sync proxy: change "matrix-sliding-sync-proxy" to "matrix-sliding-sync"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:22:30 +09:00
4a178b534b Update docs/configuring-playbook-sliding-sync-proxy.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:17:29 +09:00
f920bf2cba Update docs/configuring-playbook-bridge-beeper-linkedin.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:17:22 +09:00
b0e67c365b Update docs/configuring-playbook-bridge-appservice-kakaotalk.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:17:11 +09:00
cf8e5f8e0a Update docs/configuring-playbook-conduwuit.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:17:00 +09:00
76f35d95a2 Update docs/configuring-playbook-bridge-postmoogle.md: adopt the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:16:47 +09:00
271f386d1b Update docs/configuring-playbook-turn.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:16:40 +09:00
dd4690fba4 Update docs/configuring-playbook-dimension.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:16:24 +09:00
bad9785103 Update docs/configuring-playbook-etherpad.md: add the common section "Troubleshooting"
See: https://etherpad.org/doc/v2.2.7/index.html

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 23:11:29 +09:00
f3f36a8cfe Merge pull request #4036 from luixxiul/fix
Update files for rageshake, matrix-registration-bot, baibot
2025-02-06 15:51:14 +02:00
589aa949f4 Update docs/configuring-playbook-bot-baibot.md: adopt the common description for the section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:43:33 +09:00
30dad8ba27 Updat files for baibot: change config.yml.j2 → config.yaml.j2
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:43:19 +09:00
f732007b37 Update files for matrix-registration-bot: add the common section for "Troubleshooting"
See: https://github.com/moan0s/matrix-registration-bot/blob/main/README.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:42:52 +09:00
66df132e66 Update files for matrix-registration-bot: change config.yml.j2 → config.yaml.j2
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:42:28 +09:00
0980339e70 Update docs/configuring-playbook-bot-matrix-registration-bot.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:42:07 +09:00
fd2428972d Update docs/configuring-playbook-rageshake.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 21:41:08 +09:00
51f0a315ac Update files for rageshake: change config.yml.j2 → config.yaml.j2
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 18:26:08 +09:00
f01d95f2dd Update docs/configuring-playbook-rageshake: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 18:25:48 +09:00
410b563415 Merge pull request #4033 from luixxiul/fix
Replace "Warnings" with the colorfully decorated one
2025-02-06 09:34:28 +02:00
a21cae267e Merge pull request #4035 from spantaleev/renovate/nginx-1.x
Update nginx Docker tag to v1.27.4
2025-02-06 09:32:38 +02:00
48296b2b30 Merge pull request #4034 from luixxiul/patch-1
Update docs/configuring-playbook-bot-baibot.md: adopt the common description for increasing logging verbosity
2025-02-06 07:57:33 +02:00
f40b26d3d3 Update nginx Docker tag to v1.27.4 2025-02-06 05:17:01 +00:00
bf7f2f6734 Update docs/configuring-playbook-bot-baibot.md: adopt the common description for increasing logging verbosity
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 13:38:54 +09:00
16eda7a072 Replace "Warnings" with the colorfully decorated one
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-06 00:20:53 +09:00
d7c34a1f99 Merge pull request #4028 from luixxiul/fix
Update docs and files for backup-borg and synapse-auto-compressor
2025-02-05 11:21:48 +02:00
29eeca9265 Merge pull request #4029 from luixxiul/patch-1
Update docs/faq.md: replace the link to a new issue
2025-02-05 11:21:19 +02:00
c91b25c2b5 Merge pull request #4032 from luixxiul/patch-2
Fix capitalization: nginx
2025-02-05 07:22:33 +02:00
b1856f0a22 Fix capitalization: nginx
It should be either NGINX or nginx, and this commit converts the string in uppercase to lowercase.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 13:11:04 +09:00
16761c4c17 Update Matrix Authentication Service docs in light of MAS v0.13.0 - part 2
Ref:

- https://github.com/element-hq/matrix-authentication-service/issues/3440
- https://github.com/element-hq/matrix-authentication-service/pull/3447
2025-02-04 21:08:32 +02:00
97b458bec8 Update Matrix Authentication Service docs in light of MAS v0.13.0
Ref:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/4030
- https://github.com/element-hq/matrix-authentication-service/releases/tag/v0.13.0
- https://github.com/element-hq/matrix-authentication-service/issues/1505
- https://github.com/element-hq/matrix-authentication-service/pull/3784
2025-02-04 21:05:40 +02:00
b4bb12caa4 Merge pull request #4031 from spantaleev/renovate/ghcr.io-element-hq-matrix-authentication-service-syn2mas-0.x
Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.13.0
2025-02-04 20:42:19 +02:00
e301a0357f Merge pull request #4030 from spantaleev/renovate/ghcr.io-element-hq-matrix-authentication-service-0.x
Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.13.0
2025-02-04 20:42:05 +02:00
18bd34a665 Update ghcr.io/element-hq/matrix-authentication-service/syn2mas Docker tag to v0.13.0 2025-02-04 16:42:48 +00:00
2123aa5eb2 Update ghcr.io/element-hq/matrix-authentication-service Docker tag to v0.13.0 2025-02-04 16:42:41 +00:00
030f0c6e5c Update docs/faq.md: replace the link to a new issue
This commit replaces the link to a blank issue to the one to the chooser.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 01:24:35 +09:00
1bb21388c5 Update docs/configuring-playbook-backup-borg.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 00:25:20 +09:00
08e34a4a6f Rename "matrix_synapse_auto_compressor_calendar" to "matrix_synapse_auto_compressor_schedule" for consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 00:25:11 +09:00
b0c73c8378 Update docs for backup-borg and synapse-auto-compressor: use the common descriptions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 00:11:14 +09:00
931e6e2dce Update docs/configuring-playbook-synapse-auto-compressor.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 00:10:49 +09:00
fac9ac1640 Update docs/configuring-playbook-synapse-auto-compressor.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-05 00:10:32 +09:00
5d7971a790 borgmatic v1.9.9 2025-02-04 15:05:39 +02:00
d6a18af5b3 Merge pull request #4027 from luixxiul/fix
Update faq.md and maintenance-and-troubleshooting.md:
2025-02-04 12:02:26 +02:00
143f8a5415 Update docs/faq.md: add the link to maintenance-and-troubleshooting.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:38:01 +09:00
0b1ee94b00 Update docs/maintenance-and-troubleshooting.md: add the link to Synapse maintenance documentation page
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:27:32 +09:00
46a821af75 Update docs/faq.md: remove an emphasis from the entry for troubleshooting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:27:25 +09:00
05fb62e525 Update docs/faq.md: change the entry for troubleshooting into a question
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:24:16 +09:00
e36848e9e6 Update docs/faq.md: merge the sections "Troubleshooting" and "Maintenance"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:23:56 +09:00
1be1a5e397 Update docs/faq.md and docs/maintenance-and-troubleshooting.md: move entries which are instruction and how-to, rather than questions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:23:21 +09:00
bd794e8c2c Update maintenance-and-troubleshooting.md: create sections "Maintenance" and "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:22:53 +09:00
ecdf370cb7 Update docs/faq.md and docs/maintenance-and-troubleshooting.md: move the troubleshooting section from the FAQ page to the dedicated page
As the theme deserves the dedicated page and we already have it, it seems sensible to move the topic from the general FAQ page.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:22:36 +09:00
61c9d4c55c Update docs/faq.md and docs/maintenance-and-troubleshooting.md: adopt the common description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:21:55 +09:00
038d046612 Update docs/maintenance-and-troubleshooting.md: tidy up
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-04 17:20:36 +09:00
2473581b3a Merge pull request #4025 from luixxiul/fix
Update docs for Synapse
2025-02-04 08:34:31 +02:00
c399992542 Remove matrix-bridge-mautrix-hangouts role
Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3863
2025-02-03 17:13:06 +02:00
98d5ede2c6 grafana v11.5.1 2025-02-03 16:42:34 +02:00
7e02e9fde1 Merge pull request #4026 from adam-kress/master
Upgrade Jitsi (v9955-0 -> v10008-0)
2025-02-03 15:59:16 +02:00
bd42874ed7 Upgrade Jitsi (v9955-0 -> v10008-0) 2025-02-03 07:46:58 -05:00
d5d64f7ca3 Upgrade matrix-corporal (3.1.2 -> 3.1.3) 2025-02-03 11:46:43 +02:00
4c9ea2ef30 Upgrade exim-relay (v4.98-r0-3-0 -> v4.98-r0-4-0) 2025-02-03 11:00:19 +02:00
da0952e058 Update docs for Synapse: add anchor links to each other
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 17:46:25 +09:00
b67e5729da Update docs/configuring-playbook-synapse: remove the duplicated anchor link
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 17:45:46 +09:00
8fb2719a68 Update docs for Synapse: move descriptions from docs/maintenance-and-troubleshooting.md and create the common section "Troubleshooting"
I am not sure what would be the motive to put the instruction for debugging Synapse on maintenance-and-troubleshooting.md above all, but now that we have the common section for an instruction about troubleshooting, it should make sense to move the instruction to the documentation page for configuring Synapse.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 17:41:34 +09:00
9cb3c99bf9 Upgrade devture/ansible and note that it also includes agru now
Ref https://github.com/devture/docker-ansible/issues/2
2025-02-03 10:40:27 +02:00
b9eb39794e Merge pull request #4023 from luixxiul/patch-1
Update docs/just.md: fix the description
2025-02-03 10:19:29 +02:00
fb47618e04 Merge pull request #4024 from luixxiul/fix
Update docs/configuring-playbook-traefik.md: adopt the common descriptions and sections
2025-02-03 10:19:19 +02:00
7f1695b2b5 Update docs/configuring-playbook-traefik.md: add the common section "Installing"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 17:07:23 +09:00
0c60d0898a Update docs/configuring-playbook-traefik.md: change section levels of ones related to reverse-proxying
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:59:07 +09:00
eb51913dea Update docs/configuring-playbook-traefik.md: add the common section "Adjusting the playbook configuration"
- Move the section not related to adjusting the playbook configurations out of it

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:59:00 +09:00
c2cd5fdb48 Update docs/configuring-playbook-traefik.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:58:50 +09:00
452bc3273f Update docs/configuring-playbook-traefik.md: add the common section "Extending the configuration"
Refer:
- docs/configuring-playbook-backup-borg.md
- https://github.com/mother-of-all-self-hosting/ansible-role-traefik/blob/main/defaults/main.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:58:41 +09:00
f5c6b61561 Update docs/just.md: fix the description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:18:48 +09:00
30d46397e6 Update docs/configuring-playbook-traefik.md: adopt the common format to descriptions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:04:38 +09:00
a321b069f9 Update docs/configuring-playbook-traefik.md: add the common introduction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-03 16:04:15 +09:00
f9e62ad2a2 Merge pull request #4020 from luixxiul/fix
Update docs and config files for various services
2025-02-03 08:26:44 +02:00
e5c5b3aa9f Merge pull request #4022 from spantaleev/renovate/gnuxie-draupnir-2.x
Update gnuxie/draupnir Docker tag to v2.1.0
2025-02-02 21:59:23 +02:00
1034c06fc7 Update gnuxie/draupnir Docker tag to v2.1.0 2025-02-02 16:54:40 +00:00
7db5d47cc6 Merge pull request #4021 from spantaleev/renovate/babel-2.x
Update dependency babel to v2.17.0
2025-02-02 07:56:33 +02:00
a1430f4d3f Update dependency babel to v2.17.0 2025-02-01 22:06:58 +00:00
4853de26de Upgrade Traefik (v3.3.2-1 -> v3.3.3-0) 2025-02-01 08:15:36 +02:00
8889b018f3 Adjust baibot's openai-config.yml.j2 to avoid max_response_tokens if unspecified
Reasoning models like `o1` and `o3` and their `-mini` variants
report errors if we try to configure `max_response_tokens` (which
ultimately influences the `max_tokens` field in the API request):

> invalid_request_error: Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead. (param: max_tokens) (code: unsupported_parameter)

`max_completion_tokens` is not yet supported by baibot, so the best we
can do is at least get rid of `max_response_tokens` (`max_tokens`).

Ref: db9422740c
2025-02-01 07:56:06 +02:00
25298cb696 Update docs/configuring-playbook-sygnal.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:47:52 +09:00
6bd94d860f Update docs/configuring-playbook-jitsi.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:47:28 +09:00
42694883e6 Update files for Mjolnir: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:47:17 +09:00
57172d85e4 Update docs/configuring-playbook-synapse-admin.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:46:49 +09:00
39066954b3 Update docs/configuring-playbook-synapse-admin.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:46:29 +09:00
17761aaa87 Update docs/configuring-playbook-synapse-usage-exporter.md: adopt the common description for the introduction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:46:14 +09:00
a67fea982c Update docs/configuring-playbook-synapse-usage-exporter.md: adopt the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:45:54 +09:00
1242281fa2 Update docs/configuring-playbook-synapse-usage-exporter.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:44:54 +09:00
cc3fa496ef Update docs/configuring-playbook-matrix-media-repo.md: adopt the common format
- Adopt the common introduction
- Remove the ToC
- Merge sections for additional configuration options and extending the configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:44:37 +09:00
66bb56db18 Update docs/configuring-playbook-matrix-media-repo.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:44:27 +09:00
74b95b57f1 Update docs/configuring-playbook-matrix-media-repo.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:43:56 +09:00
f38c69b30b Update docs/configuring-playbook-client-hydrogen.md: adopt the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:43:38 +09:00
533ab41f79 Update docs/configuring-playbook-client-hydrogen.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:43:22 +09:00
69c6407372 Update docs/configuring-playbook-client-cinny.md: adopt the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:42:54 +09:00
bd7f35d383 Update docs/configuring-playbook-client-cinny.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:42:36 +09:00
85b7661249 Update docs/configuring-playbook-dendrite.md: add the common section "Troubleshooting"
See: https://matrix-org.github.io/dendrite/administration/troubleshooting#1-logs

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:42:07 +09:00
18983f6603 Update docs/configuring-playbook-conduit.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:41:48 +09:00
811abc09a8 Update files for matrix-appservice-discord: sort the logging levels
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:41:23 +09:00
97a7540e5d Update docs/configuring-playbook-bridge-appservice-discord.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:41:09 +09:00
90bb956a2e Update configuring-playbook-bridge-appservice-discord.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 02:40:38 +09:00
efcac431bd Merge pull request #4018 from luixxiul/patch-1
Update docs/configuring-playbook-prometheus-nginxlog.md
2025-01-31 18:23:07 +02:00
7f90dda4fc Update docs/configuring-playbook-prometheus-nginxlog.md: move down the section "Docker Image Compatibility"
The section seems to be less relevant than the one for saving metrics on a Prometheus server.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 01:05:48 +09:00
5543e1523c Add warning about WeChat bridge not working anymore 2025-01-31 17:58:39 +02:00
a6364cc6a9 Update docs/configuring-playbook-prometheus-nginxlog.md: change the section "Security and privacy" into the warning blockquote
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 00:52:10 +09:00
57bc9f46cc Update docs/configuring-playbook-prometheus-nginxlog.md: move sections related to configuration to the dedicated one
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 00:52:04 +09:00
ac926fb6b7 Update docs/configuring-playbook-prometheus-nginxlog.md: adopt the common format for the introduction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 00:51:57 +09:00
421f13f6c5 Update docs/configuring-playbook-prometheus-nginxlog.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 00:48:10 +09:00
f8ad4384fa Update docs/configuring-playbook-prometheus-nginxlog.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-02-01 00:47:49 +09:00
b0de0ac1d0 Merge pull request #4017 from luixxiul/fix
Update docs for Element Web and SchildiChat Web
2025-01-31 17:25:20 +02:00
0318ee1f38 Remove ensure-matrix-users-created Ansible tag recommendation from WeChat bot docs
This tag does nothing for the WeChat bot user.
It appears like the matrix-wechat appservice is supposed to register it.
2025-01-31 17:04:41 +02:00
0515787de2 Upgrade Traefik (v3.3.2-0 -> v3.3.2-1) and remove traefik_config_certificatesResolvers_acme_email references
Ref:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4014
- 21b36ce336

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4014
2025-01-31 14:33:34 +02:00
21b003ef27 Update docs/configuring-playbook-client-element-web.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-31 18:05:25 +09:00
45a09bc37d Update docs/configuring-playbook-client-schildichat-web.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-31 18:05:16 +09:00
22ea3b00d6 Update docs for Element Web and SchildiChat Web: add the instruction to change the default country code to help to make the clients less British
Note the order of the instructions is intended to align with that of configurations on main.yml files.

Also: replace the explanations with the one available at https://github.com/element-hq/element-web/blob/develop/docs/config.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-31 18:04:52 +09:00
cbcbe33a91 Update docs for Element Web and SchildiChat Web: add the instruction to change the default theme from light to dark
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-31 18:04:32 +09:00
bd07b23ce1 Merge pull request #4013 from luixxiul/fix
Update docs and config files for various components
2025-01-31 10:43:35 +02:00
f9d6c052eb Merge pull request #4016 from luixxiul/patch-1
Merge docs/maintenance-checking-services.md to docs/maintenance-and-troubleshooting.md
2025-01-31 10:43:14 +02:00
42b19566c2 Merge docs/maintenance-checking-services.md to docs/maintenance-and-troubleshooting.md
IMHO it seems to be sensible to concentrate details about maintenance at one documentation page for the sake of maintainability, rather than maintaining pages with a single short section.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-31 17:13:46 +09:00
aa70e61dd8 Merge pull request #4015 from spantaleev/renovate/certifi-2025.x
Update dependency certifi to v2025
2025-01-31 08:41:56 +02:00
0e4c7aad7f Update dependency certifi to v2025 2025-01-31 05:07:25 +00:00
a7fcd12b88 Synapse Admin v0.10.3-etke37 2025-01-30 18:43:15 +02:00
c3a8059dd4 Update docs/configuring-playbook-bridge-matrix-bridge-sms.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:16:36 +09:00
0690cafa56 Update docs/configuring-playbook-bridge-matrix-bridge-sms.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:13:15 +09:00
8d6a3ef532 Update docs/configuring-playbook-matrix-authentication-service.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:09:48 +09:00
aa39042934 Update docs/configuring-playbook-matrix-authentication-service.md: add the common section "Usage"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:09:34 +09:00
605408d9ab Update docs/configuring-playbook-matrix-authentication-service.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:09:21 +09:00
da378b75da Update files for go-skype-bridge: common comments for log levels
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:07:36 +09:00
e86254bd54 Update docs/configuring-playbook-bridge-go-skype-bridge.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:07:11 +09:00
a74322a561 Update docs/configuring-playbook-dynamic-dns.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 02:03:08 +09:00
ad5e8dad01 Update docs/configuring-playbook-dynamic-dns.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:55:43 +09:00
4aaed67c21 Update docs/configuring-playbook-matrix-registration.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:24:26 +09:00
8c99b3c908 Update docs/configuring-playbook-matrix-registration.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:24:13 +09:00
a21741a7b3 Update docs/configuring-playbook-matrix-corporal.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:22:56 +09:00
1719512f53 Update docs/configuring-playbook-matrix-corporal.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:22:38 +09:00
94491aa400 Update docs/configuring-playbook-bridge-heisenbridge.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:21:58 +09:00
8a1e3fd21a Update docs/configuring-playbook-bridge-heisenbridge.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:21:35 +09:00
812e6686e0 Update files for matrix-appservice-webhooks: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:20:42 +09:00
aabdb07ed7 Update configuring-playbook-bridge-appservice-webhooks.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:20:03 +09:00
bad06d01c2 Update files for matrix-appservice-irc: adopt the common description for logging verbosity
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:19:25 +09:00
684f1dc16e Update files for matrix-appservice-irc: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:19:06 +09:00
2d34074858 Update configuring-playbook-bridge-appservice-irc.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:18:35 +09:00
1be6467878 Update docs/configuring-playbook-bot-maubot.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:17:41 +09:00
e77487ea05 Update docs/configuring-playbook-bot-maubot.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-30 01:17:23 +09:00
635cfbc27d Merge pull request #4012 from luixxiul/fix
Update docs/configuring-playbook-ntfy.md
2025-01-29 17:59:52 +02:00
64672bfa70 Update docs/configuring-playbook-ntfy.md: add the instruction for checking logs to the section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-29 18:27:52 +09:00
0ae2f08e33 Update docs/configuring-playbook-ntfy.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-29 18:26:07 +09:00
0dd7b1a6b7 Merge pull request #4009 from luixxiul/fix
Update README.md and docs/container-images.md
2025-01-29 10:56:21 +02:00
1d445dea4b Update comments for matrix_*_container_image_customizations_dockerfile_body_custom variables to mention matrix_*_container_image_customizations_enabled
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/4011
2025-01-29 06:38:48 +02:00
a9d4782f92 Merge pull request #4010 from spantaleev/renovate/vectorim-element-web-1.x
Update vectorim/element-web Docker tag to v1.11.91
2025-01-28 20:51:34 +02:00
c9b2278b83 Update vectorim/element-web Docker tag to v1.11.91 2025-01-28 18:28:32 +00:00
8020e6ebb2 Upgrade Synapse (v1.122.0 -> v1.123.0) 2025-01-28 18:42:57 +02:00
496b921261 Update docs/container-images.md: remove definite articles from descriptions
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 22:29:27 +09:00
78e3089af1 Update README.md and docs/container-images.md: remove indefinite articles from descriptions to improve consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 22:29:11 +09:00
4b891b89eb Update README.md and docs/container-images.md: remove the subject from the descriptions of matrix-media-repo
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 22:26:10 +09:00
4ab983ffc9 Update README.md and docs/container-images.md: remove periods
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 22:25:03 +09:00
bf3b6b75f7 Update README.md and docs/container-images.md: use the common description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 22:24:50 +09:00
058f42c9fa Merge pull request #4008 from luixxiul/fix
Update files for matrix-bot-chatgpt, matrix-bot-go-neb, matrix-bot-honoroit, and matrix-bot-matrix-reminder-bot
2025-01-28 11:52:13 +02:00
ce08f618db Update docs/configuring-playbook-bot-matrix-reminder-bot.md: fix the service name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:33:29 +09:00
8739de6d9c Update docs/configuring-playbook-bot-go-neb.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:14:31 +09:00
6e9160053d Update docs/configuring-playbook-bot-go-neb: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:14:15 +09:00
ef48afca67 Update docs/configuring-playbook-bot-honoroit.md: add the common section "Troubleshooting"
See da66cc4d0e/internal/config/config_test.go for the confirmation of logging level (debug).

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:13:09 +09:00
53fabab5a7 Update docs/configuring-playbook-bot-honoroit.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:12:52 +09:00
ce09746003 Update files for matrix-reminder-bot: adopt the common description for logging verbosity levels
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:11:19 +09:00
4ed111ff74 Update docs/configuring-playbook-bot-matrix-reminder-bot.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:11:06 +09:00
61987994ad Update docs/configuring-playbook-bot-matrix-reminder-bot.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:10:45 +09:00
e5b526a55e Update docs/configuring-playbook-bot-chatgpt.md: add the common description and section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:09:48 +09:00
f4b4c7ad17 Update docs/configuring-playbook-bot-chatgpt.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 18:09:02 +09:00
9d532ad44c Merge pull request #4007 from luixxiul/fix
Update docs/configuring-playbook-matrix-ldap-registration-proxy.md
2025-01-28 09:48:38 +02:00
63ced228c6 Update docs/configuring-playbook-matrix-ldap-registration-proxy.md: change placeholders
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 15:52:39 +09:00
049fb1d658 Update docs/configuring-playbook-matrix-ldap-registration-proxy.md: introductory sections
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 15:52:30 +09:00
c4b4deeef6 Update docs/configuring-playbook-matrix-ldap-registration-proxy.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 15:24:01 +09:00
2da5c13c26 Update docs/configuring-playbook-matrix-ldap-registration-proxy.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 15:23:49 +09:00
4f00a1f8f0 Merge pull request #4005 from luixxiul/fix
Update files for matrix-bridge-wechat
2025-01-28 07:45:48 +02:00
017df4da4e Merge pull request #4006 from luixxiul/patch-1
Update docs/configuring-playbook-ma1sd.md: fix configuration for increasing logging verbosity
2025-01-28 07:45:18 +02:00
6814ead8fc Update docs/configuring-playbook-ma1sd.md: fix configuration for increasing logging verbosity
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 13:55:52 +09:00
aaf76adbd7 Update files for matrix-bridge-wechat: sort the logging verbosity levels
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 13:11:59 +09:00
855ba5581a Update files for matrix-bridge-wechat: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 13:11:52 +09:00
16d3d0e3fe Update docs/configuring-playbook-bridge-wechat.md: add the section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 13:10:27 +09:00
afc78c6ff7 Merge pull request #4003 from luixxiul/fix
Update files for ma1sd
2025-01-27 20:49:01 +02:00
eb5831efa3 Update files for ma1sd: add the common section "Increase logging verbosity"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 02:02:15 +09:00
cf01549168 Update docs/configuring-playbook-ma1sd.md: adopt the common format for the section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-28 02:01:59 +09:00
83eedc44f1 Sync i18n with recent changes 2025-01-27 09:56:21 +02:00
43d5596086 Remove Redis and KeyDB support, only leaving Valkey around 2025-01-27 09:54:11 +02:00
eaa4e86517 Merge pull request #4002 from luixxiul/fix
Update files for Email2Matrix
2025-01-26 17:11:26 +02:00
8f2c51305a Update files for Email2Matrix: reflect the fact that the component has been deprecated
Unfortunately Email2Matrix has been deprecated this month. See: f1032f0ac8. As a long time user of the component, I'd like to shout out a big thank-you to Slavi!

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 23:21:25 +09:00
3c33f0be3b Update files for Email2Matrix: fix capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 23:07:01 +09:00
e1f2d764e5 Update docs/configuring-playbook-email2matrix.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 23:06:47 +09:00
fa33e0b4bd Update docs/configuring-playbook-email2matrix.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 23:04:21 +09:00
dc8002596e Merge pull request #4001 from luixxiul/fix
Replace hyphens with actual dash (U+2014) characters where intended
2025-01-26 12:32:10 +02:00
1db5f76024 Replace double hyphens with "Em Dash" unicode character (U+2014)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 16:36:14 +09:00
76e346573c Replace hyphen as dash with "Em Dash" unicode character (U+2014)
This commit replaces hyphen characters used as dash with the actual unicode character for dash. It avoids using HTML character entity reference (&mdash;), because IMHO it would make it a bit harder to read documents as plain markdown files on your local text editor.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 16:35:59 +09:00
091313f850 Merge pull request #4000 from luixxiul/fix
Update files for Cactus Comments
2025-01-26 08:24:27 +02:00
abff629e36 Update docs/configuring-playbook-cactus-comments.md: replace "-" with "&mdash;"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:42:44 +09:00
1f532fe90d Update docs/configuring-playbook-cactus-comments.md: add the configuration for changing the default username (bot.cactusbot)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:40:31 +09:00
89864c6de0 Update files for cactus-comments: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:22:43 +09:00
83ad4d4975 Update docs/configuring-playbook-cactus-comments.md: adopt the common instruction to start using the component
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:22:09 +09:00
f2083aa8a7 Update docs/configuring-playbook-cactus-comments.md: replace the placeholders for the site name
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:22:00 +09:00
7f13747e82 Update docs/configuring-playbook-cactus-comments.md: move the configuration enabled by default
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:21:43 +09:00
909ca59cb7 Update docs/configuring-playbook-cactus-comments.md: remove the uncommon comment block
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:20:36 +09:00
50f259d505 Update docs/configuring-playbook-cactus-comments.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-26 11:20:24 +09:00
f9817a1ff2 Merge pull request #3999 from luixxiul/fix
Update docs/configuring-playbook-bot-buscarron.md
2025-01-25 22:30:29 +02:00
0dc566f1a3 Update docs/configuring-playbook-bot-buscarron.md: add the common expression for linking to the documentation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 22:34:28 +09:00
2a7111f287 Update docs/configuring-playbook-bot-buscarron.md: add the common section "Troubleshooting"
See roles/custom/matrix-bot-buscarron/defaults/main.yml at 601406ddda for the default log value (INFO).

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 22:32:30 +09:00
6c19bf509e Update docs/configuring-playbook-bot-buscarron.md: add the section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 22:30:18 +09:00
30be63d4b0 Merge pull request #3998 from luixxiul/fix
Update files for matrix-bridge-hookshot
2025-01-25 15:04:22 +02:00
5c80c820bc Update docs/configuring-playbook-bridge-hookshot.md: add a period
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:24:40 +09:00
acf2b90346 Update files for matrix-bridge-hookshot: change the file path of config.yml.j2 in order to improve consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:13:59 +09:00
e8213768a5 Update files for matrix-bridge-hookshot: sort logging levels
Based on docs/configuring-playbook-alertmanager-receiver.md

We can re-sort the levels it if is found out that debug should be placed at the first.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:13:31 +09:00
5c39ef8ca2 Update docs/configuring-playbook-bridge-hookshot.md: add the common section "Troubleshooting"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:13:20 +09:00
5b2282de27 Update docs/configuring-playbook-bridge-hookshot.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 18:07:13 +09:00
761b30cf54 Merge pull request #3997 from luixxiul/fix
Update files for matrix-alertmanager-receiver
2025-01-25 05:21:52 +02:00
21b5963f63 Update files for the matrix-alertmanager-receiver: rename config.yml.j2 to config.yaml.j2 in order to improve consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 12:04:41 +09:00
42f38dae07 Update docs/configuring-playbook-alertmanager-receiver.md: add the common section "Troubleshooting"
The configuration was copied from main.yml.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 12:04:26 +09:00
d225f52ba2 Update docs/configuring-playbook-alertmanager-receiver.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-25 12:04:16 +09:00
671b76e1a6 Merge pull request #3996 from luixxiul/fix
Update docs/configuring-playbook-dimension.md
2025-01-24 21:30:21 +02:00
292b0704cc Update gnuxie/draupnir Docker tag to v2.0.2 2025-01-24 21:29:50 +02:00
30d01cc22d Update docs/configuring-playbook-dimension.md: replace right arrows with actual ones
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 23:01:10 +09:00
4400d3c06d Update docs/configuring-playbook-dimension.md: create the section "Usage"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 23:00:58 +09:00
5ea579d4ee Update docs/configuring-playbook-dimension.md: apply the fact that the project has been finished and the update will not be provided
The original description has been added with a0ce5eec64 on 2020.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 22:56:16 +09:00
9d8dac83cc Update docs/configuring-playbook-dimension.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 22:45:49 +09:00
cd50738fe8 Merge pull request #3995 from luixxiul/fix
Update docs/configuring-playbook-bridge-appservice-slack.md and its main.yml
2025-01-24 14:36:38 +02:00
e6d631c6f1 Update docs/configuring-playbook-bridge-appservice-slack.md: change the instruction into a sentence
Fixing the grammatical structure to avoid word puzzles for better i18n.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 18:02:39 +09:00
2b4865d44b Update docs/configuring-playbook-bridge-appservice-slack.md: adopt the common expression for troubleshooting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 18:02:19 +09:00
ff7dbcee1b Update docs/configuring-playbook-bridge-appservice-slack.md: add the common section "Extending the configuration"
Also: add an example for "+matrix_appservice_slack_configuration_extension_yaml"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 18:02:05 +09:00
01050c520d Update roles/custom/matrix-bridge-appservice-slack/defaults/main.yml: fix indentation
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 17:58:33 +09:00
d6abd30904 Update docs/configuring-playbook-user-verification-service.md (#3994)
* Update docs/configuring-playbook-user-verification-service.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: replace single quotes with backticks

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: adopt the common section "Troubleshooting"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: use the variable specified on main.yml directly

There are other variables specified on .env.j2 such as UVS_ACCESS_TOKEN and UVS_AUTH_TOKEN, but these are not used in the description on the document other than UVS_LOG_LEVEL. This commit therefore replaces the variable with the one specified on main.yml (matrix_user_verification_service_uvs_log_level) to improve consistency.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: fix capitalization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: replace the placeholder TOKEN with YOUR_TOKEN_HERE

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: change a section title

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 09:01:51 +02:00
7847024ecd Merge pull request #3993 from luixxiul/fix
Update docs/configuring-playbook-pantalaimon.md: adopt the common format
2025-01-23 21:00:08 +02:00
4c00e88fa4 Update docs/configuring-playbook-pantalaimon.md: add the common section "Troubleshooting"
The comment was copied from roles/custom/matrix-pantalaimon/defaults/main.yml. The latest status of the variable "matrix_pantalaimon_log_level" can be checked on 55fcaac1f1.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 02:04:46 +09:00
74e4c2a5bd Update docs/configuring-playbook-pantalaimon.md: add the common section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-24 01:38:53 +09:00
3246588023 Merge pull request #3992 from luixxiul/fix
Update configuring-playbook-bot-baibot.md and configuring-playbook-bridge-postmoogle.md
2025-01-23 18:18:38 +02:00
a6333df04e Update configuring-playbook-bot-baibot.md and configuring-playbook-bridge-postmoogle.md: the common section for troubleshooting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-23 23:30:40 +09:00
e047e860ff Update docs/configuring-playbook-bridge-postmoogle.md: add the section "Extending the configuration"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-23 23:30:31 +09:00
d56618940f Merge pull request #3990 from luixxiul/fix
Update docs/configuring-playbook-email.md: tidy up
2025-01-23 15:52:19 +02:00
1c87faf9e0 Merge pull request #3991 from spantaleev/renovate/halfshot-matrix-hookshot-6.x
Update halfshot/matrix-hookshot Docker tag to v6.0.2
2025-01-23 12:15:34 +02:00
4b155c276b Update halfshot/matrix-hookshot Docker tag to v6.0.2 2025-01-23 10:11:01 +00:00
97418bf2ea Update docs/configuring-playbook-email.md: tidy up
This commit applies the common format to the file.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-23 18:55:00 +09:00
c7bc589010 Merge pull request #3988 from luixxiul/fix
Update docs/configuring-playbook-bridge-mautrix-wsproxy.md
2025-01-23 09:29:59 +02:00
c8ca9489bb Update docs/configuring-playbook-bridge-mautrix-wsproxy.md: move down the section "Extending the configuration" for consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-23 02:11:03 +09:00
11f7abd6c8 Merge pull request #3987 from spantaleev/renovate/matrixdotorg-mjolnir-1.x
Update matrixdotorg/mjolnir Docker tag to v1.9.2
2025-01-22 08:46:20 +02:00
97cee45bb9 Merge pull request #3985 from luixxiul/fix
Update docs/configuring-playbook-backup-borg.md and docs/configuring-playbook-synapse-auto-compressor.md: adopt the common description
2025-01-22 08:45:22 +02:00
0b84edc976 Merge pull request #3984 from FSG-Cat/FSG-Cat/Synapse-auto-forget-missing
Change matrix_synapse_forgotten_room_retention_period  from null to 28d
2025-01-22 08:44:44 +02:00
52da325ab8 Cross-link matrix_synapse_forget_rooms_on_leave and matrix_synapse_forgotten_room_retention_period variables 2025-01-22 08:43:35 +02:00
4d6ee3db7e Update matrixdotorg/mjolnir Docker tag to v1.9.2 2025-01-21 21:34:42 +00:00
fbe32cc17c Update docs/configuring-playbook-backup-borg.md and docs/configuring-playbook-synapse-auto-compressor.md: adopt the common description
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-22 01:38:26 +09:00
ef6f50e898 Change matrix_synapse_forgotten_room_retention_period from null to 28d
As we automatically forget rooms on leave in the playbook this option working at all is probably heavily desired.

Timing is copied from upstream example.

Credit goes to Anoa for making me even check this.
2025-01-21 16:53:46 +01:00
07392a17c8 Merge pull request #3982 from luixxiul/patch-1
Update docs for Draupnir and Mjolnir: improve the instructions for running the curl command to disable rate limiting
2025-01-21 10:07:17 +02:00
3b685df1ab Update docs for Draupnir and Mjolnir: improve the instructions for running the curl command to disable rate limiting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 15:56:24 +09:00
450e9f196d Merge pull request #3981 from luixxiul/patch-3
Update docs/configuring-playbook-bot-draupnir.md: create and invite the bot before starting
2025-01-21 08:21:07 +02:00
3ec81ef2d4 Merge pull request #3978 from luixxiul/patch-2
Update roles/custom/matrix-bot-draupnir/defaults/main.yml
2025-01-21 08:20:04 +02:00
aaba19e1e7 Merge pull request #3977 from luixxiul/patch-1
Update docs/configuring-playbook-bot-draupnir.md and docs/configuring-playbook-bot-mjolnir.md
2025-01-21 08:16:10 +02:00
3343eadd46 Replace old warnings with Github Markdown Warnings on Draupnir doc page
Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3980
2025-01-21 08:14:49 +02:00
2698ed85a0 Replace old warnings with Github Markdown Warnings
Ref: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3980
2025-01-21 08:13:31 +02:00
c7eb713efe Merge pull request #3980 from FSG-Cat/FSG-Cat/Unifi-Warning-Formating
Replace old warnings with Github Markdown Warnings
2025-01-21 08:10:57 +02:00
de86a9b4d7 Merge pull request #3976 from razzeee/patch-2
Fix postgres maintenance links
2025-01-21 07:58:41 +02:00
9d3ef6134b Update roles/custom/matrix-bot-draupnir/defaults/main.yml: make sure what the word "it" means here
Here "it" should not mean "the upstream advice".

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 14:53:08 +09:00
7b979ff7a9 Update roles/custom/matrix-bot-draupnir/defaults/main.yml: replace "when" with "if" for consistency and to clarify that these are conditions
Note that there is no other "when" on this file. It is not sensible to keep these exceptions here.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 13:58:04 +09:00
665f7369d6 Update roles/custom/matrix-bot-draupnir/defaults/main.yml: change the subject who discourages Pantalaimon
This change clarifies that it is the upstream project, not this project owner, that discourages enabling Pantalaimon for Draupnir. This distinction should make it clear who is responsible for the matter.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 13:43:12 +09:00
a7e1474c3a Update roles/custom/matrix-bot-draupnir/defaults/main.yml: strip a noisy warning and the order to check in at the upstream
Multiple use of the phrase "you know what you are doing" does not increase its effect but rather makes it noisy instead. Since it is warned with capitalized "DO NOT", it is enough.

Also replace the order to check in at the upstream with the recommendation, as it is inconsistent for this project overall to ask users to do so. It is not sensible to make an exception for Draupnir.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 12:48:30 +09:00
5731bcd222 Update roles/custom/matrix-bot-draupnir/defaults/main.yml: fix another sentence and capitalization
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 12:31:16 +09:00
8fadab4ee8 Change the expression and fix other typos
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-21 12:17:50 +09:00
66d96844d6 Update docs/configuring-playbook-bot-draupnir.md: move the note about the "ensure-matrix-users-created" playbook tag
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 23:14:34 +09:00
cb0798bc06 Update docs/configuring-playbook-bot-draupnir.md: create and soon invite the bot user to the management room
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 23:13:44 +09:00
177ac8caa1 Replace old warnings with Github Markdown Warnings
I executed a Search for `⚠️ **Warning**:` and replaced it with
```
> [!WARNING]
>
```

I also capitalised the first letter where missing.

Draupnir Docs have been excluded from this Commit as to not cause a separate PR im working on for the Draupnir docs to have potential merge conflicts and im making said change in that document too.
2025-01-20 14:39:40 +01:00
c3e9e51385 Update roles/custom/matrix-bot-draupnir/defaults/main.yml: clarify that setting "matrix_bot_draupnir_pantalaimon_use" to false is opinionated
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 18:10:40 +09:00
9c5cd42af1 Update roles/custom/matrix-bot-draupnir/defaults/main.yml: fix capitalization, typo, and sentences
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 18:10:31 +09:00
8eb513a49d Update docs for Draupnir and Mjolnir: improve instructions to replace the IDs
Also: replace the placeholder for the clean access token

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 17:58:31 +09:00
9a0e1e64a8 Update docs for Draupnir and Mjolnir: move the instruction to obtain an access token for the admin account above the one about running the curl command
Also: clarify that it is the admin account that needs to be obtained for Synapse's Admin APIs.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 17:58:18 +09:00
aea2a6d53f Update docs for Draupnir and Mjolnir: create subsections for the instruction about making sure the account is free from rate limiting
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 17:57:58 +09:00
30a53efadd Update docs for Draupnir and Mjolnir: move the note about API access above
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 17:57:30 +09:00
d000b558e1 Fix postgres maintenance links 2025-01-20 09:25:13 +01:00
94b10ad446 Merge pull request #3973 from luixxiul/patch-2
Update docs for Draupnir and Mjolnir: misc changes before iteration
2025-01-20 09:48:10 +02:00
dbfa190456 Merge pull request #3972 from luixxiul/patch-1
Update docs for Draupnir, D4A, and Mjolnir: adopt the common section "Extending the configuration"
2025-01-20 09:45:33 +02:00
887db388e8 Apply the review from another PR
Cherry-picked from f7c01cca9c.
Regressed by f15c0a46be.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 16:42:24 +09:00
c691f85533 Upgrade ddclient (3.11.2 -> 4.0.0) and adjust config path
Closes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3971

The path change is due to: https://github.com/ddclient/ddclient/pull/789

This is untested.
2025-01-20 09:41:08 +02:00
f5705dce7b Merge pull request #3974 from luixxiul/patch-3
Change capitalization per author's preference: Conduwuit → conduwuit
2025-01-20 08:31:09 +02:00
c4507d42e3 Update docs/configuring-playbook-bot-draupnir.md: add "optoional, recommended" label to the section
Unlike Mjolnir, the step is no longer required. It is optional and recommended on Draupnir, therefore it should be clarified so.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 14:00:19 +09:00
7186d5fb93 Update docs/configuring-playbook-bot-draupnir.md: add an anchor link to configuring-playbook-bot-mjolnir.md
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:55:14 +09:00
2c7914d071 Update docs/configuring-playbook-bot-draupnir.md: invite the Draupnir bot after installation
Now that the bot user for Draupnir is created automatically and you no longer need to register it manually since its 2.0.0 version, it does not seem to be sensible to synchronize descriptions about inviting bots between documents for Draupnir and Mjolnir. It is not friendly to instruct to invite the bot which does not exist just yet, only to let the known error message about the nonexistent user displayed.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:54:35 +09:00
7b6b103e01 Update docs/configuring-playbook-bot-draupnir.md: misc changes mainly fixing typos
The typos were introduced by f15c0a46be.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:53:37 +09:00
340e569984 Update docs/configuring-playbook-appservice-draupnir-for-all.md: remove the duplicated instruction to set an alias to the management room
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:51:59 +09:00
04ff68e229 Update docs for Draupnir and Mjolnir: tidy up the instruction to check the room ID
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:51:49 +09:00
39625aae15 Update docs for Draupnir and Mjolnir: small edits for the common sentences
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:51:27 +09:00
4e5532a0d5 Update docs for Draupnir, D4A, and Mjolnir: emphasize the importance of being careful when inviting a user to the management room
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 13:51:10 +09:00
8ba607a76a Change capitalization per author's preference: Conduwuit → conduwuit
See: e8508d16e1

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 12:38:37 +09:00
f987d295ee Update docs for Draupnir, D4A, and Mjolnir: adopt the common section "Extending the configuration"
Also: fix the variable "matrix_appservice_draupnir_for_all_configuration_yaml"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-20 11:43:15 +09:00
e1d3e1b4e6 Merge pull request #3969 from FSG-Cat/FSG-Cat/Gramar-Fix
Replace Discharge with Disable (Gramar Fix)
2025-01-19 20:22:50 +02:00
ba19e4d303 Replace Discharge with Disable
In the context of disabling rate limits on an API its disable that is correct. We arent talking about controlling the discharge rate of a battery we dont want to blow up or harm. We are talking about matrix APIs and disabling the rate limiter on them.
2025-01-19 18:14:05 +01:00
aafd2df066 Announce Conduwuit support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3967
2025-01-19 16:19:19 +02:00
1fe8b49755 Mention Conduwuit in a few more places in the documentation
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3967
2025-01-19 16:15:41 +02:00
24f3493caf Add various polish to Conduwuit
https://github.com/Virkkunen and I have been working on the same feature
simultaneously.

This patch adds my additional independent work on top of his changes.

Notable changes here compared to Virkkunen's original work:

- renaming config-related variables (`matrix_conduwuit_*` ->
  `matrix_conduwuit_config_*`). This is consistent with other roles (and
  better), but deviates from how the Conduit role was implemented.

- using a full configuration sample from https://conduwuit.puppyirl.gay/configuration.html
  instead of using the old Conduit config file template

- introducing configurability for more Conduwuit config settings, to support easy registration, etc.

- removing configuration settings that Conduwuit does not support
  anymore (e.g. `max_concurrent_requests`)

- cross-linking docs pages for Conduit and Conduwuit

- a Conduwuit docs page which is much improved compared to the old
  Conduit one

- REAMDE updates
2025-01-19 16:06:37 +02:00
1b80a76b93 fix docker depName 2025-01-19 16:06:37 +02:00
5e03006c5d remove unnecessary configurations 2025-01-19 16:06:37 +02:00
be586f0f30 initial conduwuit support 2025-01-19 16:06:37 +02:00
96b3cb8392 Do not auto-add lightning bolt suffix to displayname for newly registered Conduit users
This makes it consistent with other homeserver implementations, which
do not mess with the displayname by adding suffixes.
2025-01-19 15:22:59 +02:00
e59e66e6c3 Merge pull request #3965 from spantaleev/renovate/sphinx-markdown-builder-0.x
Update dependency sphinx-markdown-builder to v0.6.8
2025-01-19 10:39:05 +02:00
b56f1669cf Update dependency sphinx-markdown-builder to v0.6.8 2025-01-19 08:33:12 +00:00
7232d2b6d5 Pin boto3 and botocore to an old version when installing synapse-s3-storage-provider to prevent issues with non-AWS S3 providers
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3964

Related to https://github.com/aws/aws-cli/issues/9214
2025-01-19 10:32:07 +02:00
2ad9f37da7 Add more changelog notes about Synapse v1.122.0 requiring Postgres v13 2025-01-19 09:38:05 +02:00
ad3de5737e Add note about Synapse v1.122.0 requiring Postgres v13+
Ref: cc5ac80e9e (commitcomment-151503687)
2025-01-19 09:34:22 +02:00
f15c0a46be Draupnir 2.0.0 (#3941)
* Draupnir 2.0.0

The config getting changes all over the place is because of 2.0 having removed a lot of config options due to the code being removed.

* Update Draupnir Documentation to reflect state as of 2.0.0

* Apply Review Feedback

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Change Room IDs found in code review to not conform to playbook standard.

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Further Integrate Code Review Feedback

* Apply remaining suggestions from code review.

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Apply Configuration Review Feedback

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Add Self Registration and Native Login to Draupnir

* Rework Draupnir Documentation to Remove Pantalaimon

* Set bot.draupnir as default username for the bot in config

* Draupnir 2.0.1

* Integrate Review Feedback on Structure of Docs

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Further Restructure Docs and tweak variables in response.

* Only auto-create draupnir user if a password has been set

The Draupnir role supports configuring it with either an access token or with a password.

When a password is not assigned (which means the access token mode is used), the user is to be created manually.

* Add ensure-matrix-users-created tag

Now that the Draupnir user may be auto-created in certain configurations (if a password is assigned), it's useful to have the tag there.

---------

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-01-18 21:25:30 +02:00
3e06e4be63 Merge pull request #3962 from luixxiul/fix
Move config j2 files out of "config" subfolder for consistency
2025-01-18 17:46:25 +02:00
41d0fb8c86 Move config j2 files out of "config" subfolder for consistency
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-18 22:08:04 +09:00
c72868eefd Merge pull request #3961 from luixxiul/fix
Update docs/configuring-playbook-jitsi.md: add instructions to create vars.yml files for each additional JVB (Jitsi VideoBridge)
2025-01-18 14:53:26 +02:00
3a9eb47517 borgmatic v1.9.6 2025-01-18 13:39:28 +02:00
575d98172a Update docs/configuring-playbook-jitsi.md: add instructions to create vars.yml files for each additional JVB (Jitsi VideoBridge)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-18 17:58:51 +09:00
58ad120951 Update docs/configuring-playbook-bot-baibot.md (#3960)
* Update docs/configuring-playbook-bot-baibot.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-baibot.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-18 10:25:56 +02:00
99f4af2007 Update files for Sygnal (#3958)
* Rename sygnal.yaml.j2 to config.yaml.j2

There does not seem to exist other yaml.j2 files, which would be named after the servive.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-sygnal.md: add the section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-18 09:15:04 +02:00
532d5e21b0 Update docs/configuring-playbook-appservice-double-puppet.md (#3956)
* Update docs/configuring-playbook-appservice-double-puppet.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-double-puppet.md: introduction and usage

The section linked from https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new has been removed.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-17 17:32:56 +02:00
107e9d205d Edit YAML files: minor changes (#3955)
* Update roles/custom/matrix-coturn/defaults/main.yml: edit an instruction for creating a strong password

Follow-up to 6b87d1aa7d

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update examples/vars.yml: add a whitespace character for indenting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-17 13:14:41 +02:00
d6fda786ca Update docs/configuring-playbook-etherpad.md (#3954)
* Update docs/configuring-playbook-etherpad.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-etherpad.md: add the option to configure the default pad text

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-etherpad.md: remove the detail about setting the unmaintained Dimension default to the Etherpad instance

We have recommended users to avoid installing Dimension since it was deprecated, so it is no longer sensible to discuss how it could be integrated with Etherpad.

This commit also removes the known issue section as it describes the issue which can be experienced on Dimension only.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-etherpad.md: minor changes

- Update the internal anchor link (follow-up to 04b32af0c1)
- minor edits

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Apply the feedback

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-17 11:34:58 +02:00
2773c053d0 Update files for coturn (#3953)
* Update docs/configuring-playbook-turn.md: add a section for description about installing

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-turn.md and a related file

- Edit the introducion based on docs/configuring-playbook-client-element-web.md
- Adopt the commont format by creating the section "Adjusting the playbook configuration"
- Add the section "Extending the configuration"
- Move the section "Disabling Coturn" to the bottom

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Fix capitalization: Coturn → coturn

See: https://github.com/coturn/coturn. Note that "coturn" is not capitalized even on the start of a sentence, except some rare cases like on the releases page: https://github.com/coturn/coturn/releases

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-17 10:19:17 +02:00
96dbb98b37 Merge pull request #3952 from luixxiul/fix
Mentions mash-playbook on feature_request.md and faq.md
2025-01-17 09:38:54 +02:00
686d9935e2 Mentions mash-playbook on feature_request.md and faq.md
Make one of the list items compact for the new item about mash-playbook

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-17 13:53:59 +09:00
6486362162 Merge pull request #3950 from spantaleev/renovate/matrixdotorg-dendrite-monolith-0.x
Update matrixdotorg/dendrite-monolith Docker tag to v0.14.1
2025-01-16 21:39:32 +02:00
f180b7a643 Merge pull request #3949 from spantaleev/renovate/ghcr.io-t2bot-matrix-media-repo-1.x
Update ghcr.io/t2bot/matrix-media-repo Docker tag to v1.3.8
2025-01-16 21:38:28 +02:00
dc0af85361 Update matrixdotorg/dendrite-monolith Docker tag to v0.14.1 2025-01-16 19:31:01 +00:00
9f4ecb1749 Update ghcr.io/t2bot/matrix-media-repo Docker tag to v1.3.8 2025-01-16 19:30:56 +00:00
8f08736dde Update docs: minor changes (#3947)
* Update docs/updating-users-passwords.md: use the common placeholder for an access token

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-etherpad.md: edit the introduction

Based on docs/configuring-playbook-jitsi.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-16 21:30:33 +02:00
38fff9fbf5 Merge pull request #3946 from luixxiul/fix
Remove an obsolete variable: backup_borg_retention_prefix
2025-01-16 16:15:55 +02:00
9ffd40bcd2 Remove an obsolete variable: backup_borg_retention_prefix
It has been removed with 30f0f92dc5 for updating borgmatic to v1.8.2.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-16 23:07:42 +09:00
f8dfba6534 Merge pull request #3945 from spantaleev/renovate/dock.mau.dev-mautrix-twitter-0.x
Update dock.mau.dev/mautrix/twitter Docker tag to v0.2.1
2025-01-16 15:32:44 +02:00
46468b169a Merge pull request #3944 from spantaleev/renovate/dock.mau.dev-mautrix-signal-0.x
Update dock.mau.dev/mautrix/signal Docker tag to v0.7.5
2025-01-16 15:32:36 +02:00
486c55dcab Update dock.mau.dev/mautrix/twitter Docker tag to v0.2.1 2025-01-16 13:31:15 +00:00
3a95862a95 Update dock.mau.dev/mautrix/signal Docker tag to v0.7.5 2025-01-16 13:31:10 +00:00
f8ff4c5535 Update docs/configuring-playbook-backup-borg.md (#3943)
* Update docs/configuring-playbook-backup-borg.md: add the section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-backup-borg.md

- Move the instruction about setting up the server to the section "Prerequisites"
- Replace instructions with a listing with a common format
- Adopt the common descripton for setting a strong password
- Create sections for optional configurations

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-backup-borg.md: add descriptions about other useful options

This commit adds descriptions about options for setting the archive name and the retention policy.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-backup-borg.md: remove the instruction about creating a backup without encryption

It is generally not recommended to store unencrypted backups on computers which you do not own, so this commit removes it from the guide.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-16 15:30:30 +02:00
35260cd026 Synapse Admin v0.10.3-etke36 2025-01-16 11:37:07 +02:00
f2b69feb29 Make catch-all federation-reader nginx location blocks have less priority than others
Potentially fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3918
2025-01-16 10:14:03 +02:00
a2db85cdf4 Merge pull request #3942 from luixxiul/fix
Update docs: adopt the common instruction
2025-01-16 08:50:36 +02:00
a4f9bdebcd Update docs: adopt the common instruction
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-16 13:09:06 +09:00
e958b2cfd6 Merge pull request #3938 from luixxiul/fix
Update docs/configuring-dns.md: move down the section about DNS setting for optional server delegation
2025-01-15 21:06:31 +02:00
310a5448ce Update docs/configuring-dns.md: move down the section about DNS setting for optional server delegation
Now that the large table for DNS settings is gone, it is sensible to move the section about DNS setting for server delegation down, below the section for DNS configuration for default services.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-16 02:50:53 +09:00
04b32af0c1 Update docs for DNS settings etc. (#3936)
* Update docs for DNS settings of the services which need its CNAME record by default

- Buscarron
- Go-NEB; fix a line on the instruction as well
- wsproxy
- Cinny
- Element Web
- Hydrogen
- SchildiChat Web
- Dimension
- Etherpad
- Jitsi
- ntfy
- Grafana
- rageshake
- Sygnal

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for DNS settings of the services which do not need its CNAME record by default

- matrix-alertmanager-receiver
- Honoroit
- maubot
- Heisenbridge
- Cactus Comments
- Matrix Authentication Service
- matrix-registration
- Sliding Sync proxy
- Synapse Admin
- synapse-usage-exporter

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for DNS settings: ma1sd

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for DNS settings: Email2Matrix

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for DNS settings: Postmoogle

Remove the table from configuring-dns.md altogether

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Cinny and Dimension: adopt the common note

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-dns.md: add "Note" to the line on using Cloudflare DNS

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-15 09:22:00 +02:00
cc5ac80e9e Merge pull request #3937 from spantaleev/renovate/ghcr.io-element-hq-synapse-1.x
Update ghcr.io/element-hq/synapse Docker tag to v1.122.0
2025-01-14 22:52:36 +02:00
5cbd7e7652 Update ghcr.io/element-hq/synapse Docker tag to v1.122.0 2025-01-14 19:18:15 +00:00
01ea986505 Upgrade Traefik (v3.3.1-0 -> v3.3.2-0) 2025-01-14 21:17:26 +02:00
745f04bfa5 Upgrade Element Web (v1.11.89 -> v1.11.90) 2025-01-14 16:47:27 +02:00
a3355423df Upgrade Traefik (v3.2.2-0 -> v3.3.1-0) 2025-01-14 15:26:52 +02:00
4269648f37 Merge pull request #3935 from adam-kress/master
Upgrade Jitsi (v9909-0 -> v9955-0)
2025-01-13 17:42:26 +02:00
de9551a596 Upgrade Jitsi (v9909-0 -> v9955-0) 2025-01-13 10:34:21 -05:00
37ef7959a9 Tidy up docs/configuring-playbook-jitsi.md and another related file (#3934)
* Update docs/configuring-playbook-jitsi.md: tidy up the introduction

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: minor changes

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: remove the obsolete notice about Element mobile apps not supporting self-hosted Jitsi server

The notice has been obsolete since 993fd04353 (for Android) and 0142bb04e4 (for iOS)

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: create a list for descriptions about each tweak for tuning Jitsi

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: tidy up the section for setting up additional JVBs

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: move down the section for tuning Jitsi

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: include sections to "Adjusting the playbook configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: move the section for confugiring additional JVBs into the 'Usage' section

Since the additional JVBs are supposed to be configured after installing Jitsi with a JVB and it is confusing to place the instruction for configuring them (ansible-playbook -i inventory/hosts --limit jitsi_jvb_servers jitsi_jvb.yml --tags=common,setup-additional-jitsi-jvb,start) above the command for installation (ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start), this commit moves the section for configuring the additional JVBs into the "Usage" section.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: tidy up the section for authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: move the note to the section "Troubleshooting"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: tidy up the section for setting up a Gravatar service

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: replace the description about running behind NAT or on a LAN environment with the official one

Our original description was unorganized and difficult to understand, so this commit simply replaces it with the official documentation provided by Jitsi, which is clear and straightforward.

See: 630a6817c2/docs/devops-guide/docker.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: tidy up the section for rebuilding the Jitsi installation

It feels like the section is no longer relevant pretty much, as one of the main reasons why rebuilding the installation has seemed to be a difficult but reasonable option would be the quality of our documentation; it has been unorganized and it has been difficult to see what needs to be done in which order. Now that the issue was mostly addressed, perhaps it might make sense to remove the section altogether or move it to FAQ.md and rewrite it for components which are as complex as Jitsi.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: switch the order of instructions about adjusting DNS records and adjusting the URL

Since adjusting DNS records does not belong to adjusting the playbook configuration, the section was moved out of it.

This is a first trial of placing the instruction about adjusting DNS records above the section for adjusting the URL. Once it is confirmed that this change makes sense, the other instances will be addressed with another commit.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: switch lines for fine tuning Jitsi to remove a blank line

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: add a practical example of configurations

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: remove a duplicated comment inside jitsi_web_custom_config_extension

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: edit the introduction

Based on docs/configuring-playbook-etherpad.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: remove a mention about the unmaintained Dimension integration manager

As Dimension has been officially declared to be unmaintained and we have stopped recommending to install it since 4574ebbd31, it is a reasonable choice to remove the explanation which suggests to add a Jitsi widget with the component.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: replace the obsolete details about LastN

The document has been removed with 9a955ef1b4.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: minor changes

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: move the description about meetings with authentication enabled out of the section for the default authentication method

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: edit descriptions about authentication methods

Based on f6fdb30997/defaults/main.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: add an anchor link to the Jitsi docs on `matrix` authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-13 08:42:55 +02:00
61ace3a063 Edit lines for vars.yml (#3933)
* Simplify paths to vars.yml if referred multiple times

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Fix the filename: vars.yaml → vars.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-12 15:31:19 +02:00
04cb2f8fa5 Update docs/configuring-playbook-synapse-s3-storage-provider.md (#3932)
* Update docs/configuring-playbook-synapse-s3-storage-provider.md: adopt the common instruction

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse-s3-storage-provider.md: add the sections "Extending the configuration" and "Usage"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse-s3-storage-provider.md: minor changes

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-12 13:19:08 +02:00
031c83b690 Merge pull request #3931 from luixxiul/fix
Replace double or triple dots with horizontal ellipses (“…” U+2026)
2025-01-12 10:03:41 +02:00
eaba9cc75e Replace double or triple dots with horizontal ellipses (“…” U+2026)
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-12 00:03:28 +09:00
60c1e8c099 Merge pull request #3929 from luixxiul/fix
Update docs/configuring-playbook-synapse-s3-storage-provider.md: fix the path to media-store directory
2025-01-11 11:15:51 +02:00
a6f399f4a0 Update docs/configuring-playbook-synapse-s3-storage-provider.md: fix the path to media-store directory
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-11 17:55:27 +09:00
b017ffd853 Update docs for homeserver implementations (Conduit, Dendrite, and Synapse) (#3926)
* Update docs for Dendrite and Synapse: adopt the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: move down the section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Dendrite and Synapse: remove redundant descriptions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-conduit.md: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: replace "Notes" with "Warnings" plus the warning symbol

The information is important and should deserve clear attention.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: reorganize sections for adjusting the playbook configuration

As the section for Synapse Admin is not related to adjusting the configuration, it was moved out of the it

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: on Synapse Admin

Based on docs/configuring-playbook-bot-draupnir.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update URLs of the forked Dendrite repository

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: use the common descriptions for introductions

- Edit the instruction for adjusting the configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse-admin.md: update the URL of the Dendrite documentation

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-synapse.md: add the sections "Installing" and "Usage"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-conduit.md: copy an instruction from roles/custom/matrix-conduit/defaults/main.yml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Conduit and Dendrite: fix capitalization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-11 09:49:53 +02:00
4b9b6bf553 Merge pull request #3928 from Jontes-Tech/patch-2
Update readme Dendrite link to new maintainer
2025-01-11 09:42:31 +02:00
57e45c3081 Update README.md 2025-01-10 22:48:02 +01:00
69d9002625 Merge pull request #3927 from spantaleev/renovate/joseluisq-static-web-server-2.x
Update joseluisq/static-web-server Docker tag to v2.35.0
2025-01-10 21:05:19 +02:00
d076a75a0a Update joseluisq/static-web-server Docker tag to v2.35.0 2025-01-10 18:58:14 +00:00
9c61742fa2 Update docs for Element Web and SchildiChat Web (#3925)
* Update docs for Element Web and SchildiChat Web: add the common section "Extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Element Web and SchildiChat Web: remove redundant descriptions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Element Web and SchildiChat Web: reorganization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Element Web and SchildiChat Web: edit descriptions about themes

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Element Web and SchildiChat Web: add examples of extending the configuration

This follows docs/configuring-playbook-appservice-draupnir-for-all.md, etc.

Note the examples are available on the main.yml files.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-client-element-web.md: add an instruction about the section on disabling Element Web

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-10 16:53:39 +02:00
638f53a889 Update docs for mautrix bridges (follow-up) (#3924)
* Update docs/configuring-playbook-bridge-mautrix-telegram.md

- Add a link to the official documentation on authentication
- Create subsections in the section "Usage"
- Update the usage based on d33701428d/bridges/python/telegram/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-twitter.md

- Remove a duplicated "optional" label
- Replace the instruction with a link to the official documentation on authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-appservice-kakaotalk.md

- Adopt a common introduction
- Move the warning message down

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-discord.md

As our instruction on usage has been outdated compared to the latest one (cf. d33701428d/bridges/go/discord/authentication.md), let alone confusing in the first place as our instruction on logging in and bridging have been mixed, this commit updates our instruction based on the latest official one.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-gmessages.md: add a link to the official documentation on authentication

Based on d33701428d/bridges/go/gmessages/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix-meta bridges: add links to the official documentation on authentication

Based on d33701428d/bridges/go/meta/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-signal.md: add a link to the official documentation on authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-slack.md

Based on d33701428d/bridges/go/slack/authentication.md

The instruction has been obsolete since 25b4006035

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-googlechat.md

Based on d33701428d/bridges/python/googlechat/authentication.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add information about troubleshooting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add descriptions for each mautrix bridge about the bridges behavior after logging in

Based on d33701428d

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add instruction for sending "help" to the bot to the common guide

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-hangouts.md: adopt a common description about usage

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-whatsapp.md

- Update the note about linked devices that they will be logged out if the phone is not used over two weeks: the note has been obsolete since 0860109d05
- Adopt a common description about usage

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: fix the internal anchor link

Regression by 4b2e066a61

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add a note about the official docs

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-go-skype-bridge.md: adopt the common description

As the bridge was created based on mautrix-whatsapp, this commit adopts the common descriptions for mautrix bridges and ones based on them such as matrix-appservice-kakaotalk and beeper-linkedin

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-10 09:36:27 +02:00
5cf99af0ba Use common descriptions for mautrix bridges to improve consistency (#3914)
* Update docs for mautrix bridges: common section for extending the configuration

Add links to the common guide for configuring mautrix bridges

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: add the sections 'extending the configuration'

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: add the common section "extending the configuration" based on docs for mautrix bridges

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: edit the top section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: common section for setting up Double Puppeting

Based on docs/configuring-playbook-bridge-mautrix-meta-instagram.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: common section for setting up Double Puppetting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: replace duplicated descriptions for setting up Double Puppeting with a link to docs/configuring-playbook-bridge-mautrix-bridges.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: remove the section for setting up Double Puppeting

The instruction has been described already in the section for prerequisites

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add sections for enabling double puppeting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: adopt common descriptions about bridge permissions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-whatsapp.md: remove description for relay-bot

For WhatsApp the default relay mode is used and the description for it is available on the common guide for configuring mautrix bridges.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: remove descriptions about permissions in favor of the common one on docs/configuring-playbook-bridge-mautrix-bridges.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: remove a redundant instruction for referring to the section for troubleshooting

The section is just below the instruction.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add notes about double puppeting with the Shared Secret Auth

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: remove redundant descriptions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: remove links to the description about the relay mode from configuring-playbook-bridge-mautrix-bridges.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-telegram.md: move the section for instruction about using the bridge for direct chat only

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add configuration for relay to an example of matrix_mautrix_SERVICENAME_configuration_extension_yaml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: add a header for the reference to the common guide

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: adopt the common description for the section "Usage"

Fix docs/configuring-playbook-bridge-mautrix-bridges.md: simplify the instruction to refer each documentation page (note that there are two formats of the links: https://docs.mau.fi/bridges/python/SERVICENAME/authentication.html and https://docs.mau.fi/bridges/go/SERVICENAME/authentication.html)

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for mautrix bridges: edit anchor links to official documentation pages

- Add links to the official documentation pages
- Remove links to Hangouts' documentation page: the links have been replaced with ones to Google Chat bridge and the resources about Hangouts bridge have been removed
- Replace links to documentation pages in python version with ones in go version

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: add a note about variable names

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-beeper-linkedin.md: re-add the section for instruction about appservice double puppeting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-09 09:28:29 +02:00
5f602232d5 Merge pull request #3923 from spantaleev/renovate/docker-7.x
Update dependency docker to v7.4.4
2025-01-09 09:18:08 +02:00
3a2b90dacd Update dependency docker to v7.4.4 2025-01-09 06:56:32 +00:00
71e59d1784 Merge pull request #3922 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.8.0
2025-01-08 21:13:31 +02:00
eac00dbc69 Update dependency setuptools to v75.8.0 2025-01-08 19:11:45 +00:00
a381143b8f borgmatic v1.9.5 2025-01-08 09:41:21 +02:00
c66a53c729 Merge pull request #3921 from luixxiul/patch-1
Update .github/workflows/close-stale-issues.yml: increase operations-per-run from 100 to 500
2025-01-08 08:32:29 +02:00
ff8373c616 Update .github/workflows/close-stale-issues.yml: increase operations-per-run from 100 to 500
Apparently checking issues or PRs which have been labelled with "stale" consumes more operations than checking ones without labelled, and the current amount (100) is not enough. See an example: https://github.com/spantaleev/matrix-docker-ansible-deploy/actions/runs/12566424393/job/35031806537#step:2:4083

Since the total amount of GitHub API rate is 5000, reserving 10 per cent for this action should not be an issue for now. Let's increase again if it is still too low.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-08 11:54:27 +09:00
15a669db16 Merge pull request #3919 from spantaleev/renovate/pygments-2.x
Update dependency Pygments to v2.19.1
2025-01-06 21:21:10 +02:00
bf1ff80398 Update dependency Pygments to v2.19.1 2025-01-06 17:42:19 +00:00
f2585fa171 Adjust matrix-synapse-s3-storage-provider-migrate.{service,timer} permissions
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3917
2025-01-06 09:09:46 +02:00
9dbac589d6 Merge pull request #3916 from spantaleev/renovate/setuptools-75.x
Update dependency setuptools to v75.7.0
2025-01-05 18:49:48 +02:00
4dbc64bbbc Merge pull request #3915 from spantaleev/renovate/pygments-2.x
Update dependency Pygments to v2.19.0
2025-01-05 18:49:21 +02:00
9fa47478cb Update dependency setuptools to v75.7.0 2025-01-05 16:46:27 +00:00
ace294b29d Update dependency Pygments to v2.19.0 2025-01-05 16:46:22 +00:00
4b2e066a61 Update docs/configuring-playbook-mautrix-bridges.md (#3913)
* Update docs/configuring-playbook-mautrix-bridges.md: edit the section "extending the configuration"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-mautrix-bridges.md: edit section headers

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-mautrix-bridges.md: edit the section "Control the logging level"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-mautrix-bridges.md: replace examples for service name

- Remove hangout, which has been shut down and whose role is soon to be removed from the playbook
- Add a note about the Mautrix Meta bridge

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-mautrix-bridges.md: add descriptions to each section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-mautrix-bridges.md: move the section "Set up Double Puppeting" to "Usage"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Rename docs/configuring-playbook-mautrix-bridges.md to docs/configuring-playbook-bridge-mautrix-bridges.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: edit an instruction

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add the manual step for setting up Double Puppetting

Based on other documents for mautrix bridges like docs/configuring-playbook-bridge-mautrix-discord.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add a note about bridges' incompatibility with Appservice Double Puppet

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: adopt the description on docs/configuring-playbook-appservice-double-puppet.md

Make it clear that Double Puppetting with the other methods than the appservice one has been superseded. See: https://docs.mau.fi/bridges/general/double-puppeting.html#automatically

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add "recommended" label to the first method of setting up Double Puppeting

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add anchor links to the official documentation

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add descriptions about configuring bridge permissions

Partially based on docs/configuring-playbook-bridge-mautrix-meta-instagram.md etc.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: add description about the relaybot

Based on:
- the official documentation: https://docs.mau.fi/bridges/general/relay-mode.html
- docs/configuring-playbook-bridge-mautrix-whatsapp.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: remove a duplicated anchor link

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook.md: add an anchor link to configuring-playbook-bridge-mautrix-bridges.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: edit a sentence

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-bridges.md: reflect the review

See https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3913#discussion_r1903215741

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-01-05 10:55:51 +02:00
f8b779f8ed Add trace as a valid logging level option for mautrix bridges
bridgev2 mautrix bridges use https://github.com/tulir/zeroconfig for
logging, which does support `trace` as a logging level.
2025-01-05 09:47:57 +02:00
ee1acdd4be Update docs: misc edits for consistency (#3911)
* Add a warning sign to "Warning" labels

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-matrix-registration.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/maintenance-and-troubleshooting.md: remove a section for ma1sd

As the project has not updated since several years, it does not seem to be reasonable to pick it up specially on the document.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Common header for sections about adjusting the playbook configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-dendrite.md: fix links to dendrite.yaml.j2

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-signal.md: remove a note added by a commit to remove signalgo

The note has been added with 2f6525ccb3, apparently copied from docs/configuring-playbook-bridge-mautrix-signalgo.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-wsproxy.md: fix the anchor link text to mautrix-imessage documentation

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-etherpad.md: add a note about the component being managed externally

Refer docs/configuring-playbook-backup-borg.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-jitsi.md: use the common label for warning messages

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-ldap-auth.md: unrecommend using ma1sd for authentication

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-double-puppet.md: remove a duplicate anchor link

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for old mautrix bridges for Facebook and Instagram: remove anchor links to the deleted files

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-wechat.md: use common descriptions

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-matrix-bridge-sms.md: create a section for the prerequisite

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/maintenance-and-troubleshooting.md: use the common header text

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Use common descriptions for adding the configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bridge-mautrix-telegram.md: small edits

- Add a section for a Telegram API key
- Add a section for instruction about Appservice Double Puppet or Shared Secret Auth

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs for Draupnir and Mjolnir: replace colons with periods

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-rageshake.md: adopt the common instruction

Based on docs/configuring-playbook-sygnal.md regarding the notification about necessity of the service.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Add a note about the components managed externally

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-01-04 14:52:58 +02:00
6facfb2f77 Update docs/configuring-playbook-user-verification-service.md: adopt the common section for controlling the logging level and minor changes (#3910)
* Update docs/configuring-playbook-user-verification-service.md: adopt the common section for controlling the logging level

Based on:
- docs/configuring-playbook-bridge-mautrix-bridges.md
- roles/custom/matrix-user-verification-service/defaults/main.yml

Other minor changes:
- Add an upper section "troubleshooting" for "TLS Certificate Checking"
- Use backticks

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-01-03 16:54:02 +02:00
ce30c347fd Merge pull request #3909 from spantaleev/renovate/dock.mau.dev-maubot-maubot-0.x
Update dock.mau.dev/maubot/maubot Docker tag to v0.5.1
2025-01-03 15:01:59 +02:00
eff5e3ac2b Update dock.mau.dev/maubot/maubot Docker tag to v0.5.1 2025-01-03 13:00:53 +00:00
4ffa10a7b6 Update docs/configuring-playbook-user-verification-service.md, etc. (#3904)
* Update docs/configuring-playbook-user-verification-service.md: add the common introduction

Based on docs/configuring-playbook-dimension.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: use a common placeholder for an access token

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: use a common header for adjusting the playbook configuration

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: instruction for registering a dedicated user

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: use abbreviation

See the line 3.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: move the section for obtaining an access token up

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: remove a redundant paragraph about necessity of token

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs: notes on port 8448 for federation, etc.

- Create sections for the instruction about opening Matrix Federation port
- Remove unmaintained components which this project does not recommend to install from examples about opening the port on docs/prerequisites.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: create a section for explaining the function of the component

Based on docs/configuring-playbook-prometheus-grafana.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: add a note about creating user as an admin

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-user-verification-service.md: merge the section "Configuration" and edit it

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Apply suggestions from code review

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2025-01-03 15:00:20 +02:00
75337384c0 Rebuild i18n files 2024-12-28 10:25:48 +02:00
59b8fbb13d Add customizations support to maubot 2024-12-28 10:24:42 +02:00
079960cbac Merge pull request #3908 from MrAnno/fix-no-rproxy-network
Fix docker networking when no reverse-proxy is used
2024-12-27 20:40:28 +02:00
bbb58c40b6 Fix docker networking when no reverse-proxy is used
For example, synapse-admin connects to additional networks here:
c0559870b5/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 (L39-L41)

This defaults to 'traefik' through
matrix_playbook_reverse_proxy_container_network, which is not correct in
case matrix_playbook_reverse_proxy_type is set to none.
2024-12-27 17:25:47 +01:00
c0559870b5 Make matrix-registration-bot not try to talk to the homeserver via matrix-traefik:8008 (matrix-internal-client-api)
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3898#issuecomment-2561470366
2024-12-25 16:46:49 +02:00
75026d8c3d Update a few incorrect comments 2024-12-25 16:42:19 +02:00
f3dd2c907d Merge pull request #3906 from spantaleev/renovate/charset-normalizer-3.x
Update dependency charset-normalizer to v3.4.1
2024-12-25 16:36:05 +02:00
311607970d Update dependency charset-normalizer to v3.4.1 2024-12-24 19:46:57 +00:00
a1efb78bcb Make logout_redirect_url configuration setting for Element Web configurable (#3903)
* Add logout_redirect_url var and option templating for matrix element client

* Simplify logout_redirect_url templating and make it safer

Using `to_json` to make it safer.

Judging by the code here 0b24d33c64/src/Lifecycle.ts (L1026-L1032)
it doesn't seem like it leaving `logout_redirect_url` empty will hurt, so this patch removes the `if` block.

* Add comment for the `matrix_client_element_logout_redirect_url` variable

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-12-23 21:04:38 +02:00
6a07fb18f7 Merge pull request #3902 from luixxiul/fix
Edit docs: adopt the common instruction
2024-12-23 20:52:49 +02:00
516a0035c8 Update docs/configuring-playbook-matrix-media-repo.md: replace an external anchor link with an internal one
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:53:09 +09:00
40ef348c48 Update docs: Move "(optional)" on headers to the end of the line
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:53:00 +09:00
362d9cabd8 Update docs: add "recommended" to the "optional" label on the headers
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:52:54 +09:00
a2b9243247 Edit docs/configuring-playbook-email2matrix.md: adopt the common instruction about registering a dedicated user
Based on docs/configuring-playbook-alertmanager-receiver.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:52:47 +09:00
2c80aaf980 Edit docs/configuring-playbook-email2matrix.md: adopt the common instruction
Based on docs/configuring-playbook-dimension.md and docs/configuring-playbook-bot-go-neb.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:52:41 +09:00
4798888ac7 Edit docs/configuring-playbook-dimension.md: adopt the common instruction for introduction and prerequisites
- Register a dedicated Matrix user (optional)
- Obtain an access token

Since Dimension has been archived, this is purely for possible use as a template of another component.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-24 01:52:32 +09:00
c97dd0b24f Merge pull request #3901 from luixxiul/fix
Edit docs for obtaining an access token
2024-12-23 15:53:27 +02:00
66ea709cb3 Replace headers for sections about obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:36 +09:00
7911cdb232 Add a common warning message about not to share an access token
Based on docs/obtaining-access-tokens.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:08 +09:00
fb05eace5a Edit instructions to obtain an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:17:10 +09:00
3ad2211d74 Use common instructions for referring to the documentation on obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:15:41 +09:00
11a90a4789 Move matrix-registration-bot's token comment inside the if statement 2024-12-23 09:02:58 +02:00
d89e627a79 Move some matrix-registration-bot variables around 2024-12-23 09:00:44 +02:00
4d39efe6f6 Rename variable (matrix_bot_matrix_registration_bot_matrix_homeserver_url -> matrix_bot_matrix_registration_bot_api_base_url)
We were overriding the `matrix_bot_matrix_registration_bot_matrix_homeserver_url` variable via `group_vars/matrix_servers`
to point it to the container-local homeserver URL, but this variable was not being used at all.

The actual variable name (which was being used) is `matrix_bot_matrix_registration_bot_api_base_url`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3898
2024-12-23 08:59:24 +02:00
358b3486f9 Group matrix-registration-bot's self-building tasks in a block 2024-12-23 08:56:08 +02:00
47a337258c Only create docker-src directory for matrix-registration-bot when self building is enabled 2024-12-23 08:55:48 +02:00
cea437c844 Expose mautrix-discord's avatar proxy
Possibly fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900

This patch hasn't been tested.
2024-12-23 08:36:18 +02:00
f1c238e732 Update mautrix-discord config to latest upstream sample and introduce a few new Ansible variables
Provoked by https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900
2024-12-23 08:20:56 +02:00
6e3f508d20 Merge pull request #3899 from luixxiul/fix
Edit docs for bots: adopt the common format
2024-12-23 07:51:17 +02:00
069f1392e0 Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:49 +09:00
9a56aff933 Edit docs for bots: adopt the common format
- Add "To use the bot" if it does not exist: adopt the format of the docs for bridges
- Add "Prerequisites" section if an API key or user account is required
- Use the common instruction for getting an access token
- Replace "Get" with "Obtain" about getting keys or access tokens
- Replace placeholders for access tokens on docs/configuring-playbook-bot-go.neb.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:38 +09:00
2337e62ecf Merge pull request #3897 from spantaleev/renovate/urllib3-2.x
Update dependency urllib3 to v2.3.0
2024-12-22 13:25:47 +02:00
59d9d2995c Merge pull request #3896 from luixxiul/fix
Edit docs: consistent instructions to generate passphrases or secrets with pwgen
2024-12-22 13:25:22 +02:00
c5f4ea6850 Update dependency urllib3 to v2.3.0 2024-12-22 09:30:35 +00:00
f044bdd279 Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:54:16 +09:00
6b87d1aa7d Edit docs: consistent instructions to generate passphrases or secrets with pwgen
This commit replaces instructions to create passwords, passphrases, or secrets with common ones.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:53:14 +09:00
f204a3ad01 Merge pull request #3895 from luixxiul/fix
Edit docs for bots
2024-12-22 09:21:57 +02:00
3be6043b5a Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 12:03:23 +09:00
93c860305f Edit docs for bots: fix sentences in the usage sections
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 12:03:09 +09:00
a6a55961a9 Edit docs/configuring-playbook-bot-buscarron.md: fix list items
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 11:54:20 +09:00
8e9ecdfb63 Merge pull request #3894 from spantaleev/renovate/click-8.x
Update dependency click to v8.1.8
2024-12-21 21:03:30 +02:00
dc0d74448c Merge pull request #3893 from spantaleev/renovate/jinja2-3.x
Update dependency Jinja2 to v3.1.5
2024-12-21 21:03:07 +02:00
b3b44a1ce8 Update dependency click to v8.1.8 2024-12-21 18:49:46 +00:00
4abf6477d3 Update dependency Jinja2 to v3.1.5 2024-12-21 18:49:41 +00:00
3b81f09748 Make various Cinny options configurable via dedicated variables
Provoked by https://github.com/etkecc/mrs/pull/4
I've discovered that Cinny supports various configuration options and it'd be better
if we add support for them.
2024-12-21 13:57:01 +02:00
c95d181c9a Add matrix_client_cinny_config_homeserverList variable 2024-12-21 13:45:00 +02:00
e533eef620 Upgrade Traefik (v3.2.1-0 -> v3.2.2-0) 2024-12-21 10:31:10 +02:00
e5963c5e6c Merge pull request #3892 from luixxiul/fix
Consistent "send help" messages
2024-12-21 09:32:27 +02:00
e7ea622279 Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-20 23:18:16 +09:00
e33bd16dc6 Consistent "send help" messages
The common pattern is "Send `.*?` to the bot (in the room) to see the available commands." If the descripions are about a bot being invited to a certain existing room or room which is not DM, then "in the room" is inserted among them.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-20 23:17:20 +09:00
23bcf87596 Sync translation locales 2024-12-20 15:28:26 +02:00
a146f2199b Fix old directory name in i18n/bin/build-translated-result.sh
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3891
2024-12-20 15:27:31 +02:00
25601d96a7 Translate a few main quick-start strings to Bulgarian 2024-12-20 15:26:13 +02:00
ad9af092a6 Merge pull request #3891 from luixxiul/fix
Change "translated" → "translations"
2024-12-20 15:01:25 +02:00
9cbb6fd548 Translate a few main README strings to Bulgarian 2024-12-20 14:56:21 +02:00
c51e771d1a Change "translated" → "translations"
I think we might as well to use the word "translations" on this context.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-20 21:48:16 +09:00
71e5f1103d Use msgcat to avoid word-wrapping in .po files 2024-12-20 14:35:01 +02:00
36429d8bd3 Merge pull request #3890 from luixxiul/fix
Start adopting REUSE on files for a brand new subproject (translation)
2024-12-20 14:31:36 +02:00
1636c49134 Start adopting REUSE on files for a brand new subproject (translation)
REUSE is an initiative by FSFE, which intends to make licensing easier with best practices to display legal information through comment headers on source files that can be easily human and machine readable.

Because these files are new and translation shall involve a lot of people as copyright holders, now is the best time to adopt REUSE. As a first implementation, this commit intentionally limits the scope to i18n directory.

Cherry-picked from c737ed0612 and a2445af6d0

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-20 19:08:12 +09:00
0afa372ca8 Update locales 2024-12-20 09:54:28 +02:00
1cf6f86955 Update translation templates 2024-12-20 09:53:46 +02:00
7551680e09 Properly ignore .mo files 2024-12-20 09:50:26 +02:00
d4f8d0918a Initial work on translations / localization
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3841

Most of the preparation for this was done by Suguru Hirahara (https://github.com/luixxiul).
I've merely reorganized/polished the scripts and instructions in the `i18n/` directory.

While translations can happen even now, more work is necessary to

- make the translation flow better (integrating Weblate), etc.

- restore the Github Actions workflows that Suguru Hirahara had already developed to
  adapt them to our new workflow
2024-12-20 09:37:38 +02:00
33b493737d Synapse Admin v0.10.3-etke35 2024-12-19 11:31:16 +02:00
3ed5d8ec7c Merge pull request #3889 from spantaleev/renovate/vectorim-element-web-1.x
chore(deps): update vectorim/element-web docker tag to v1.11.89
2024-12-19 08:51:57 +02:00
b0ff7a9379 Merge pull request #3888 from spantaleev/renovate/matrixdotorg-dendrite-monolith-0.x
chore(deps): update matrixdotorg/dendrite-monolith docker tag to v0.14.0
2024-12-19 08:49:13 +02:00
b1769c1f39 chore(deps): update vectorim/element-web docker tag to v1.11.89 2024-12-18 19:49:27 +00:00
abfb17e898 chore(deps): update matrixdotorg/dendrite-monolith docker tag to v0.14.0 2024-12-18 15:53:37 +00:00
a8372f3613 Edit docs/configuring-playbook-bridge-hookshot.md and two other documents about installing instruction (#3886)
* Edit docs/configuring-playbook-bridge-hookshot.md: fix anchor links to "main.yml"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: create "Adjusting the playbook configuration" section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: split "End-to-bridge encryption" section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: remove two items from the list

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: move "matrix_hookshot_github_private_key" to the playbook configuration adjustment section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: create the "Installing" section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: create the "extending the configuration" section

This follows fea8df5ca2.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: add a blank line

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: clarify when it is needed to download the private key file of a GitHub app

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: edit the instruction to add configuration to vars.yml file

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: replace "Important" with "Note"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: capitalization

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: use the common instruction for sending a message for the help menu

Follow docs/configuring-playbook-bridge-postmoogle.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: small edits

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit installing instructions: replace setup-SERVICE with setup-all along with just shortcuts with "install-service"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Edit docs/configuring-playbook-bridge-hookshot.md: add optional label to GitHub private key instruction

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-18 09:46:12 +02:00
9a17e7c24e Merge pull request #3887 from spantaleev/renovate/docker.io-metio-matrix-alertmanager-receiver-2024.x
chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2024.12.18
2024-12-18 09:43:36 +02:00
6a124f15b3 chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2024.12.18 2024-12-18 06:27:54 +00:00
4399b6dc80 Merge pull request #3884 from FSG-Cat/patch-4
Update Mjolnir from 1.9.0 to 1.9.1
2024-12-18 08:27:19 +02:00
a691b20cf2 Update Mjolnir from 1.9.0 to 1.9.1 2024-12-17 22:56:30 +01:00
8e41eb57c5 Merge pull request #3881 from luixxiul/fix
Update docs/configuring-playbook-alertmanager-receiver.md: adopt common docs structure
2024-12-17 21:14:33 +02:00
fe65a0a405 Merge pull request #3880 from adam-kress/master
Upgrade Jitsi (v9823-1 -> v9909-0)
2024-12-17 21:13:33 +02:00
28f419402e Merge pull request #3882 from spantaleev/renovate/vectorim-element-web-1.x
chore(deps): update vectorim/element-web docker tag to v1.11.88
2024-12-17 21:12:51 +02:00
bfc6bf16d6 chore(deps): update vectorim/element-web docker tag to v1.11.88 2024-12-17 17:16:58 +00:00
7081124237 Update docs/configuring-playbook-alertmanager-receiver.md: remove duplicated instruction
Usage of matrix_alertmanager_receiver_config_matrix_room_mapping is decribed below in the "Adjusting the playbook configuration" much more nicely.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-18 00:20:07 +09:00
2d1c8c7c01 Update docs/configuring-playbook-alertmanager-receiver.md: adopt common docs structure
This commit adopts common structure of descriptions on mjolnir and draupnir docs.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-18 00:19:55 +09:00
9f72062fea Upgrade Jitsi (v9823-1 -> v9909-0) 2024-12-17 08:57:36 -05:00
fea8df5ca2 Update docs for D4A, Draupnir, and Mjolnir (#3872)
* Update docs/configuring-playbook-appservice-draupnir-for-all.md: fix sections title

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: merge configuration sections

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: small edits

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: remove a note abour Pantalaimon's unavailability

Pantalaimon can be installed and it has become available for matrix-bot-draupnir and matrix-bot-mjolnir already.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: edit instruction of setting an alias to the management room

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-draupnir.md: remove 'c.' from the section title

The section is not related to choosing E2EE support.

Also: replace the instruction to go to the section with the anchor link.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-draupnir.md and docs/configuring-playbook-bot-mjolnir.md: create a section for common configs

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: create "Extending the configuration" sections

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-draupnir.md and docs/configuring-playbook-bot-mjolnir.md: create the "End-to-End Encryption support" section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-mjolnir: adjust the section hierarchy

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: replace numbering

This is a follow-up to e5ab17cafd.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: create "Prerequisites" section

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: emphasize necessity of disabling rate limit

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: instruction for discharging rate limit on Synapse

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: edit the placeholder for matrix_bot_draupnir_pantalaimon_password and matrix_bot_mjolnir_pantalaimon_password

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update draupnir and mjolnir docs: add an anchor link to "Configuration with E2EE support"

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-draupnir.md: move the "Abuse Reports" section above

Also: use "pollReports: true" as an example for extending the configuration.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-bot-draupnir.md and docs/configuring-playbook-bot-mjolnir.md: small edits

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: use a common expression

cf. docs/configuring-playbook-alertmanager-receiver.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: integrate the description for installation by Draupnir into our description

Check the original one: 120b37f3ea

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

* Update docs/configuring-playbook-appservice-draupnir-for-all.md: fix a typo

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>

---------

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-17 15:41:10 +02:00
5c2b33ab91 Merge pull request #3877 from luixxiul/patch-1
Update docs: consistent introduction to encourage readers to check projects' documentation
2024-12-17 12:25:21 +02:00
f5cc79bc88 Fix lint errors 2024-12-17 12:13:14 +02:00
bf9bd1f5fb Adapt mautrix-twitter to bridgev2 configuration
Fixup for 784a5aaef4.
2024-12-17 12:09:30 +02:00
beeb8a7933 Remove some "generate" values from various mautrix bridges
We do not let bridges update config files, so generation cannot happen.
We don't want the bridge to manage the config file anyway.
2024-12-17 12:00:39 +02:00
8ab4315484 make justfile compatible with different 'just' implementations, fixes #3866 2024-12-17 11:15:25 +02:00
784a5aaef4 mautrix twitter v0.2.0 2024-12-17 10:43:23 +02:00
7f7871f100 Merge pull request #3878 from spantaleev/renovate/dock.mau.dev-mautrix-whatsapp-0.x
chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.11.2
2024-12-17 08:40:53 +00:00
40f1ed8450 Merge pull request #3879 from spantaleev/renovate/dock.mau.dev-mautrix-gmessages-0.x
chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.6.0
2024-12-17 08:40:37 +00:00
58c6a262d1 Merge pull request #3873 from spantaleev/renovate/dock.mau.dev-mautrix-meta-0.x
chore(deps): update dock.mau.dev/mautrix/meta docker tag to v0.4.3
2024-12-17 08:40:21 +00:00
703ba5ea68 Merge pull request #3874 from spantaleev/renovate/dock.mau.dev-mautrix-signal-0.x
chore(deps): update dock.mau.dev/mautrix/signal docker tag to v0.7.4
2024-12-17 08:39:40 +00:00
1032cbd11a chore(deps): update dock.mau.dev/mautrix/gmessages docker tag to v0.6.0 2024-12-17 08:39:34 +00:00
8283225a0e chore(deps): update dock.mau.dev/mautrix/whatsapp docker tag to v0.11.2 2024-12-17 08:39:28 +00:00
21bf12b921 Merge pull request #3875 from spantaleev/renovate/dock.mau.dev-mautrix-discord-0.x
chore(deps): update dock.mau.dev/mautrix/discord docker tag to v0.7.2
2024-12-17 08:39:18 +00:00
5e2cc46615 Merge pull request #3876 from spantaleev/renovate/dock.mau.dev-mautrix-slack-0.x
chore(deps): update dock.mau.dev/mautrix/slack docker tag to v0.1.4
2024-12-17 08:38:46 +00:00
59c348e0bd chore(deps): update dock.mau.dev/mautrix/slack docker tag to v0.1.4 2024-12-16 21:34:45 +00:00
743417c6f1 chore(deps): update dock.mau.dev/mautrix/discord docker tag to v0.7.2 2024-12-16 21:34:39 +00:00
1953b89db2 chore(deps): update dock.mau.dev/mautrix/signal docker tag to v0.7.4 2024-12-16 18:42:34 +00:00
666830a6c2 chore(deps): update dock.mau.dev/mautrix/meta docker tag to v0.4.3 2024-12-16 18:42:30 +00:00
1544 changed files with 117422 additions and 6603 deletions

2
.codespellrc Normal file
View File

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

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
use_default_rules: true use_default_rules: true

2
.envrc
View File

@ -1 +1 @@
use flake use flake

5
.github/FUNDING.yml vendored
View File

@ -1,3 +1,8 @@
# SPDX-FileCopyrightText: 2020 - 2021 Slavi Pantaleev
# SPDX-FileCopyrightText: 2022 Marko Weltzer
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
# These are supported funding model platforms # These are supported funding model platforms

View File

@ -11,7 +11,7 @@ assignees: ''
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
<!-- <!--
NOTE: This Ansible playbook installs tens of separate services. If you're having a problem with a specific service, it is likely that the problem is not with our deployment method, but with the service itself. You may wish to report that problem at the source, upstream, and not to us NOTE: This Ansible playbook installs tens of separate services. If you're having a problem with a specific one, it is likely that the problem is with the service itself. You may wish to report that problem at the source, upstream.
--> -->
**To Reproduce** **To Reproduce**
@ -34,7 +34,7 @@ A clear and concise description of what you expected to happen.
**Ansible:** **Ansible:**
If your problem appears to be with Ansible, tell us: If your problem appears to be with Ansible, tell us:
- where you run Ansible -- e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?) - where you run Ansible e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?)
- what version of Ansible you're running (see `ansible --version`) - what version of Ansible you're running (see `ansible --version`)
<!-- <!--

View File

@ -0,0 +1,4 @@
SPDX-FileCopyrightText: 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Suguru Hirahara
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:

View File

@ -13,7 +13,9 @@ A clear and concise description of what the problem is. Ex. I'm always frustrate
<!-- <!--
NOTE: When submitting feature requests, be aware that: NOTE: When submitting feature requests, be aware that:
- This Ansible playbook installs tens of separate services. If you're having a problem with a specific service or you'd like some functionality added to it, it is likely that the problem is not with our deployment method, but with the service itself. You may wish to report that problem at the source, upstream, and not to us. - This Ansible playbook installs tens of separate services. If you're having a problem with a specific one, it is likely that the problem is with the service itself. You may wish to report that problem at the source, upstream.
- This playbook intends to focus solely on Matrix and Matrix-related services. If your request is not specific to them, you may as well to consider to submit it to the mash-playbook project: https://github.com/mother-of-all-self-hosting/mash-playbook
- This is a community project with no financial backing. The easiest way to get a feature into this project is to just develop it yourself. - This is a community project with no financial backing. The easiest way to get a feature into this project is to just develop it yourself.
--> -->

View File

@ -0,0 +1,4 @@
SPDX-FileCopyrightText: 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@ -28,7 +28,7 @@ Make sure to remove any secret values before posting your vars.yml file publicly
**Ansible:** **Ansible:**
If your problem appears to be with Ansible, tell us: If your problem appears to be with Ansible, tell us:
- where you run Ansible -- e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?) - where you run Ansible e.g. on the Matrix server itself; on another computer (which OS? distro? standard installation or containerized Ansible?)
- what version of Ansible you're running (see `ansible --version`) - what version of Ansible you're running (see `ansible --version`)
**Problem description**: **Problem description**:

View File

@ -0,0 +1,4 @@
SPDX-FileCopyrightText: 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 Marko Weltzer
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
version: 2 version: 2
updates: updates:

28
.github/renovate.json vendored
View File

@ -1,12 +1,17 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": [
"config:base" "config:recommended"
], ],
"labels": ["dependencies"], "labels": [
"regexManagers": [ "dependencies"
],
"customManagers": [
{ {
"fileMatch": ["defaults/main.yml$"], "customType": "regex",
"managerFilePatterns": [
"/defaults/main.yml$/"
],
"matchStrings": [ "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" "# 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"
] ]
@ -14,14 +19,17 @@
], ],
"packageRules": [ "packageRules": [
{ {
"matchSourceUrlPrefixes": [ "ignoreUnstable": false,
"https://github.com/devture/com.devture.ansible.role", "matchSourceUrls": [
"https://github.com/mother-of-all-self-hosting" "https://github.com/devture/com.devture.ansible.role{/,}**",
], "https://github.com/mother-of-all-self-hosting{/,}**"
"ignoreUnstable": false ]
} }
], ],
"ignoreDeps": [ "ignoreDeps": [
"ghcr.io/matrixgpt/matrix-chatgpt-bot" "ghcr.io/matrixgpt/matrix-chatgpt-bot"
] ],
"pre-commit": {
"enabled": true
}
} }

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Suguru Hirahara
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
name: 'Close stale issues and PRs' name: 'Close stale issues and PRs'
on: # yamllint disable-line rule:truthy on: # yamllint disable-line rule:truthy
@ -21,7 +25,7 @@ jobs:
# Issues/PRs # Issues/PRs
###################################################################### ######################################################################
exempt-assignees: 'spantaleev,aine-etke' exempt-assignees: 'spantaleev,aine-etke'
operations-per-run: 100 operations-per-run: 500
# Use this to do a dry run from a pull request # Use this to do a dry run from a pull request
# debug-only: true # debug-only: true
###################################################################### ######################################################################

29
.github/workflows/lock-threads.yml vendored Normal file
View File

@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2017 - 2023 Armin Sebastian
#
# SPDX-License-Identifier: MIT
---
name: 'Lock Threads'
on: # yamllint disable-line rule:truthy
# Use this to do a dry run from a pull request
# pull_request:
schedule:
- cron: '0 * * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
concurrency:
group: lock-threads
jobs:
action:
if: github.repository == 'spantaleev/matrix-docker-ansible-deploy'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
add-issue-labels: 'outdated'
process-only: 'issues, prs'

View File

@ -1,9 +1,13 @@
# SPDX-FileCopyrightText: 2022 Marko Weltzer
# SPDX-FileCopyrightText: 2022 Nikita Chernyi
# SPDX-FileCopyrightText: 2022 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
--- ---
name: Matrix CI name: Matrix CI
on: # yamllint disable-line rule:truthy on: [push, pull_request] # yamllint disable-line rule:truthy
push:
pull_request:
jobs: jobs:
yamllint: yamllint:
@ -24,3 +28,11 @@ jobs:
uses: ansible-community/ansible-lint-action@v6.17.0 uses: ansible-community/ansible-lint-action@v6.17.0
with: with:
path: roles/custom path: roles/custom
precommit:
name: Run pre-commit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run pre-commit
uses: pre-commit/action@v3.0.1

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: v5.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: v5.0.2
hooks:
- id: reuse

File diff suppressed because it is too large Load Diff

14
CHANGELOG.md.license Normal file
View File

@ -0,0 +1,14 @@
SPDX-FileCopyrightText: 2018 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2018 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Aaron Raimist
SPDX-FileCopyrightText: 2019 Thomas Kuehne
SPDX-FileCopyrightText: 2020 John Goerzen
SPDX-FileCopyrightText: 2020 Julian Foad
SPDX-FileCopyrightText: 2021 Agustin Ferrario
SPDX-FileCopyrightText: 2021 Dan Arnfield
SPDX-FileCopyrightText: 2022 Jost Alemann
SPDX-FileCopyrightText: 2023 Felix Stupp
SPDX-FileCopyrightText: 2023 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@ -0,0 +1,235 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <http://www.gnu.org/licenses/>.

121
LICENSES/CC0-1.0.txt Normal file
View File

@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

18
LICENSES/MIT.txt Normal file
View File

@ -0,0 +1,18 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
.PHONY: roles lint .PHONY: roles lint
help: ## Show this help. help: ## Show this help.

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) [![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 # Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
@ -52,7 +52,9 @@ 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) | | [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) | | [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) |
| [Dendrite](https://github.com/matrix-org/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) | | [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 ### Clients
@ -64,6 +66,7 @@ Web clients for Matrix that you can host on your own domains.
| [Hydrogen](https://github.com/element-hq/hydrogen-web) | ❌ | Lightweight Matrix client with legacy and mobile browser support | [Link](docs/configuring-playbook-client-hydrogen.md) | | [Hydrogen](https://github.com/element-hq/hydrogen-web) | ❌ | Lightweight Matrix client with legacy and mobile browser support | [Link](docs/configuring-playbook-client-hydrogen.md) |
| [Cinny](https://github.com/ajbura/cinny) | ❌ | Simple, elegant and secure web client | [Link](docs/configuring-playbook-client-cinny.md) | | [Cinny](https://github.com/ajbura/cinny) | ❌ | Simple, elegant and secure web client | [Link](docs/configuring-playbook-client-cinny.md) |
| [SchildiChat Web](https://schildi.chat/) | ❌ | Based on Element Web, with a more traditional instant messaging experience | [Link](docs/configuring-playbook-client-schildichat-web.md) | | [SchildiChat Web](https://schildi.chat/) | ❌ | Based on Element Web, with a more traditional instant messaging experience | [Link](docs/configuring-playbook-client-schildichat-web.md) |
| [FluffyChat Web](https://fluffychat.im/) | ❌ | The cutest messenger in Matrix | [Link](docs/configuring-playbook-client-fluffychat-web.md) |
### Server Components ### Server Components
@ -72,12 +75,14 @@ Services that run on the server to make the various parts of your installation w
| Name | Default? | Description | Documentation | | Name | Default? | Description | Documentation |
| ---- | -------- | ----------- | ------------- | | ---- | -------- | ----------- | ------------- |
| [PostgreSQL](https://www.postgresql.org/)| ✅ | Database for Synapse. [Using an external PostgreSQL server](docs/configuring-playbook-external-postgres.md) is also possible. | [Link](docs/configuring-playbook-external-postgres.md) | | [PostgreSQL](https://www.postgresql.org/)| ✅ | Database for Synapse. [Using an external PostgreSQL server](docs/configuring-playbook-external-postgres.md) is also possible. | [Link](docs/configuring-playbook-external-postgres.md) |
| [Coturn](https://github.com/coturn/coturn) | ✅ | STUN/TURN server for WebRTC audio/video calls | [Link](docs/configuring-playbook-turn.md) | | [coturn](https://github.com/coturn/coturn) | ✅ | STUN/TURN server for WebRTC audio/video calls | [Link](docs/configuring-playbook-turn.md) |
| [Traefik](https://doc.traefik.io/traefik/) | ✅ | Web server, listening on ports 80, 443 and 8448 - standing in front of all the other services. Using your own webserver [is possible](docs/configuring-playbook-own-webserver.md) | [Link](docs/configuring-playbook-traefik.md) | | [Traefik](https://doc.traefik.io/traefik/) | ✅ | Web server, listening on ports 80, 443 and 8448 - standing in front of all the other services. [Using your own webserver](docs/configuring-playbook-own-webserver.md) is also possible. | [Link](docs/configuring-playbook-traefik.md) |
| [Let's Encrypt](https://letsencrypt.org/) | ✅ | Free SSL certificate, which secures the connection to all components | [Link](docs/configuring-playbook-ssl-certificates.md) | | [Let's Encrypt](https://letsencrypt.org/) | ✅ | Free SSL certificate, which secures the connection to all components | [Link](docs/configuring-playbook-ssl-certificates.md) |
| [Exim](https://www.exim.org/) | ✅ | Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) | [Link](docs/configuring-playbook-email.md) | | [Exim](https://www.exim.org/) | ✅ | Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server) | [Link](docs/configuring-playbook-email.md) |
| [ma1sd](https://github.com/ma1uta/ma1sd) | ❌ | Matrix Identity Server | [Link](docs/configuring-playbook-ma1sd.md) | [ma1sd](https://github.com/ma1uta/ma1sd) | ❌ | Matrix Identity Server | [Link](docs/configuring-playbook-ma1sd.md)
| [ddclient](https://github.com/linuxserver/docker-ddclient) | ❌ | Dynamic DNS | [Link](docs/configuring-playbook-dynamic-dns.md) | | [ddclient](https://github.com/linuxserver/docker-ddclient) | ❌ | Dynamic DNS | [Link](docs/configuring-playbook-dynamic-dns.md) |
| [LiveKit Server](https://github.com/livekit/livekit) | ❌ | WebRTC server for audio/video calls | [Link](docs/configuring-playbook-livekit-server.md) |
| [Livekit JWT Service](https://github.com/livekit/livekit-jwt-service) | ❌ | JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md) | [Link](docs/configuring-playbook-livekit-jwt-service.md) |
### Authentication ### Authentication
@ -88,10 +93,10 @@ Extend and modify how users are authenticated on your homeserver.
| [matrix-synapse-rest-auth](https://github.com/ma1uta/matrix-synapse-rest-password-provider) (advanced) | ❌ | REST authentication password provider module | [Link](docs/configuring-playbook-rest-auth.md) | | [matrix-synapse-rest-auth](https://github.com/ma1uta/matrix-synapse-rest-password-provider) (advanced) | ❌ | REST authentication password provider module | [Link](docs/configuring-playbook-rest-auth.md) |
|[matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) (advanced) | ❌ | Password provider module | [Link](docs/configuring-playbook-shared-secret-auth.md) | |[matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) (advanced) | ❌ | Password provider module | [Link](docs/configuring-playbook-shared-secret-auth.md) |
| [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) (advanced) | ❌ | LDAP Auth password provider module | [Link](docs/configuring-playbook-ldap-auth.md) | | [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) (advanced) | ❌ | LDAP Auth password provider module | [Link](docs/configuring-playbook-ldap-auth.md) |
| [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) (advanced) | ❌ | A proxy that handles Matrix registration requests and forwards them to LDAP. | [Link](docs/configuring-playbook-matrix-ldap-registration-proxy.md) | | [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) (advanced) | ❌ | Proxy that handles Matrix registration requests and forwards them to LDAP | [Link](docs/configuring-playbook-matrix-ldap-registration-proxy.md) |
| [matrix-registration](https://github.com/ZerataX/matrix-registration) | ❌ | A simple python application to have a token based Matrix registration | [Link](docs/configuring-playbook-matrix-registration.md) | | [matrix-registration](https://github.com/ZerataX/matrix-registration) | ❌ | Simple python application to have a token based Matrix registration | [Link](docs/configuring-playbook-matrix-registration.md) |
| [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) (UVS) | ❌ | Service to verify details of a user based on an Open ID token | [Link](docs/configuring-playbook-user-verification-service.md) | | [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) | ❌ | Service to verify details of a user based on an Open ID token | [Link](docs/configuring-playbook-user-verification-service.md) |
| [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | ❌ | A spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) | | [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | ❌ | Spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) |
### File Storage ### File Storage
@ -101,7 +106,7 @@ Use alternative file storage to the default `media_store` folder.
| ---- | -------- | ----------- | ------------- | | ---- | -------- | ----------- | ------------- |
| [Goofys](https://github.com/kahing/goofys) | ❌ | [Amazon S3](https://aws.amazon.com/s3/) (or other S3-compatible object store) storage for Synapse's content repository (`media_store`) files | [Link](docs/configuring-playbook-s3-goofys.md) | | [Goofys](https://github.com/kahing/goofys) | ❌ | [Amazon S3](https://aws.amazon.com/s3/) (or other S3-compatible object store) storage for Synapse's content repository (`media_store`) files | [Link](docs/configuring-playbook-s3-goofys.md) |
| [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) | ❌ | [Amazon S3](https://aws.amazon.com/s3/) (or other S3-compatible object store) storage for Synapse's content repository (`media_store`) files | [Link](docs/configuring-playbook-s3.md) | | [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) | ❌ | [Amazon S3](https://aws.amazon.com/s3/) (or other S3-compatible object store) storage for Synapse's content repository (`media_store`) files | [Link](docs/configuring-playbook-s3.md) |
| [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) | ❌ | matrix-media-repo is a highly customizable multi-domain media repository for Matrix. Intended for medium to large deployments, this media repo de-duplicates media while being fully compliant with the specification. | [Link](docs/configuring-playbook-matrix-media-repo.md) | | [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) | ❌ | Highly customizable multi-domain media repository for Matrix. Intended for medium to large deployments, this media repo de-duplicates media while being fully compliant with the specification. | [Link](docs/configuring-playbook-matrix-media-repo.md) |
### Bridges ### Bridges
@ -115,6 +120,7 @@ Bridges can be used to connect your Matrix installation with third-party communi
| [mautrix-gmessages](https://github.com/mautrix/gmessages) | ❌ | Bridge to [Google Messages](https://messages.google.com/) | [Link](docs/configuring-playbook-bridge-mautrix-gmessages.md) | | [mautrix-gmessages](https://github.com/mautrix/gmessages) | ❌ | Bridge to [Google Messages](https://messages.google.com/) | [Link](docs/configuring-playbook-bridge-mautrix-gmessages.md) |
| [mautrix-whatsapp](https://github.com/mautrix/whatsapp) | ❌ | Bridge to [WhatsApp](https://www.whatsapp.com/) | [Link](docs/configuring-playbook-bridge-mautrix-whatsapp.md) | | [mautrix-whatsapp](https://github.com/mautrix/whatsapp) | ❌ | Bridge to [WhatsApp](https://www.whatsapp.com/) | [Link](docs/configuring-playbook-bridge-mautrix-whatsapp.md) |
| [mautrix-wsproxy](https://github.com/mautrix/wsproxy) | ❌ | Bridge to Android SMS or Apple iMessage | [Link](docs/configuring-playbook-bridge-mautrix-wsproxy.md) | | [mautrix-wsproxy](https://github.com/mautrix/wsproxy) | ❌ | Bridge to Android SMS or Apple iMessage | [Link](docs/configuring-playbook-bridge-mautrix-wsproxy.md) |
| [mautrix-bluesky](https://github.com/mautrix/bluesky) | ❌ | Bridge to [Bluesky](https://bsky.social/) | [Link](docs/configuring-playbook-bridge-mautrix-bluesky.md) |
| [mautrix-twitter](https://github.com/mautrix/twitter) | ❌ | Bridge to [Twitter](https://twitter.com/) | [Link](docs/configuring-playbook-bridge-mautrix-twitter.md) | | [mautrix-twitter](https://github.com/mautrix/twitter) | ❌ | Bridge to [Twitter](https://twitter.com/) | [Link](docs/configuring-playbook-bridge-mautrix-twitter.md) |
| [mautrix-googlechat](https://github.com/mautrix/googlechat) | ❌ | Bridge to [Google Chat](https://en.wikipedia.org/wiki/Google_Chat) | [Link](docs/configuring-playbook-bridge-mautrix-googlechat.md) | | [mautrix-googlechat](https://github.com/mautrix/googlechat) | ❌ | Bridge to [Google Chat](https://en.wikipedia.org/wiki/Google_Chat) | [Link](docs/configuring-playbook-bridge-mautrix-googlechat.md) |
| [mautrix-meta](https://github.com/mautrix/instagram) | ❌ | Bridge to [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) | Link for [Messenger](docs/configuring-playbook-bridge-mautrix-meta-messenger.md) / [Instagram](docs/configuring-playbook-bridge-mautrix-meta-instagram.md) | | [mautrix-meta](https://github.com/mautrix/instagram) | ❌ | Bridge to [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) | Link for [Messenger](docs/configuring-playbook-bridge-mautrix-meta-messenger.md) / [Instagram](docs/configuring-playbook-bridge-mautrix-meta-instagram.md) |
@ -135,7 +141,6 @@ Bridges can be used to connect your Matrix installation with third-party communi
| [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) | ❌ | Bridge to [Discord](https://discordapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-discord.md) | | [mx-puppet-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-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) | ❌ | Bridge to [GroupMe](https://groupme.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md) |
| [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) | | [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) | ❌ | Bridge to [Steam](https://steamapp.com/) | [Link](docs/configuring-playbook-bridge-mx-puppet-steam.md) |
| [Email2Matrix](https://github.com/devture/email2matrix) | ❌ | Bridge for relaying emails to Matrix rooms | [Link](docs/configuring-playbook-email2matrix.md) |
| [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) | | [Postmoogle](https://github.com/etkecc/postmoogle) | ❌ | Email to Matrix bridge | [Link](docs/configuring-playbook-bridge-postmoogle.md) |
### Bots ### Bots
@ -144,13 +149,13 @@ Bots provide various additional functionality to your installation.
| Name | Default? | Description | Documentation | | Name | Default? | Description | Documentation |
| ---- | -------- | ----------- | ------------- | | ---- | -------- | ----------- | ------------- |
| [baibot](https://github.com/etkecc/baibot) | ❌ | A bot that exposes the power of [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) to you | [Link](docs/configuring-playbook-bot-baibot.md) | | [baibot](https://github.com/etkecc/baibot) | ❌ | Bot that exposes the power of [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) to you | [Link](docs/configuring-playbook-bot-baibot.md) |
| [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) | ❌ | Bot for scheduling one-off & recurring reminders and alarms | [Link](docs/configuring-playbook-bot-matrix-reminder-bot.md) | | [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) | ❌ | Bot for scheduling one-off & recurring reminders and alarms | [Link](docs/configuring-playbook-bot-matrix-reminder-bot.md) |
| [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) | ❌ | Bot for invitations by creating and managing registration tokens | [Link](docs/configuring-playbook-bot-matrix-registration-bot.md) | | [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) | ❌ | Bot for invitations by creating and managing registration tokens | [Link](docs/configuring-playbook-bot-matrix-registration-bot.md) |
| [maubot](https://github.com/maubot/maubot) | ❌ | A plugin-based Matrix bot system | [Link](docs/configuring-playbook-bot-maubot.md) | | [maubot](https://github.com/maubot/maubot) | ❌ | Plugin-based Matrix bot system | [Link](docs/configuring-playbook-bot-maubot.md) |
| [Honoroit](https://github.com/etkecc/honoroit) | ❌ | A helpdesk bot | [Link](docs/configuring-playbook-bot-honoroit.md) | | [Honoroit](https://github.com/etkecc/honoroit) | ❌ | Helpdesk bot | [Link](docs/configuring-playbook-bot-honoroit.md) |
| [Mjolnir](https://github.com/matrix-org/mjolnir) | ❌ | A moderation tool for Matrix | [Link](docs/configuring-playbook-bot-mjolnir.md) | | [Mjolnir](https://github.com/matrix-org/mjolnir) | ❌ | Moderation tool for Matrix | [Link](docs/configuring-playbook-bot-mjolnir.md) |
| [Draupnir](https://github.com/the-draupnir-project/Draupnir) | ❌ | A moderation tool for Matrix (Fork of Mjolnir) | [Link](docs/configuring-playbook-bot-draupnir.md) (for [appservice mode](docs/configuring-playbook-appservice-draupnir-for-all.md))| | [Draupnir](https://github.com/the-draupnir-project/Draupnir) | ❌ | Moderation tool for Matrix (Fork of Mjolnir) | [Link](docs/configuring-playbook-bot-draupnir.md) (for [appservice mode](docs/configuring-playbook-appservice-draupnir-for-all.md))|
| [Buscarron](https://github.com/etkecc/buscarron) | ❌ | Web forms (HTTP POST) to Matrix | [Link](docs/configuring-playbook-bot-buscarron.md) | | [Buscarron](https://github.com/etkecc/buscarron) | ❌ | Web forms (HTTP POST) to Matrix | [Link](docs/configuring-playbook-bot-buscarron.md) |
### Administration ### Administration
@ -161,8 +166,8 @@ Services that help you in administrating and monitoring your Matrix installation
| ---- | -------- | ----------- | ------------- | | ---- | -------- | ----------- | ------------- |
| [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) | ❌ | Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) client | [Link](docs/configuring-playbook-alertmanager-receiver.md) | | [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) | ❌ | Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) client | [Link](docs/configuring-playbook-alertmanager-receiver.md) |
| [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) | ❌ | OAuth 2.0 and OpenID Provider server | [Link](docs/configuring-playbook-matrix-authentication-service.md) | | [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) | ❌ | OAuth 2.0 and OpenID Provider server | [Link](docs/configuring-playbook-matrix-authentication-service.md) |
| [synapse-admin](https://github.com/etkecc/synapse-admin) | ❌ | A web UI tool for administrating users and rooms on your Matrix server | [Link](docs/configuring-playbook-synapse-admin.md) | | [synapse-admin](https://github.com/etkecc/synapse-admin) | ❌ | Web UI tool for administrating users and rooms on your Matrix server | [Link](docs/configuring-playbook-synapse-admin.md) |
| Metrics and Graphs | ❌ | Consists of the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI, with [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) being available too | [Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-nginxlog.md)) | | Metrics and Graphs | ❌ | Consists of the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI, with [prometheus-nginxlog-exporter](https://github.com/martin-helmich/prometheus-nginxlog-exporter/) being available too | [Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional)) |
| [Borg](https://borgbackup.org) | ❌ | Backups | [Link](docs/configuring-playbook-backup-borg.md) | | [Borg](https://borgbackup.org) | ❌ | Backups | [Link](docs/configuring-playbook-backup-borg.md) |
| [rageshake](https://github.com/matrix-org/rageshake) | ❌ | Bug report server | [Link](docs/configuring-playbook-rageshake.md) | | [rageshake](https://github.com/matrix-org/rageshake) | ❌ | Bug report server | [Link](docs/configuring-playbook-rageshake.md) |
| [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) | ❌ | Export the usage statistics of a Synapse homeserver to be scraped by Prometheus. | [Link](docs/configuring-playbook-synapse-usage-exporter.md) | | [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) | ❌ | Export the usage statistics of a Synapse homeserver to be scraped by Prometheus. | [Link](docs/configuring-playbook-synapse-usage-exporter.md) |
@ -174,15 +179,16 @@ Various services that don't fit any other categories.
| Name | Default? | Description | Documentation | | Name | Default? | Description | Documentation |
| ---- | -------- | ----------- | ------------- | | ---- | -------- | ----------- | ------------- |
| [sliding-sync](https://github.com/matrix-org/sliding-sync)| ❌ | (Superseded by Simplified Sliding Sync integrated into Synapse > `1.114` and Conduit > `0.6.0`) Sliding Sync support for clients which require it (e.g. old Element X versions before Simplified Sliding Sync was developed) | [Link](docs/configuring-playbook-sliding-sync-proxy.md) | | [sliding-sync](https://github.com/matrix-org/sliding-sync)| ❌ | (Superseded by Simplified Sliding Sync integrated into Synapse > `1.114` and Conduit > `0.6.0`) Sliding Sync support for clients which require it (e.g. old Element X versions before Simplified Sliding Sync was developed) | [Link](docs/configuring-playbook-sliding-sync-proxy.md) |
| [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) | ❌ | A Synapse module to automatically accept invites. | [Link](docs/configuring-playbook-synapse-auto-accept-invite.md) | | [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) | ❌ | Synapse module to automatically accept invites | [Link](docs/configuring-playbook-synapse-auto-accept-invite.md) |
| [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | ❌ | A cli tool that automatically compresses `state_groups` database table in background. | [Link](docs/configuring-playbook-synapse-auto-compressor.md) | | [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | ❌ | Cli tool that automatically compresses `state_groups` database table in background | [Link](docs/configuring-playbook-synapse-auto-compressor.md) |
| [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | ❌ | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) | | [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | ❌ | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) |
| [Etherpad](https://etherpad.org) | ❌ | An open source collaborative text editor | [Link](docs/configuring-playbook-etherpad.md) | | [Etherpad](https://etherpad.org) | ❌ | Open source collaborative text editor | [Link](docs/configuring-playbook-etherpad.md) |
| [Jitsi](https://jitsi.org/) | ❌ | An open source video-conferencing platform | [Link](docs/configuring-playbook-jitsi.md) | | [Jitsi](https://jitsi.org/) | ❌ | Open source video-conferencing platform | [Link](docs/configuring-playbook-jitsi.md) |
| [Cactus Comments](https://cactus.chat) | ❌ | A federated comment system built on Matrix | [Link](docs/configuring-playbook-cactus-comments.md) | | [Cactus Comments](https://cactus.chat) | ❌ | Federated comment system built on Matrix | [Link](docs/configuring-playbook-cactus-comments.md) |
| [Pantalaimon](https://github.com/matrix-org/pantalaimon) | ❌ | An E2EE aware proxy daemon | [Link](docs/configuring-playbook-pantalaimon.md) | | [Pantalaimon](https://github.com/matrix-org/pantalaimon) | ❌ | E2EE aware proxy daemon | [Link](docs/configuring-playbook-pantalaimon.md) |
| [Sygnal](https://github.com/matrix-org/sygnal) | ❌ | Push gateway | [Link](docs/configuring-playbook-sygnal.md) | | [Sygnal](https://github.com/matrix-org/sygnal) | ❌ | Push gateway | [Link](docs/configuring-playbook-sygnal.md) |
| [ntfy](https://ntfy.sh) | ❌ | Push notifications server | [Link](docs/configuring-playbook-ntfy.md) | | [ntfy](https://ntfy.sh) | ❌ | Push notifications server | [Link](docs/configuring-playbook-ntfy.md) |
| [Element Call](https://github.com/element-hq/element-call) | ❌ | A native Matrix video conferencing application | [Link](docs/configuring-playbook-element-call.md) |
## 🆕 Changes ## 🆕 Changes
@ -198,6 +204,12 @@ When updating the playbook, refer to [the changelog](CHANGELOG.md) to catch up w
- GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues) - GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues)
## 🌐 Translation
See the [i18n/README.md](i18n/README.md) file for more information about translation.
Translations are still work in progress.
## 🤝 Related ## 🤝 Related
You may also be interested in [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) - another Ansible playbook for self-hosting non-Matrix services (see its [List of supported services](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md)). You may also be interested in [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) - another Ansible playbook for self-hosting non-Matrix services (see its [List of supported services](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md)).

34
README.md.license Normal file
View File

@ -0,0 +1,34 @@
SPDX-FileCopyrightText: 2017 - 2025 MDAD project contributors
SPDX-FileCopyrightText: 2017 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 - 2021 Aaron Raimist
SPDX-FileCopyrightText: 2019 - 2020 Hugues Morisset
SPDX-FileCopyrightText: 2019 Edgars Voroboks
SPDX-FileCopyrightText: 2019 Eduardo Beltrame
SPDX-FileCopyrightText: 2020 Björn Marten
SPDX-FileCopyrightText: 2020 Lee Verberne
SPDX-FileCopyrightText: 2020 Marcel Partap
SPDX-FileCopyrightText: 2020 Matthew Croughan
SPDX-FileCopyrightText: 2020 Tulir Asokan
SPDX-FileCopyrightText: 2021 Alexandar Mechev
SPDX-FileCopyrightText: 2021 Béla Becker
SPDX-FileCopyrightText: 2021 Cody Neiman
SPDX-FileCopyrightText: 2021 Marcus Proest
SPDX-FileCopyrightText: 2021 Matthew Cengia
SPDX-FileCopyrightText: 2021 Prasiddh Pooskur
SPDX-FileCopyrightText: 2021 Toni Spets
SPDX-FileCopyrightText: 2021 Yannick Goossens
SPDX-FileCopyrightText: 2022 - 2023 Cody Wyatt Neiman
SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi
SPDX-FileCopyrightText: 2022 Andrew Morgan
SPDX-FileCopyrightText: 2022 Christos Karamolegkos
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Julian Foad
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2022 Kim Brose
SPDX-FileCopyrightText: 2023 - 2024 Michael Hollister
SPDX-FileCopyrightText: 2023 Joe Kappus
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later

39
REUSE.toml Normal file
View File

@ -0,0 +1,39 @@
# SPDX-FileCopyrightText: 2024 Suguru Hirahara
#
# SPDX-License-Identifier: AGPL-3.0-or-later
version = 1
# Computer-generated files and other files which cannot be copyrighted
[[annotations]]
path = [
".github/renovate.json",
"collections/requirements.yml",
"i18n/.gitignore",
"i18n/PUBLISHED_LANGUAGES",
"i18n/requirements.txt",
"roles/custom/**/*.repo",
".codespellrc",
".editorconfig",
".envrc",
".gitattributes",
".gitignore",
".pre-commit-config.yaml",
".yamllint",
"ansible.cfg",
"flake.lock",
"flake.nix",
"requirements.yml"
]
SPDX-FileCopyrightText = "NONE"
SPDX-License-Identifier = "CC0-1.0"
# See https://reuse.software/faq/#aggregate-info
[[annotations]]
path = [
"i18n/**/*.po",
"i18n/**/*.pot"
]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 - 2025 Slavi Pantaleev, MDAD project contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"

View File

@ -1,10 +1,17 @@
<!--
SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# 2023 # 2023
2023 was a year filled with many changes for matrix-docker-ansible-deploy. In this post, we're looking backward at some of the major changes that happened this year, as well as taking a glimpse of what's ahead in 2024. 2023 was a year filled with many changes for matrix-docker-ansible-deploy. In this post, we're looking backward at some of the major changes that happened this year, as well as taking a glimpse of what's ahead in 2024.
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. 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 * 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. * 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.
@ -52,7 +59,7 @@ Hopefully, Synapse defaults would also change the same way and we'd see the numb
With this configuration change in place, projects like [MatrixRooms.info](https://matrixrooms.info/) (made by [etke.cc](https://etke.cc/)) and potentially others in the future, can discover, index the metadata (room address, title, topic, number of users, etc.) and make public rooms browsable & searchable across the whole Matrix Federation. It'd be great if users joining Matrix could more easily find interesting communities that match their interests! With this configuration change in place, projects like [MatrixRooms.info](https://matrixrooms.info/) (made by [etke.cc](https://etke.cc/)) and potentially others in the future, can discover, index the metadata (room address, title, topic, number of users, etc.) and make public rooms browsable & searchable across the whole Matrix Federation. It'd be great if users joining Matrix could more easily find interesting communities that match their interests!
On the **media side of things**, besides Jitsi getting better Matrix integration (via the aforementioned Matrix User Verification Service), we've also had some [Coturn security tightening](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues) as well as [performance optimizations](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#coturn-can-now-use-host-networking) for configurations exposing lots of network ports. On the **media side of things**, besides Jitsi getting better Matrix integration (via the aforementioned Matrix User Verification Service), we've also had some [coturn security tightening](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues) as well as [performance optimizations](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/850078b7e37401ce91a0f9b686f60b945f6c3a96/CHANGELOG.md#coturn-can-now-use-host-networking) for configurations exposing lots of network ports.
[Element Call](https://github.com/element-hq/element-call) seems to have become a nice and polished product lately (as proclaimed in [The Matrix Holiday Update 2023](https://matrix.org/blog/2023/12/25/the-matrix-holiday-update-2023/)), so 2024 is likely the year we'll see support for it in the playbook. Element Call depends on the [LiveKit](https://livekit.io/) streaming server (which is also useful to developers even by itself), so the first step is likely to see LiveKit support in mash-playbook via a reusable Ansible role. Such a LiveKit Ansible role could later easily land in matrix-docker-ansible-deploy and an Element Call static website could be hooked to it. [Element Call](https://github.com/element-hq/element-call) seems to have become a nice and polished product lately (as proclaimed in [The Matrix Holiday Update 2023](https://matrix.org/blog/2023/12/25/the-matrix-holiday-update-2023/)), so 2024 is likely the year we'll see support for it in the playbook. Element Call depends on the [LiveKit](https://livekit.io/) streaming server (which is also useful to developers even by itself), so the first step is likely to see LiveKit support in mash-playbook via a reusable Ansible role. Such a LiveKit Ansible role could later easily land in matrix-docker-ansible-deploy and an Element Call static website could be hooked to it.
@ -69,7 +76,7 @@ When it comes to the `matrix-docker-ansible-deploy` Ansible playbook, 2022 was t
Support for the following new **bridges** was added: Support for the following new **bridges** was added:
* [Postmoogle](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#postmoogle-email-bridge-support) for bi-directional email bridging, which supersedes my old and simplistic [email2matrix](https://github.com/devture/email2matrix) one-way bridge-bot * [Postmoogle](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#postmoogle-email-bridge-support) for bi-directional email bridging, which supersedes my old and simplistic [Email2Matrix](https://github.com/devture/email2matrix) one-way bridge-bot
* [mautrix-discord](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#mautrix-discord-support) * [mautrix-discord](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#mautrix-discord-support)
* [go-skype-bridge](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#go-skype-bridge-bridging-support) * [go-skype-bridge](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#go-skype-bridge-bridging-support)
* [matrix-appservice-kakaotalk](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#matrix-appservice-kakaotalk-support) * [matrix-appservice-kakaotalk](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/ba09705f7fbaf0108652ecbe209793b1d935eba7/CHANGELOG.md#matrix-appservice-kakaotalk-support)

View File

@ -1,6 +1,6 @@
[defaults] [defaults]
retry_files_enabled = False retry_files_enabled = False
stdout_callback = yaml result_format = yaml
[connection] [connection]
pipelining = True pipelining = True

View File

@ -1,4 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors
# SPDX-FileCopyrightText: 2024 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# #
# Run the playbook on multiple hosts with different credentials with this script # Run the playbook on multiple hosts with different credentials with this script
# It defaults to ansible tags "setup-all,start". You can pass alternative tags # It defaults to ansible tags "setup-all,start". You can pass alternative tags

View File

@ -1,4 +1,9 @@
#!/bin/bash #!/bin/bash
# SPDX-FileCopyrightText: 2024 Slavi Pantaleev
#
# SPDX-License-Identifier: AGPL-3.0-or-later
set -euxo pipefail set -euxo pipefail
# This script rebuilds the mautrix-meta-instagram Ansible role, using the mautrix-meta-messenger role as a source. # This script rebuilds the mautrix-meta-instagram Ansible role, using the mautrix-meta-messenger role as a source.
@ -32,7 +37,17 @@ done
sed --in-place 's/matrix_mautrix_meta_instagram_meta_mode: \(.*\)/matrix_mautrix_meta_instagram_meta_mode: instagram/g' $instagram_role_path/defaults/main.yml sed --in-place 's/matrix_mautrix_meta_instagram_meta_mode: \(.*\)/matrix_mautrix_meta_instagram_meta_mode: instagram/g' $instagram_role_path/defaults/main.yml
sed --in-place 's/matrix_mautrix_meta_instagram_identifier: \(.*\)/matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram/g' $instagram_role_path/defaults/main.yml sed --in-place 's/matrix_mautrix_meta_instagram_identifier: \(.*\)/matrix_mautrix_meta_instagram_identifier: matrix-mautrix-meta-instagram/g' $instagram_role_path/defaults/main.yml
echo "# matrix-mautrix-meta-instagram" > $instagram_role_path/README.md # Create the README.md file with the license header
cat > $instagram_role_path/README.md << 'EOF'
<!--
SPDX-FileCopyrightText: 2024 - 2025 MDAD Contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
EOF
echo "" >> $instagram_role_path/README.md
echo "# matrix-mautrix-meta-instagram" >> $instagram_role_path/README.md
echo "" >> $instagram_role_path/README.md echo "" >> $instagram_role_path/README.md
echo "This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see \`just rebuild-mautrix-meta-instagram\` or \`bin/rebuild-mautrix-meta-instagram.sh\`)." >> $instagram_role_path/README.md echo "This bridge role is derived from the matrix-mautrix-meta-messenger Ansible role via automatic changes (see \`just rebuild-mautrix-meta-instagram\` or \`bin/rebuild-mautrix-meta-instagram.sh\`)." >> $instagram_role_path/README.md
echo "" >> $instagram_role_path/README.md echo "" >> $instagram_role_path/README.md

48
conf.py Normal file
View File

@ -0,0 +1,48 @@
# SPDX-FileCopyrightText: 2024 Slavi Pantaleev <slavi@devture.com>
# SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Configuration file for the Sphinx documentation builder.
# Also see the `i18n/` directory.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'matrix-docker-ansible-deploy'
copyright = '2018-%Y, Slavi Pantaleev, Aine Etke, MDAD community members'
author = 'Slavi Pantaleev, Aine Etke, MDAD community members'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
needs_sphinx = '8.1' # For the copyright year placeholder (%Y). Specified with pyproject.toml as well.
extensions = [
'myst_parser',
'sphinx_markdown_builder'
]
myst_gfm_only = True
myst_heading_anchors = 4 # https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#auto-generated-header-anchors
master_doc = 'README'
source_suffix = {'.md': 'markdown'}
# Though the default config file advocates exclude_patterns, it is straightforward for us to use include_patterns to select directories explicitly.
include_patterns = [
'docs/*',
'i18n/README.md',
'*.md',
]
locale_dirs = ['i18n/locales/']
gettext_compact = False
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
# html_theme = 'alabaster'
# html_static_path = ['_static']

View File

@ -1,6 +1,15 @@
<!--
SPDX-FileCopyrightText: 2018 - 2021 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Aaron Raimist
SPDX-FileCopyrightText: 2019 Lyubomir Popov
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Table of Contents # 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. There are two installation guides available for beginners and advanced users.
@ -10,7 +19,7 @@ There are two installation guides available for beginners and advanced users.
- [Prerequisites](prerequisites.md) - [Prerequisites](prerequisites.md)
- [Configuring your DNS settings](configuring-dns.md) - [Configuring DNS settings](configuring-dns.md)
- [Getting the playbook](getting-the-playbook.md) - [Getting the playbook](getting-the-playbook.md)
@ -27,23 +36,23 @@ NOTE:
You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md) You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md)
- [Administration](configuring-playbook.md#administration) - services that help you in administrating and monitoring your Matrix installation - [Administration](configuring-playbook.md#administration) services that help you in administrating and monitoring your Matrix installation
- [Authentication and user-related](configuring-playbook.md#authentication-and-user-related) - extend and modify how users are authenticated on your homeserver - [Authentication and user-related](configuring-playbook.md#authentication-and-user-related) extend and modify how users are authenticated on your homeserver
- [Bots](configuring-playbook.md#bots) - bots provide various additional functionality to your installation - [Bots](configuring-playbook.md#bots) bots provide various additional functionality to your installation
- [Bridges](configuring-playbook.md#bridging-other-networks) - bridges can be used to connect your Matrix installation with third-party communication networks - [Bridges](configuring-playbook.md#bridging-other-networks) bridges can be used to connect your Matrix installation with third-party communication networks
- [Clients](configuring-playbook.md#clients) - web clients for Matrix that you can host on your own domains - [Clients](configuring-playbook.md#clients) web clients for Matrix that you can host on your own domains
- [Core service adjustments](configuring-playbook.md#core-service-adjustments) - backbone of your Matrix system - [Core service adjustments](configuring-playbook.md#core-service-adjustments) backbone of your Matrix system
- [File Storage](configuring-playbook.md#file-storage) - use alternative file storage to the default `media_store` folder - [File Storage](configuring-playbook.md#file-storage) use alternative file storage to the default `media_store` folder
<!-- NOTE: sort list items above alphabetically --> <!-- NOTE: sort list items above alphabetically -->
- [Other specialized services](configuring-playbook.md#other-specialized-services) - various services that don't fit any other categories - [Other specialized services](configuring-playbook.md#other-specialized-services) various services that don't fit any other categories
## 👨‍🔧 Maintenance ## 👨‍🔧 Maintenance
@ -51,8 +60,6 @@ If your server and services experience issues, feel free to come to [our support
<!-- NOTE: sort list items alphabetically --> <!-- NOTE: sort list items alphabetically -->
- [Checking if services work](maintenance-checking-services.md)
- [Maintenance and Troubleshooting](maintenance-and-troubleshooting.md) - [Maintenance and Troubleshooting](maintenance-and-troubleshooting.md)
- [PostgreSQL maintenance](maintenance-postgres.md) - [PostgreSQL maintenance](maintenance-postgres.md)
@ -63,7 +70,7 @@ If your server and services experience issues, feel free to come to [our support
## Other documentation pages <!-- NOTE: this header's title and the section below need optimization --> ## Other documentation pages <!-- NOTE: this header's title and the section below need optimization -->
- **[FAQ](faq.md)** - various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook - **[FAQ](faq.md)** various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook
<!-- NOTE: sort list items under faq.md alphabetically --> <!-- NOTE: sort list items under faq.md alphabetically -->
@ -84,3 +91,5 @@ If your server and services experience issues, feel free to come to [our support
- [Uninstalling](uninstalling.md) - [Uninstalling](uninstalling.md)
- [Updating users passwords](updating-users-passwords.md) - [Updating users passwords](updating-users-passwords.md)
- [Using Ansible for the playbook](ansible.md)

View File

@ -1,3 +1,11 @@
<!--
SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Horvath Gergely
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Alternative architectures # Alternative architectures
As stated in the [Prerequisites](prerequisites.md), currently only `amd64` (`x86_64`) is fully supported. As stated in the [Prerequisites](prerequisites.md), currently only `amd64` (`x86_64`) is fully supported.

View File

@ -1,5 +1,14 @@
<!--
SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Aaron Raimist
SPDX-FileCopyrightText: 2020 Hanno J. Gödecke
SPDX-FileCopyrightText: 2022 Kai Biebel
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
# Running this playbook SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Using Ansible for the playbook
This playbook is meant to be run using [Ansible](https://www.ansible.com/). This playbook is meant to be run using [Ansible](https://www.ansible.com/).
@ -29,9 +38,12 @@ If using the `pip` method, do note that the `ansible-playbook` binary may not be
## Using Ansible via Docker ## Using Ansible via Docker
Alternatively, you can run Ansible inside a Docker container (powered by the [devture/ansible](https://hub.docker.com/r/devture/ansible/) Docker image). Alternatively, you can run Ansible inside a Docker container (powered by the [ghcr.io/devture/ansible](https://github.com/devture/docker-ansible/pkgs/container/ansible) Docker image).
This ensures that you're using a very recent Ansible version, which is less likely to be incompatible with the playbook. This ensures that:
- you're using a very recent Ansible version, which is less likely to be incompatible with the playbook
- you also get access to the [agru](https://github.com/etkecc/agru) tool for quicker Ansible role installation (when running `just roles`) compared to `ansible-galaxy`
You can either [run Ansible in a container on the Matrix server itself](#running-ansible-in-a-container-on-the-matrix-server-itself) or [run Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server). You can either [run Ansible in a container on the Matrix server itself](#running-ansible-in-a-container-on-the-matrix-server-itself) or [run Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server).
@ -42,54 +54,58 @@ To run Ansible in a (Docker) container on the Matrix server itself, you need to
- you **either** need to install Docker manually first. Follow [the upstream instructions](https://docs.docker.com/engine/install/) for your distribution and consider setting `matrix_playbook_docker_installation_enabled: false` in your `vars.yml` file, to prevent the playbook from installing Docker - you **either** need to install Docker manually first. Follow [the upstream instructions](https://docs.docker.com/engine/install/) for your distribution and consider setting `matrix_playbook_docker_installation_enabled: false` in your `vars.yml` file, to prevent the playbook from installing Docker
- **or** you need to run the playbook in another way (e.g. [Running Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server)) at least the first time around - **or** you need to run the playbook in another way (e.g. [Running Ansible in a container on another computer (not the Matrix server)](#running-ansible-in-a-container-on-another-computer-not-the-matrix-server)) at least the first time around
Once you have a working Docker installation on the server, **clone the playbook** somewhere on the server and configure it as per usual (`inventory/hosts`, `inventory/host_vars/..`, etc.), as described in [configuring the playbook](configuring-playbook.md). Once you have a working Docker installation on the server, **clone the playbook** somewhere on the server and configure it as per usual (`inventory/hosts`, `inventory/host_vars/`, etc.), as described in [configuring the playbook](configuring-playbook.md).
You would then need to add `ansible_connection=community.docker.nsenter` to the host line in `inventory/hosts`. This tells Ansible to connect to the "remote" machine by switching Linux namespaces with [nsenter](https://man7.org/linux/man-pages/man1/nsenter.1.html), instead of using SSH. You would then need to add `ansible_connection=community.docker.nsenter` to the host line in `inventory/hosts`. This tells Ansible to connect to the "remote" machine by switching Linux namespaces with [nsenter](https://man7.org/linux/man-pages/man1/nsenter.1.html), instead of using SSH.
Alternatively, you can leave your `inventory/hosts` as is and specify the connection type in **each** `ansible-playbook` call you do later, like this: `ansible-playbook --connection=community.docker.nsenter …` Alternatively, you can leave your `inventory/hosts` as is and specify the connection type in **each** `ansible-playbook` call you do later, like this: `just install-all --connection=community.docker.nsenter` (or `ansible-playbook --connection=community.docker.nsenter …`).
Run this from the playbook's directory: Run this from the playbook's directory:
```sh ```sh
docker run -it --rm \ docker run \
-it \
--rm \
--privileged \ --privileged \
--pid=host \ --pid=host \
-w /work \ -w /work \
-v `pwd`:/work \ --mount type=bind,src=`pwd`,dst=/work \
--entrypoint=/bin/sh \ --entrypoint=/bin/sh \
docker.io/devture/ansible:2.18.1-r0-0 ghcr.io/devture/ansible:11.1.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. 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.
First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues). First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues).
Finally, you can execute `ansible-playbook …` (or `ansible-playbook --connection=community.docker.nsenter …`) commands as per normal now. Finally, you can execute `just` or `ansible-playbook …` (e.g. `ansible-playbook --connection=community.docker.nsenter …`) commands as per normal now.
### Running Ansible in a container on another computer (not the Matrix server) ### Running Ansible in a container on another computer (not the Matrix server)
Run this from the playbook's directory: Run this from the playbook's directory:
```sh ```sh
docker run -it --rm \ docker run \
-it \
--rm \
-w /work \ -w /work \
-v `pwd`:/work \ --mount type=bind,src=`pwd`,dst=/work \
-v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa:ro \ --mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro \
--entrypoint=/bin/sh \ --entrypoint=/bin/sh \
docker.io/devture/ansible:2.18.1-r0-0 ghcr.io/devture/ansible:11.1.0-r0-0
``` ```
The above command tries to mount an SSH key (`$HOME/.ssh/id_rsa`) into the container (at `/root/.ssh/id_rsa`). If your SSH key is at a different path (not in `$HOME/.ssh/id_rsa`), adjust that part. 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.
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. 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.
First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues). First, consider running `git config --global --add safe.directory /work` to [resolve directory ownership issues](#resolve-directory-ownership-issues).
Finally, you execute `ansible-playbook …` commands as per normal now. Finally, you execute `just` or `ansible-playbook …` commands as per normal now.
#### If you don't use SSH keys for authentication #### If you don't use SSH keys for authentication
If you don't use SSH keys for authentication, simply remove that whole line (`-v $HOME/.ssh/id_rsa:/root/.ssh/id_rsa:ro`). If you don't use SSH keys for authentication, simply remove that whole line (`--mount type=bind,src$HOME/.ssh/id_ed25519,dst=/root/.ssh/id_ed25519,ro`).
To authenticate at your server using a password, you need to add a package. So, when you are in the shell of the ansible docker container (the previously used `docker run -it …` command), run: To authenticate at your server using a password, you need to add a package. So, when you are in the shell of the ansible docker container (the previously used `docker run -it …` command), run:
@ -97,11 +113,11 @@ To authenticate at your server using a password, you need to add a package. So,
apk add sshpass apk add sshpass
``` ```
Then, to be asked for the password whenever running an `ansible-playbook` command add `--ask-pass` to the arguments of the command. Then, to be asked for the password whenever running an `ansible-playbook` command add `--ask-pass` to the arguments of the command.
#### Resolve directory ownership issues #### 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) > fatal: unsafe repository ('/work' is owned by someone else)
> To add an exception for this directory, call: > To add an exception for this directory, call:

View File

@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Justin Croonenberghs
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
(Adapted from the [upstream project](https://github.com/element-hq/synapse/blob/develop/docs/CAPTCHA_SETUP.md)) (Adapted from the [upstream project](https://github.com/element-hq/synapse/blob/develop/docs/CAPTCHA_SETUP.md))
# Overview # Overview

View File

@ -1,9 +1,46 @@
# Configuring your DNS settings <!--
SPDX-FileCopyrightText: 2018 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 Edgars Voroboks
SPDX-FileCopyrightText: 2020 - 2021 Aaron Raimist
SPDX-FileCopyrightText: 2020 Marcel Partap
SPDX-FileCopyrightText: 2020 Rónán Duddy
SPDX-FileCopyrightText: 2021 Yannick Goossens
SPDX-FileCopyrightText: 2022 Julian Foad
SPDX-FileCopyrightText: 2022 Nikita Chernyi
SPDX-FileCopyrightText: 2023 Johan Swetzén
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
<sup>[Prerequisites](prerequisites.md) > Configuring your DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md)</sup> SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring DNS settings
<sup>[Prerequisites](prerequisites.md) > Configuring DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md)</sup>
To set up Matrix on your domain, you'd need to do some DNS configuration. To set up Matrix on your domain, you'd need to do some DNS configuration.
## DNS settings for services enabled by default
To serve the base domain (`example.com`) and [Element Web](configuring-playbook-client-element-web.md) with the default subdomain, adjust DNS records as below.
| Type | Host | Priority | Weight | Port | Target |
| ----- | --------- | -------- | ------ | ---- | ---------------------|
| A | `matrix` | - | - | - | `matrix-server-IPv4` |
| AAAA | `matrix` | - | - | - | `matrix-server-IPv6` |
| CNAME | `element` | - | - | - | `matrix.example.com` |
As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IPv4/IPv6 address.
If you don't have IPv6 connectivity yet, you can skip the `AAAA` record. For more details about IPv6, see the [Configuring IPv6](./configuring-ipv6.md) documentation page.
The `element.example.com` subdomain is necessary, because this playbook installs the [Element Web](https://github.com/element-hq/element-web) client for you by default. If you'd rather instruct the playbook not to install Element Web (`matrix_client_element_enabled: false` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `element.example.com` DNS record.
Be mindful as to how long it will take for the DNS records to propagate.
**Note**: if you are using Cloudflare DNS, make sure to disable the proxy and set all records to "DNS only". Otherwise, fetching certificates will fail.
## DNS setting for server delegation (optional) ## DNS setting for server delegation (optional)
In the sample `vars.yml` ([`examples/vars.yml`](../examples/vars.yml)), we recommend to use a short user ID like `@alice:example.com` instead of `@alice:matrix.example.com`. In the sample `vars.yml` ([`examples/vars.yml`](../examples/vars.yml)), we recommend to use a short user ID like `@alice:example.com` instead of `@alice:matrix.example.com`.
@ -21,58 +58,6 @@ If you choose the recommended method (file-based delegation), you do not need to
On the other hand, if you choose this method (setting up a DNS SRV record), you need to configure the additional DNS record as well as adjust SSL certificate handling. Take a look at this documentation for more information: [Server Delegation via a DNS SRV record (advanced)](howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) On the other hand, if you choose this method (setting up a DNS SRV record), you need to configure the additional DNS record as well as adjust SSL certificate handling. Take a look at this documentation for more information: [Server Delegation via a DNS SRV record (advanced)](howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)
## DNS settings for services enabled by default
To serve the base domain (`example.com`) and [Element Web](configuring-playbook-client-element-web.md) with the default subdomain, adjust DNS records as below.
| Type | Host | Priority | Weight | Port | Target |
| ----- | ---------------------------- | -------- | ------ | ---- | ---------------------|
| A | `matrix` | - | - | - | `matrix-server-IP` |
| CNAME | `element` | - | - | - | `matrix.example.com` |
As the table illustrates, you need to create 2 subdomains (`matrix.example.com` and `element.example.com`) and point both of them to your server's IP address (DNS `A` record or `CNAME` record is fine).
The `element.example.com` subdomain is necessary, because this playbook installs the [Element Web](https://github.com/element-hq/element-web) client for you by default. If you'd rather instruct the playbook not to install Element Web (`matrix_client_element_enabled: false` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `element.example.com` DNS record.
Be mindful as to how long it will take for the DNS records to propagate.
If you are using Cloudflare DNS, make sure to disable the proxy and set all records to "DNS only". Otherwise, fetching certificates will fail.
## DNS settings for optional services/features
For other services which may need subdomain settings, see the table below and configure the DNS (`CNAME`) records accordingly.
| Used by component | Type | Host | Priority | Weight | Port | Target |
| -------------------------------------------------------------------------------------------------------------------------- | ----- | ------------------------------ | -------- | ------ | ---- | -----------------------------------|
| [Dimension](configuring-playbook-dimension.md) integration server | CNAME | `dimension` | - | - | - | `matrix.example.com` |
| [Jitsi](configuring-playbook-jitsi.md) video-conferencing platform | CNAME | `jitsi` | - | - | - | `matrix.example.com` |
| [Prometheus/Grafana](configuring-playbook-prometheus-grafana.md) monitoring system | CNAME | `stats` | - | - | - | `matrix.example.com` |
| [Go-NEB](configuring-playbook-bot-go-neb.md) bot | CNAME | `goneb` | - | - | - | `matrix.example.com` |
| [Sygnal](configuring-playbook-sygnal.md) push notification gateway | CNAME | `sygnal` | - | - | - | `matrix.example.com` |
| [ntfy](configuring-playbook-ntfy.md) push notifications server | CNAME | `ntfy` | - | - | - | `matrix.example.com` |
| [Etherpad](configuring-playbook-etherpad.md) collaborative text editor | CNAME | `etherpad` | - | - | - | `matrix.example.com` |
| [Hydrogen](configuring-playbook-client-hydrogen.md) web client | CNAME | `hydrogen` | - | - | - | `matrix.example.com` |
| [Cinny](configuring-playbook-client-cinny.md) web client | CNAME | `cinny` | - | - | - | `matrix.example.com` |
| [SchildiChat Web](configuring-playbook-client-schildichat-web.md) client | CNAME | `schildichat` | - | - | - | `matrix.example.com` |
| [wsproxy](configuring-playbook-bridge-mautrix-wsproxy.md) sms bridge | CNAME | `wsproxy` | - | - | - | `matrix.example.com` |
| [Buscarron](configuring-playbook-bot-buscarron.md) helpdesk bot | CNAME | `buscarron` | - | - | - | `matrix.example.com` |
| [rageshake](configuring-playbook-rageshake.md) bug report server | CNAME | `rageshake` | - | - | - | `matrix.example.com` |
| [ma1sd](configuring-playbook-ma1sd.md) identity server | SRV | `_matrix-identity._tcp` | 10 | 0 | 443 | `matrix.example.com` |
| [Postmoogle](configuring-playbook-bridge-postmoogle.md)/[Email2Matrix](configuring-playbook-email2matrix.md) email bridges | MX | `matrix` | 10 | 0 | - | `matrix.example.com` |
| [Postmoogle](configuring-playbook-bridge-postmoogle.md) email bridge | TXT | `matrix` | - | - | - | `v=spf1 ip4:matrix-server-IP -all` |
| [Postmoogle](configuring-playbook-bridge-postmoogle.md) email bridge | TXT | `_dmarc.matrix` | - | - | - | `v=DMARC1; p=quarantine;` |
| [Postmoogle](configuring-playbook-bridge-postmoogle.md) email bridge | TXT | `postmoogle._domainkey.matrix` | - | - | - | get it from `!pm dkim` |
### SRV record for ma1sd
To make ma1sd enable its federation features, you need to set up a `_matrix-identity._tcp` SRV record. Don't confuse this with the `_matrix._tcp` SRV record for server delegation. See the table above and [this section](configuring-playbook-ma1sd.md#adjusting-dns-records) for values which need to be specified.
When setting up a SRV record, if you are asked for a service and protocol instead of a hostname split the host value from the table where the period is. For example use service as `_matrix-identity` and protocol as `_tcp`.
### MX and TXT records for Postmoogle
To make Postmoogle enable its email sending features, you need to configure MX and TXT (SPF, DMARC, and DKIM) records. See the table above for values which need to be specified.
--------------------------------------------- ---------------------------------------------
[▶️](getting-the-playbook.md) When you're done with the DNS configuration and ready to proceed, continue with [Getting the playbook](getting-the-playbook.md). [▶️](getting-the-playbook.md) When you're done with the DNS configuration and ready to proceed, continue with [Getting the playbook](getting-the-playbook.md).

191
docs/configuring-ipv6.md Normal file
View File

@ -0,0 +1,191 @@
<!--
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring IPv6
Since 2025-03-08, the [default example configuration](../examples/vars.yml) for the playbook recommends enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support for Docker's container networks.
**If you have IPv6 support on your server/network** (see [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity)), then [enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) would give you:
- 📥 incoming IPv6 connectivity to the server via the server's IPv6 address/addresses (containers won't have their own individual publicly accessible IPs)
- 📤 outgoing IPv6 connectivity from the server via the server's IPv6 address/addresses (containers won't exit via their own individual IPv6 address)
- 🔄 IPv6 connectivity for cross-container communication
**If you still don't have IPv6 support on your server/network**, then enabling IPv6 support for the playbook will only enable IPv6 connectivity for cross-container communication and shouldn't affect your server's incoming/outgoing communication. You may also be interested in reading if [there's a performance penalty to enabling IPv6 if the server/network doesn't support IPv6 connectivity?](#is-there-a-performance-penalty-to-enabling-ipv6-if-the-server-network-doesn-t-support-ipv6-connectivity)
As such, **we recommend that you follow the default example configuration and leave IPv6 support for Docker enabled in all cases**.
Enabling IPv6 consists of 2 steps:
- [Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook)
- [Configuring DNS records for IPv6](#configuring-dns-records-for-ipv6)
💡 If you've followed a recent version of our documentation, you would have already done these steps, so there's nothing else to do.
## Enabling IPv6 support for the playbook
You can enable IPv6 support for all components' Docker container networks by using the following `vars.yml` configuration:
```yml
# Controls whether container networks will be created with IPv6 support.
#
# If you also have IPv6 support on your server/network and AAAA DNS records pointing to the server,
# enabling this will effectively give you full public IPv6 connectivity (powered by NAT66).
#
# We recommend leaving this enabled even if you don't currently have IPv6 connectivity on your server/network.
# This way, once you eventually get IPv6 connectivity, you won't have to change anything (besides DNS records).
#
# Flipping this setting later on requires manual work (stopping services, deleting and recreating all container networks).
#
# In the future, this setting will likely default to `true`, so if you really want IPv6 disabled, explicitly set this to `false`.
#
# People managing Docker themselves and running an older Docker version will need additional configuration.
#
# Learn more in `docs/configuring-ipv6.md`.
devture_systemd_docker_base_ipv6_enabled: true
```
Doing this:
- all container networks will be IPv6-enabled
- NAT66 will be used, so that:
- containers will get [Unique Local Addresses (ULA)](https://en.wikipedia.org/wiki/Unique_local_address)
- the outgoing IPv6 address for containers will be the same as the one on the server
- traffic destined for the IPv6 address of the server will be forwarded to the containers that handle (and publish) that specific port
> [!WARNING]
> Without enabling this and assuming you have IPv6 `AAAA` DNS records pointing to the server (see [Configuring DNS records for IPv6](#configuring-dns-records-for-ipv6)), IPv6 traffic will still be handled, but NAT64 will be used instead of NAT66.
> As such, containers will only have an IPv4 address and all IPv6 traffic that reaches them will seem to originate from a local IP. Containers also won't be able to make outgoing (even cross-container) IPv6 requests.
To confirm connectivity, see the following other resources:
- [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity)
- [How do I check outgoing IPv6 connectivity for containers?](#how-do-i-check-outgoing-ipv6-connectivity-for-containers)
- [How do I check incoming IPv6 connectivity for containers?](#how-do-i-check-incoming-ipv6-connectivity-for-containers)
- [How do I confirm if my container networks are IPv6-enabled?](#how-do-i-confirm-if-my-container-networks-are-ipv6-enabled)
- Ensure that the [Federation Tester](https://federationtester.matrix.org/) reports that your server is reachable over IPv6.
## Configuring DNS records for IPv6
[Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) tells you how to prepare for IPv6 on the container (Docker) side.
For full public IPv6 connectivity (and not just IPv6 connectivity for containers inside the container networks) you also need to **ensure that your domain names** (e.g. `matrix.example.com` and others) have IPv6 (`AAAA`) DNS records pointing to the server's IPv6 address.
Also see the [Configuring DNS settings](configuring-dns.md) documentation page for more details.
### A note about old Docker
With our [default example configuration](../examples/vars.yml), the playbook manages Docker for you and installs a modern-enough version.
Docker versions newer than 27.0.1 enable IPv6 integration at the Docker daemon level out of the box. This still requires that networks are created with IPv6 support as described in the [Enabling IPv6 support for the playbook](#enabling-ipv6-support-for-the-playbook) section above.
**If you're on an old Docker version** (Docker 27.0.0 or older) for some reason, it's likely that your Docker installation is not enabled for IPv6 at all. In such a case:
- if Docker is managed by the playbook, you can tell it to force-enable IPv6 via `devture_systemd_docker_base_ipv6_daemon_options_changing_enabled: true`
- if Docker is managed by you manually, you can add `{"experimental": true, "ip6tables": true}` to the Docker daemon options and restart the Docker service (`docker.service`).
### Frequently Asked Questions
#### How do I check if my server has IPv6 connectivity?
##### With curl
You can run `curl https://icanhazip.com` and see if it returns an [IPv6 address](https://en.wikipedia.org/wiki/IPv6_address) (an address with `:` characters in it, like `2001:db8:1234:5678::1`). If it does, then your server has IPv6 connectivity and prefers it over using IPv4. This is common.
If you see an IPv4 address instead (e.g. `1.2.3.4`), it may be that your server prefers IPv4 over IPv6 or that your network does not support IPv6. You can try forcing `curl` to use IPv6 by running `curl -6 https://icanhazip.com` and see if it returns an IPv6 address.
##### With other network utilities
You can run `ip -6 addr` to see if you have any IPv6 addresses assigned to your server, besides the link-local (`fe80::*`) addresses that everyone has (unless they have force-disabled IPv6 support on their system).
If you do have an IPv6 address, it's still worth [using curl](#with-curl) to confirm that your server can successfully make outgoing requests over IPv6.
#### What does the `devture_systemd_docker_base_ipv6_enabled` setting actually do?
The `devture_systemd_docker_base_ipv6_enabled` setting controls whether container networks will be created with IPv6 support.
Changing this setting subsequently requires manual work (deleting all container networks).
See [I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect](#i-ve-changed-the-devture_systemd_docker_base_ipv6_enabled-setting-but-it-doesn-t-seem-to-have-any-effect).
#### I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect.
If you're using an older Docker version (Docker 27.0.0 or older), see [A note about old Docker](#a-note-about-old-docker).
If you've previously installed with one `devture_systemd_docker_base_ipv6_enabled` value and then changed it to another, you need to:
- stop all services (`just stop-all`)
- delete all container networks on the server: `docker network rm $(docker network ls -q)`
- re-run the playbook fully: `just install-all`
#### How do I confirm if my container networks are IPv6-enabled?
You can list container networks by running `docker network ls` on the server.
For each container network (e.g. `matrix-homeserver`), you can check if it has IPv6 connectivity by running a command like this: `docker network inspect matrix-homeserver`.
Ensure that there's an IPv6 subnet/gateway in the `IPAM.Config` section. If yes, you may wish to proceed with [How do I check outgoing IPv6 connectivity for containers?](#how-do-i-check-outgoing-ipv6-connectivity-for-containers)
If there's no IPv6 subnet/gateway in the `IPAM.Config` section, this container network was not created with IPv6 support.
See [I've changed the `devture_systemd_docker_base_ipv6_enabled` setting, but it doesn't seem to have any effect](#i-ve-changed-the-devture_systemd_docker_base_ipv6_enabled-setting-but-it-doesn-t-seem-to-have-any-effect).
#### How do I check outgoing IPv6 connectivity for containers?
```sh
docker run --rm --network=matrix-homeserver quay.io/curl/curl:latest curl -6 https://icanhazip.com
```
💡 This one-off container is connected to the `matrix-homeserver` container network, not to the default Docker bridge network. The default Docker `bridge` network does not have IPv6 connectivity by default (yet) and is not influenced by the `devture_systemd_docker_base_ipv6_enabled` setting, so using that network (by omitting `--network=..` from the command above) will not show an IPv6 address
✅ If this command returns an IPv6 address, you're all good.
❌ If this command doesn't return an IPv6 address, it may be that:
- your container network does not have IPv6 connectivity. See [How do I confirm if my container networks are IPv6-enabled?](#how-do-i-confirm-if-my-container-networks-are-ipv6-enabled) for more details.
- your server does not have IPv6 connectivity. See [How do I check if my server has IPv6 connectivity?](#how-do-i-check-if-my-server-has-ipv6-connectivity) for more details. If you do have IPv6 connectivity, then the issue is with Docker's IPv6 configuration. Otherwise, you need to check your server's network configuration/firewall/routing and get back to configuring the playbook later on.
#### How do I check incoming IPv6 connectivity for containers?
Only containers that publish ports will be exposed (reachable) publicly on the server's own IPv6 address. Containers will not get their own individual public IPv6 address.
For this playbook, a commonly exposed container is the Traefik reverse-proxy container (unless [you're using your own webserver](./configuring-playbook-own-webserver.md)).
You can either do something like `curl -6 https://matrix.example.com` from an IPv6-enabled host (including the server itself) and see if it works.
An alternative is to use the [IPv6 Port Checker](https://port.tools/port-checker-ipv6/) with a hostname of `matrix.example.com` and a port of `443`.
💡 Trying to connect to `matrix.example.com` via IPv6 requires that you have already [configured the DNS records for IPv6](#configuring-dns-records-for-ipv6) as described above. If you wish to eliminate DNS as a potential issue, you can also try connecting to the server's own IPv6 address directly: `curl -6 -H 'Host: matrix.example.com' https://[2001:db8:1234:5678::1]` (we pass a `Host` header to tell Traefik which host we'd like it to serve).
#### Why enable IPv6 if my network doesn't support it yet?
Because when your network does get support for IPv6 later on (even if that's 5 years away), you won't have to change anything besides [configuring the DNS records for IPv6](#configuring-dns-records-for-ipv6).
#### Can I use a custom subnet for IPv6?
Not easily.
The playbook and the various roles only support passing an `enable_ipv6` flag (`true` or `false` value depending on the `devture_systemd_docker_base_ipv6_enabled` Ansible variable) when creating the Docker container networks.
There's no support for passing a custom subnet for IPv4 and IPv6. We let Docker auto-generate the subnets for us.
You can either create a Pull Request that adds support for this to the various playbook roles, or you can manually recreate the networks from the command-line (e.g. `docker network rm matrix-homeserver && docker network create --ipv6 --subnet=2001:db8:1234:5678::/64 matrix-homeserver`).
#### Can I use Global Unicast Addresses (GUA) for IPv6?
No. You cannot have GUA addresses where each container is individually addressable over the public internet.
The playbook only supports NAT66, which should be good enough for most use cases.
Having containers get IPv6 addresses from your own GUA subnet requires complex configuration (ndp-proxy, etc.) and is not supported.
You may find [this Reddit post](https://www.reddit.com/r/ipv6/comments/1alpzmb/comment/kphpw11/) interesting.
#### Is there a performance penalty to enabling IPv6 if the server/network doesn't support IPv6 connectivity?
Probably a tiny one, as services may try to make (unsuccessful) outgoing requests over IPv6.
In practice, it's probably negligible.

View File

@ -1,26 +1,67 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2025 MDAD project contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver (optional) # Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver (optional)
The playbook can install and configure the [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) service for you. It's a [client](https://prometheus.io/docs/alerting/latest/clients/) for Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/), allowing you to deliver alerts to Matrix rooms. The playbook can install and configure the [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) service for you. It's a [client](https://prometheus.io/docs/alerting/latest/clients/) for Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/), allowing you to deliver alerts to Matrix rooms.
See the project's [documentation](https://github.com/metio/matrix-alertmanager-receiver/blob/main/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/metio/matrix-alertmanager-receiver/blob/main/README.md) to learn what it does and why it might be useful to you.
At the moment, **setting up this service's bot requires some manual actions** as described below in [Account and room preparation](#account-and-room-preparation).
This service is meant to be used with an external [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) instance. It's **not** meant to be integrated with the [Prometheus & Grafana stack](./configuring-playbook-prometheus-grafana.md) installed by this playbook, because the Alertmanager component is not installed by it. This service is meant to be used with an external [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) instance. It's **not** meant to be integrated with the [Prometheus & Grafana stack](./configuring-playbook-prometheus-grafana.md) installed by this playbook, because the Alertmanager component is not installed by it.
## Prerequisites
### Register the bot account
This service uses a bot (with a username specified in `matrix_alertmanager_receiver_config_matrix_user_id_localpart`) for delivering messages.
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
```sh
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.alertmanager.receiver password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Join to rooms as the bot manually
**This bot does not accept room invitations automatically**. To deliver messages to rooms, the bot must be joined to all rooms manually.
For each new room you would like the bot to deliver alerts to, invite the bot to the room.
Then, log in as the bot using any Matrix client of your choosing, accept the room invitation from the bot's account, and log out.
## Adjusting DNS records (optional)
By default, this playbook installs matrix-alertmanager-receiver on the `matrix.` subdomain, at the `/matrix-alertmanager-receiver` path (https://matrix.example.com/matrix-alertmanager-receiver). 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.
If you wish to adjust it, see the section [below](#adjusting-the-matrix-alertmanager-receiver-url-optional) for details about DNS configuration.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable matrix-alertmanager-receiver, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml ```yaml
matrix_alertmanager_receiver_enabled: true matrix_alertmanager_receiver_enabled: true
# If you'd like to change the username for this bot, uncomment and adjust. Otherwise, remove. # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_alertmanager_receiver_config_matrix_user_id_localpart: "bot.alertmanager.receiver" # matrix_alertmanager_receiver_config_matrix_user_id_localpart: "bot.alertmanager.receiver"
# Specify the bot user's access token here. matrix_alertmanager_receiver_config_matrix_access_token: "ACCESS_TOKEN_HERE"
# See the "Account and room preparation" section below.
matrix_alertmanager_receiver_config_matrix_access_token: ''
# Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID). # Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID).
# #
@ -33,15 +74,11 @@ matrix_alertmanager_receiver_config_matrix_room_mapping:
some-room-name: "!qporfwt:{{ matrix_domain }}" some-room-name: "!qporfwt:{{ matrix_domain }}"
``` ```
See `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for additional configuration variables. ### Adjusting the matrix-alertmanager-receiver URL (optional)
### Adjusting the matrix-alertmanager-receiver URL
By default, this playbook installs matrix-alertmanager-receiver on the `matrix.` subdomain, at the `/matrix-alertmanager-receiver` path (https://matrix.example.com/matrix-alertmanager-receiver). 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.
By tweaking the `matrix_alertmanager_receiver_hostname` and `matrix_alertmanager_receiver_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_alertmanager_receiver_hostname` and `matrix_alertmanager_receiver_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname and path prefix # Change the default hostname and path prefix
@ -49,46 +86,31 @@ matrix_alertmanager_receiver_hostname: alertmanager.example.com
matrix_alertmanager_receiver_path_prefix: / matrix_alertmanager_receiver_path_prefix: /
``` ```
## Adjusting DNS records If you've changed the default hostname, you may need to create a CNAME record for the matrix-alertmanager-receiver domain (`alertmanager.example.com`), which targets `matrix.example.com`.
If you've changed the default hostname, **you may need to adjust your DNS** records to point the matrix-alertmanager-receiver domain to the Matrix server. When setting, replace `example.com` with your own.
See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've decided to use the default hostname, you won't need to do any extra DNS configuration. There are some additional things you may wish to configure about the component.
## Account and room preparation Take a look at:
The playbook can automatically create users, but it cannot automatically obtain access tokens, nor perform any of the other manual actions below. - `roles/custom/matrix-alertmanager-receiver/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-alertmanager-receiver/templates/config.yaml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_alertmanager_receiver_configuration_extension_yaml` variable
`matrix-alertmanager-receiver` uses a bot (with a username specified in `matrix_alertmanager_receiver_config_matrix_user_id_localpart` - see above) for delivering messages. You need to **manually register this bot acccount and obtain an access token for it**.
1. [Register a new user](registering-users.md): `ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.alertmanager.receiver password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user`
2. [Obtain an access token](obtaining-access-tokens.md) for the bot's user account
3. Invite the bot to a room where you'd like to alerts to be delivered
4. Log in as the bot using any Matrix client of your choosing, accept the room invitation from the bot's account and log out
5. (Optionally) Adjust `matrix_alertmanager_receiver_config_matrix_room_mapping` to create a mapping between the new room and its ID
Steps 1 and 2 above only need to be done once, while preparing your [configuration](#adjusting-the-playbook-configuration).
Steps 3 and 4 need to be done for each new room you'd like the bot to deliver alerts to. Step 5 is optional and provides cleaner `/alert/` URLs.
## Installing ## Installing
Now that you've [prepared the bot account and room](#account-and-room-preparation), [configured the playbook](#adjusting-the-playbook-configuration), and potentially [adjusted your DNS records](#adjusting-dns-records), you can run the playbook with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -111,6 +133,17 @@ route:
- receiver: matrix - receiver: matrix
``` ```
.. where `URL_HERE` looks like `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/some-room-name` or `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/!qporfwt:example.com`. where `URL_HERE` looks like `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/some-room-name` or `https://matrix.example.com/matrix-alertmanager-receiver-RANDOM_VALUE_HERE/alert/!qporfwt:example.com`.
This bot does **not** accept room invitations automatically (like many other bots do). To deliver messages to rooms, **the bot must be joined to all rooms manually** - see Step 4 of the [Account and room preparation](#account-and-room-preparation) section. ## 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-alertmanager-receiver`.
### Increase logging verbosity
The default logging level for this component is `info`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: error, warn, info, debug
matrix_alertmanager_receiver_container_process_argument_log_level: debug
```

View File

@ -1,10 +1,17 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Double Puppet (optional) # Setting up Appservice Double Puppet (optional)
Appservice Double Puppet is a homeserver appservice through which bridges (and potentially other services) can impersonate any user on the homeserver. The playbook can install and configure the Appservice Double Puppet service for you. It is a homeserver appservice through which bridges (and potentially other services) can impersonate any user on the homeserver.
This is useful for performing [double-puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) via the [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new). The Appservice Double Puppet service is an implementation of this approach. This is useful for performing [double-puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) via the appservice method. The service is an implementation of this approach.
Previously, bridges supported performing [double-puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) with the help of the [Shared Secret Auth password provider module](./configuring-playbook-shared-secret-auth.md), but this old and hacky solution has been superseded by this Appservice Double Puppet method. Previously, bridges supported performing double-puppeting with the help of the [Shared Secret Auth password provider module](./configuring-playbook-shared-secret-auth.md), but this old and hacky solution has been superseded by this Appservice Double Puppet method.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -14,23 +21,27 @@ To enable the Appservice Double Puppet service, add the following configuration
matrix_appservice_double_puppet_enabled: true matrix_appservice_double_puppet_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the service.
Take a look at:
- `roles/custom/matrix-appservice-double-puppet/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_double_puppet_registration_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
When enabled, double puppeting will automatically be enabled for all bridges that support double puppeting via the appservice method. Installing the service will automatically enable double puppeting for all bridges that support double puppeting via the appservice method.

View File

@ -1,3 +1,10 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 MDAD project contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Draupnir for All/D4A (optional) # Setting up Draupnir for All/D4A (optional)
The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool for you in appservice mode. The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool for you in appservice mode.
@ -16,90 +23,92 @@ Normal Draupnir does come with the benefit of access to Synapse Admin features.
Draupnir for all does not support external tooling like [MRU](https://mru.rory.gay) as it can't access Draupnir's user account. Draupnir for all does not support external tooling like [MRU](https://mru.rory.gay) as it can't access Draupnir's user account.
## Installation ## Prerequisites
### Create a main management room. ### Create a main management room
The playbook does not create a management room for your Main Draupnir. This task you have to do on your own. The playbook does not create a management room for your Main Draupnir. You **need to create the room manually** before setting up the bot.
The management room has to be given an alias and be public when you are setting up the bot for the first time as the bot does not differentiate between invites and invites to the management room. Note that the room must be unencrypted.
The management room has to be given an alias, and your bot has to be invited to the room.
This management room is used to control who has access to your D4A deployment. The room stores this data inside of the control room state so your bot must have sufficient powerlevel to send custom state events. This is default 50 or moderator as Element clients call this powerlevel. This management room is used to control who has access to your D4A deployment. The room stores this data inside of the control room state so your bot must have sufficient powerlevel to send custom state events. This is default 50 or moderator as Element clients call this powerlevel.
As noted in the Draupnir install instructions the control room is sensitive. The following is said about the control room in the Draupnir install instructions. > [!WARNING]
>Anyone in this room can control the bot so it is important that you only invite trusted users to this room. The room must be unencrypted since the playbook does not support installing Pantalaimon yet. > Anyone in this room can control the bot so it is important that you only invite trusted users to this room.
### Give your main management room an alias. ## Adjusting the playbook configuration
Give the room from step 1 an alias. This alias can be anything you want and its recommended for increased security during the setup phase of the bot that you make this alias be a random string. You can give your room a secondary human readable alias when it has been locked down after setup phase. Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ALIAS_HERE`.
### Adjusting the playbook configuration.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):
You must replace `ALIAS_FROM_STEP_2_GOES_HERE` with the alias you created in step 2.
```yaml ```yaml
matrix_appservice_draupnir_for_all_enabled: true matrix_appservice_draupnir_for_all_enabled: true
matrix_appservice_draupnir_for_all_master_control_room_alias: "ALIAS_FROM_STEP_2_GOES_HERE" matrix_appservice_draupnir_for_all_config_adminRoom: "MANAGEMENT_ROOM_ALIAS_HERE"
``` ```
### Installing ### Extending the configuration
There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-appservice-draupnir-for-all/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_draupnir_for_all_configuration_extension_yaml` variable
For example, to change Draupnir's `protectAllJoinedRooms` option to `true`, add the following configuration to your `vars.yml` file:
```yaml
matrix_appservice_draupnir_for_all_configuration_extension_yaml: |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_appservice_draupnir_for_all_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_appservice_draupnir_for_all_configuration_yaml`.
protectAllJoinedRooms: true
```
You can refer to the upstream [documentation](https://github.com/the-draupnir-project/Draupnir) for more configuration documentation.
**Notes**:
- The playbook ships a full copy of the example config that does transfer to provisioned Draupnirs in the production-bots.yaml.j2 file in the template directory of the role.
- Config extension does not affect the appservices config as this config is not extensible in current Draupnir anyway. It instead touches the config passed to the Draupnirs that your Appservice creates. So the example above (`protectAllJoinedRooms: true`) makes all provisioned Draupnirs protect all joined rooms.
## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: **Notes**:
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - 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. `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.
## Usage ## 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 allis almost identical to Draupnir bot mode. 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 ### 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)) 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))
To allow users or whole homeservers you type /plain @draupnir-main:example.com allow `target` and target can be either a MXID or a wildcard like `@*:example.com` to allow all users on example.com to register. We use /plain to force the client to not attempt to mess with this command as it can break Wildcard commands especially. To allow users or whole homeservers you type /plain !admin allow `target` and target can be either a MXID or a wildcard like `@*:example.com` to allow all users on example.com to register. We use /plain to force the client to not attempt to mess with this command as it can break Wildcard commands especially.
### How to provision a D4A once you are allowed to. ### How to provision a D4A once you are allowed to
Open a DM with @draupnir-main:example.com and if using an Element client send a message into this DM to finalise creating it. The bot will reject this invite and you will shortly get invited to the Draupnir control room for your newly provisioned Draupnir. From here its just a normal Draupnir experience. To provision a D4A, you need to start a chat with `@draupnir-main:example.com`. The bot will reject this invite and you will shortly get invited to the Draupnir control room for your newly provisioned Draupnir. From here its just a normal Draupnir experience.
Congratulations if you made it all the way here because you now have a fully working Draupnir for all deployment. Congratulations if you made it all the way here because you now have a fully working Draupnir for all deployment.
### Configuration of D4A
You can refer to the upstream [documentation](https://github.com/the-draupnir-project/Draupnir) for more configuration documentation. Please note that the playbook ships a full copy of the example config that does transfer to provisioned Draupnirs in the production-bots.yaml.j2 file in the template directory of the role.
Please note that Config extension does not affect the appservices config as this config is not extensible in current Draupnir anyways. Config extension instead touches the config passed to the Draupnirs that your Appservice creates. So for example below makes all provisioned Draupnirs protect all joined rooms.
You can configure additional options by adding the `matrix_appservice_draupnir_for_all_extension_yaml` variable to your `inventory/host_vars/matrix.example.com/vars.yml` file.
For example to change Draupnir's `protectAllJoinedRooms` option to `true` you would add the following to your `vars.yml` file.
```yaml
matrix_appservice_draupnir_for_all_extension_yaml: |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_appservice_draupnir_for_all_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_appservice_draupnir_for_all_yaml`.
protectAllJoinedRooms: true
```

View File

@ -1,87 +1,19 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up BorgBackup (optional) # Setting up BorgBackup (optional)
The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) (short: Borg) with [borgmatic](https://torsion.org/borgmatic/) for you. The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) (short: Borg) with [borgmatic](https://torsion.org/borgmatic/) for you.
BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service. BorgBackup is a deduplicating backup program with optional compression and encryption. That means your daily incremental backups can be stored in a fraction of the space and is safe whether you store it at home or on a cloud service.
You will need a remote server where BorgBackup will store the backups. There are hosted, BorgBackup compatible solutions available, such as [BorgBase](https://www.borgbase.com). The [Ansible role for BorgBackup](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring BorgBackup, you can check them via:
- 🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/docs/configuring-backup-borg.md) online
The backup will run based on `backup_borg_schedule` var (systemd timer calendar), default: 4am every day. - 📁 `roles/galaxy/backup_borg/docs/configuring-backup-borg.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles)
By default, if you're using the integrated Postgres database server (as opposed to [an external Postgres server](configuring-playbook-external-postgres.md)), backups with BorgBackup will also include dumps of your Postgres database. An alternative solution for backing up the Postgres database is [postgres backup](configuring-playbook-postgres-backup.md). If you decide to go with another solution, you can disable Postgres-backup support for BorgBackup using the `backup_borg_postgresql_enabled` variable.
**Note**: the component is not managed by this repository but its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg).
## Prerequisites
1. If you do not disable Postgres-backup support, make sure that the Postgres version of your homeserver's database is compatible with borgmatic.
2. Create a new SSH key:
```sh
ssh-keygen -t ed25519 -N '' -f matrix-borg-backup -C matrix
```
This can be done on any machine and you don't need to place the key in the `.ssh` folder. It will be added to the Ansible config later.
3. Add the **public** part of this SSH key (the `matrix-borg-backup.pub` file) to your BorgBackup provider/server:
If you plan to use a hosted solution, follow their instructions. If you have your own server, copy the key over:
```sh
# example to append the new PUBKEY contents, where:
# PUBKEY is path to the public key,
# USER is a ssh user on a provider / server
# HOST is a ssh host of a provider / server
cat PUBKEY | ssh USER@HOST 'dd of=.ssh/authorized_keys oflag=append conv=notrunc'
```
## Adjusting the playbook configuration
Minimal working configuration (`inventory/host_vars/matrix.example.com/vars.yml`) to enable BorgBackup:
```yaml
backup_borg_enabled: true
backup_borg_location_repositories:
- ssh://USER@HOST/./REPO
backup_borg_storage_encryption_passphrase: "PASSPHRASE"
backup_borg_ssh_key_private: |
-----BEGIN OPENSSH PRIVATE KEY-----
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZW
xpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv
bG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3
RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXgg
ZWEgY29tbW9kbyBjb25zZXF1YXQuIA==
-----END OPENSSH PRIVATE KEY-----
```
where:
* USER - SSH user of a provider/server
* HOST - SSH host of a provider/server
* REPO - BorgBackup repository name, it will be initialized on backup start, eg: `matrix`, regarding Syntax see [Remote repositories](https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls)
* PASSPHRASE - passphrase used for encrypting backups, you may generate it with `pwgen -s 64 1` or use any password manager
* PRIVATE KEY - the content of the **private** part of the SSH key you created before. The whole key (all of its belonging lines) under `backup_borg_ssh_key_private` needs to be indented with 2 spaces
To backup without encryption, add `backup_borg_encryption: 'none'` to your vars. This will also enable the `backup_borg_unknown_unencrypted_repo_access_is_ok` variable.
`backup_borg_location_source_directories` defines the list of directories to back up: it's set to `{{ matrix_base_data_path }}` by default, which is the base directory for every service's data, such as Synapse, Postgres and the bridges. You might want to exclude certain directories or file patterns from the backup using the `backup_borg_location_exclude_patterns` variable.
Check the [backup_borg role](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg)'s [defaults/main.yml](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg/blob/main/defaults/main.yml) file for the full list of available options.
## 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` 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.
## Manually start a backup
For testing your setup it can be helpful to not wait until 4am. If you want to run the backup immediately, log onto the server and run `systemctl start matrix-backup-borg`. This will not return until the backup is done, so possibly a long time. Consider using [tmux](https://en.wikipedia.org/wiki/Tmux) if your SSH connection is unstable.

View File

@ -1,3 +1,10 @@
<!--
SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Serving the base domain (optional) # Serving the base domain (optional)
By default, this playbook sets up services on your Matrix server (`matrix.example.com`), but has it configured so that it presents itself as the base domain (`example.com`). To have this server officially be responsible for Matrix services for the base domain (`example.com`), you need to set up server delegation / redirection. By default, this playbook sets up services on your Matrix server (`matrix.example.com`), but has it configured so that it presents itself as the base domain (`example.com`). To have this server officially be responsible for Matrix services for the base domain (`example.com`), you need to set up server delegation / redirection.

View File

@ -1,3 +1,10 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up baibot (optional) # Setting up baibot (optional)
<p align="center"> <p align="center">
@ -30,7 +37,7 @@ Depending on your current `vars.yml` file and desired configuration, **you may r
### Base configuration ### Base configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_bot_baibot_enabled: true matrix_bot_baibot_enabled: true
@ -38,12 +45,12 @@ matrix_bot_baibot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_baibot_config_user_mxid_localpart: baibot # matrix_bot_baibot_config_user_mxid_localpart: baibot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`. # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
# If you'd like to change this password subsequently, see the details below. # If you'd like to change this password subsequently, see the details below.
matrix_bot_baibot_config_user_password: 'PASSWORD_FOR_THE_BOT' matrix_bot_baibot_config_user_password: 'PASSWORD_FOR_THE_BOT'
# An optional passphrase to use for backing up and recovering the bot's encryption keys. # An optional passphrase to use for backing up and recovering the bot's encryption keys.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`). # You can create one with a command like `pwgen -s 64 1`.
# #
# If set to null, the recovery module will not be used and losing your session/database # If set to null, the recovery module will not be used and losing your session/database
# will mean you lose access to old messages in encrypted room. # will mean you lose access to old messages in encrypted room.
@ -78,7 +85,7 @@ To specify who is considered a bot [👮‍♂️ Administrator](https://github.
If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section. If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section.
**If necessary**, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: **If necessary**, add the following configuration to your `vars.yml` file:
```yaml ```yaml
# Uncomment to add one or more admins to this bridge: # Uncomment to add one or more admins to this bridge:
@ -87,7 +94,7 @@ If `matrix_admin` is already configured in your `vars.yml` configuration, you ca
# - "@*:example.com" # - "@*:example.com"
# - "@admin:example.net" # - "@admin:example.net"
# #
# .. unless you've made yourself an admin of all bots/bridges like this: # unless you've made yourself an admin of all bots/bridges like this:
# #
# matrix_admin: '@yourAdminAccount:{{ matrix_domain }}' # matrix_admin: '@yourAdminAccount:{{ matrix_domain }}'
``` ```
@ -107,7 +114,7 @@ Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is op
**Note**: Once initially configured, the allowed users list **cannot be managed via Ansible anymore**. It can only be managed subsequently via bot commands. **Note**: Once initially configured, the allowed users list **cannot be managed via Ansible anymore**. It can only be managed subsequently via bot commands.
**If necessary**, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: **If necessary**, add the following configuration to your `vars.yml` file:
```yaml ```yaml
# Uncomment and adjust the bot users if necessary: # Uncomment and adjust the bot users if necessary:
@ -123,7 +130,7 @@ Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is op
You are **not required** to define agents [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration) via Ansible. **To get started quickly**, you can **skip this section and define agents at runtime via chat commands** (following the bot's guidance). You are **not required** to define agents [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration) via Ansible. **To get started quickly**, you can **skip this section and define agents at runtime via chat commands** (following the bot's guidance).
Privileged users (like the [👮‍♂️ Administrator](#-administrator-configuration), but potentially others too - see the upstream [🔒 access](https://github.com/etkecc/baibot/blob/main/docs/access.md) documentation) can **define agents dynamically at any time** via chat commands. Privileged users (like the [👮‍♂️ Administrator](#-administrator-configuration), but potentially others too see the upstream [🔒 access](https://github.com/etkecc/baibot/blob/main/docs/access.md) documentation) can **define agents dynamically at any time** via chat commands.
The Ansible role includes preset variables for easily enabling some [🤖 agents](https://github.com/etkecc/baibot/blob/main/docs/agents.md) on various [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md) (e.g. OpenAI, etc). The Ansible role includes preset variables for easily enabling some [🤖 agents](https://github.com/etkecc/baibot/blob/main/docs/agents.md) on various [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md) (e.g. OpenAI, etc).
@ -146,15 +153,13 @@ matrix_bot_baibot_config_agents_static_definitions_anthropic_enabled: true
matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: "YOUR_API_KEY_HERE" matrix_bot_baibot_config_agents_static_definitions_anthropic_config_api_key: "YOUR_API_KEY_HERE"
# If you'd like to use another text-generation agent, uncomment and adjust: # Uncomment and adjust this part if you'd like to use another text-generation agent
# matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-3-5-sonnet-20240620 # matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_model_id: claude-3-5-sonnet-20240620
# The playbook defines a default prompt for all statically-defined agents. # The playbook defines a default prompt for all statically-defined agents.
# You can adjust it in the `matrix_bot_baibot_config_agents_static_definitions_prompt` variable, # You can adjust it in the `matrix_bot_baibot_config_agents_static_definitions_prompt` variable,
# or you can adjust it below only for the Anthropic agent. # or you can adjust it below only for the Anthropic agent.
# matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}" # matrix_bot_baibot_config_agents_static_definitions_anthropic_config_text_generation_prompt: "{{ matrix_bot_baibot_config_agents_static_definitions_prompt }}"
# See `defaults/main.yml` in the baibot role for more configuration options.
``` ```
If you'd like to use more than one model, take a look at the [Configuring additional agents (without a preset)](#configuring-additional-agents-without-a-preset) section below. If you'd like to use more than one model, take a look at the [Configuring additional agents (without a preset)](#configuring-additional-agents-without-a-preset) section below.
@ -184,8 +189,6 @@ matrix_bot_baibot_config_agents_static_definitions_groq_config_text_generation_m
# #
# matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_enabled: true # matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_enabled: true
# matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_model_id: whisper-large-v3 # matrix_bot_baibot_config_agents_static_definitions_groq_config_speech_to_text_model_id: whisper-large-v3
# See `defaults/main.yml` in the baibot role for more configuration options.
``` ```
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/groq`. 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/groq`.
@ -212,8 +215,6 @@ matrix_bot_baibot_config_agents_static_definitions_mistral_config_api_key: "YOUR
# Uncomment and adjust this part if you're not happy with these defaults: # Uncomment and adjust this part if you're not happy with these defaults:
# matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_model_id: mistral-large-latest # matrix_bot_baibot_config_agents_static_definitions_mistral_config_text_generation_model_id: mistral-large-latest
# See `defaults/main.yml` in the baibot role for more configuration options.
``` ```
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/mistral`. 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/mistral`.
@ -241,9 +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 }}" # 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: # 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
# See `defaults/main.yml` in the baibot role for more configuration options.
``` ```
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`. 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`.
@ -258,7 +257,7 @@ You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot
This provider allows you to use OpenAI-compatible API services like [OpenRouter](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openrouter), [Together AI](https://github.com/etkecc/baibot/blob/main/docs/providers.md#together-ai), etc. This provider allows you to use OpenAI-compatible API services like [OpenRouter](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openrouter), [Together AI](https://github.com/etkecc/baibot/blob/main/docs/providers.md#together-ai), etc.
Some of these popular services already have **shortcut** providers (see [supported providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md#supported-providers) leading to this one behind the scenes - this make it easier to get started. Some of these popular services already have **shortcut** providers (see [supported providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md#supported-providers) leading to this one behind the scenes this make it easier to get started.
As of this moment, the playbook does not include presets for any of these services, so you'll need to [Configuring additional agents (without a preset)](#configuring-additional-agents-without-a-preset). As of this moment, the playbook does not include presets for any of these services, so you'll need to [Configuring additional agents (without a preset)](#configuring-additional-agents-without-a-preset).
@ -313,7 +312,7 @@ Because these are [statically](https://github.com/etkecc/baibot/blob/main/docs/c
💡 To figure out what to put in the `config` section, refer to the [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md) page, which contains **sample configuration YAML for each provider**. 💡 To figure out what to put in the `config` section, refer to the [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md) page, which contains **sample configuration YAML for each provider**.
As with any [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md), defining them means they exist. To actually make use of them, they need to be configured as handlers globally or in a specific room - see [Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models). As with any [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md), defining them means they exist. To actually make use of them, they need to be configured as handlers globally or in a specific room see [Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models).
💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers). 💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers).
@ -362,6 +361,15 @@ matrix_bot_baibot_config_initial_global_config_handler_image_generation: null
**Note**: these are initial defaults for the bot's global configuration. As such, changing any of these values subsequently has no effect on the bot's behavior. **Once initially configured the global configuration cannot be managed Ansible**, but only via bot commands. **Note**: these are initial defaults for the bot's global configuration. As such, changing any of these values subsequently has no effect on the bot's behavior. **Once initially configured the global configuration cannot be managed Ansible**, but only via bot commands.
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-baibot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bot-baibot/templates/config.yaml.j2` for the bot's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_baibot_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
@ -383,7 +391,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
## Usage ## Usage
To use the bot, invite the `@baibot:example.com` bot user into a room. To use the bot, invite it to any existing Matrix room (`/invite @baibot:example.com` where `example.com` is your base domain, not the `matrix.` domain).
If you're an allowed bot [👥 user](https://github.com/etkecc/baibot/blob/main/docs/access.md#user) (see [👥 Initial users configuration](#-initial-users-configuration)), the bot will accept your invitation and join the room. If you're an allowed bot [👥 user](https://github.com/etkecc/baibot/blob/main/docs/access.md#user) (see [👥 Initial users configuration](#-initial-users-configuration)), the bot will accept your invitation and join the room.
@ -391,15 +399,17 @@ After joining, the bot will introduce itself and show information about the [✨
If you've [🤖 configured one or more agents via Ansible](#-configuring-agents-via-ansible) and have [🤝 configured initial default handlers](#configuring-initial-default-handlers), the bot will immediately be able to make use of these agents for this new room. Otherwise, you will need to configure agents and/or handlers via chat commands. If you've [🤖 configured one or more agents via Ansible](#-configuring-agents-via-ansible) and have [🤝 configured initial default handlers](#configuring-initial-default-handlers), the bot will immediately be able to make use of these agents for this new room. Otherwise, you will need to configure agents and/or handlers via chat commands.
Send `!bai help` to the room at any time to see the bot's help menu for additional commands. Send `!bai help` to the bot in the room to see the available commands.
You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation. You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation.
## Debugging ## Troubleshooting
As with all other services, you can find service logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-bot-baibot` 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-bot-baibot`.
The default logging level for this service is `info`, but you can increase it to `debug` (or even `trace`) with the following additional configuration: ### Increase logging verbosity
The default logging level for this service is `info`. If you want to increase the verbosity to `debug` (or even `trace`), add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml ```yaml
# Adjust the bot's own logging level. # Adjust the bot's own logging level.

View File

@ -1,12 +1,28 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Nikita Chernyi
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Buscarron (optional) # Setting up Buscarron (optional)
The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you. The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you.
Buscarron is bot that receives HTTP POST submissions of web forms and forwards them to a Matrix room. Buscarron is bot that receives HTTP POST submissions of web forms and forwards them to a Matrix room.
See the project's [documentation](https://github.com/etkecc/buscarron/blob/main/README.md) to learn what it does and why it might be useful to you.
## Adjusting DNS records
By default, this playbook installs Buscarron on the `buscarron.` subdomain (`buscarron.example.com`) and requires you to create a CNAME record for `buscarron`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Buscarron, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_bot_buscarron_enabled: true matrix_bot_buscarron_enabled: true
@ -14,7 +30,7 @@ matrix_bot_buscarron_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_buscarron_login: bot.buscarron # matrix_bot_buscarron_login: bot.buscarron
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_buscarron_password: PASSWORD_FOR_THE_BOT matrix_bot_buscarron_password: PASSWORD_FOR_THE_BOT
# Adjust accepted forms # Adjust accepted forms
@ -29,13 +45,11 @@ matrix_bot_buscarron_forms:
matrix_bot_buscarron_spamlist: [] # (optional) list of emails/domains/hosts (with wildcards support) that should be rejected automatically matrix_bot_buscarron_spamlist: [] # (optional) list of emails/domains/hosts (with wildcards support) that should be rejected automatically
``` ```
### Adjusting the Buscarron URL ### Adjusting the Buscarron URL (optional)
By default, this playbook installs Buscarron on the `buscarron.` subdomain (`buscarron.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_bot_buscarron_hostname` and `matrix_bot_buscarron_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_bot_buscarron_hostname` and `matrix_bot_buscarron_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
@ -46,14 +60,18 @@ matrix_bot_buscarron_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_bot_buscarron_path_prefix: /buscarron matrix_bot_buscarron_path_prefix: /buscarron
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the Buscarron domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Buscarron domain to the Matrix server.
By default, you will need to create a CNAME record for `buscarron`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-buscarron/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## 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: After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:
@ -75,7 +93,11 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
## Usage ## Usage
To use the bot, invite the `@bot.buscarron:example.com` to the room you specified in a config, after that any point your form to the form url, example for the `contact` form: To use the bot, invite it to the room you specified on your `vars.yml` file (`/invite @bot.buscarron:example.com` where `example.com` is your base domain, not the `matrix.` domain).
After the bot joins the room, anyone can call the web form via HTTP POST method.
Here is an example for the `contact` form:
```html ```html
<form method="POST" action="https://buscarron.example.com/contact"> <form method="POST" action="https://buscarron.example.com/contact">
@ -85,10 +107,20 @@ To use the bot, invite the `@bot.buscarron:example.com` to the room you specifie
**Note**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if: **Note**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if:
- if you hit the homepage (HTTP `GET` request to `/`) - you hit the homepage (HTTP `GET` request to `/`)
- if you submit a form to the wrong URL (`POST` request to `/non-existing-form`) - you submit a form to the wrong URL (`POST` request to `/non-existing-form`)
- if `hasemail` is enabled for the form (like in the example above) and you don't submit an `email` field - `hasemail` is enabled for the form (like in the example above) and you don't submit an `email` field
If you get banned, you'd need to restart the process by running the playbook with `--tags=start` or running `systemctl restart matrix-bot-buscarron` on the server. If you get banned, you'd need to restart the process by running the playbook with `--tags=start` or running `systemctl restart matrix-bot-buscarron` on the server.
You can also refer to the upstream [documentation](https://github.com/etkecc/buscarron). ## 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-bot-buscarron`.
### Increase logging verbosity
The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_bot_buscarron_loglevel: DEBUG
```

View File

@ -1,18 +1,32 @@
<!--
SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2023 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-bot-chatgpt (optional, unmaintained) # Setting up matrix-bot-chatgpt (optional, unmaintained)
**Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be installed using [this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one. **Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be [installed using this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one.
The playbook can install and configure [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) for you. The playbook can install and configure [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) for you.
Talk to [ChatGPT](https://openai.com/blog/chatgpt/) via your favourite Matrix client! Talk to [ChatGPT](https://openai.com/blog/chatgpt/) via your favourite Matrix client!
## Register the bot account See the project's [documentation](https://github.com/matrixgpt/matrix-chatgpt-bot/blob/main/README.md) to learn what it does and why it might be useful to you.
The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. ## Prerequisites
You **need to register the bot user manually** before setting up the bot. ### Obtain an OpenAI API key
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`. To use the bot, you'd need to obtain an API key from [https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys).
### Register the bot account
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md): You can use the playbook to [register a new user](registering-users.md):
@ -20,36 +34,41 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.chatgpt password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.chatgpt password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
``` ```
## Get an access token and create encryption keys ### Obtain an access token and create encryption keys
Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
To make sure the bot can read encrypted messages, it will need an encryption key, just like any other new user. While obtaining the access token, follow the prompts to setup a backup key. More information can be found in the [Element documentation](https://element.io/help#encryption6). To make sure the bot can read encrypted messages, it will need an encryption key, just like any other new user. While obtaining the access token, follow the prompts to setup a backup key. More information can be found in the [Element documentation](https://element.io/help#encryption6).
## Adjusting the playbook configuration ## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `API_KEY_HERE` with the API key retrieved [here](#obtain-an-openai-api-key) and `ACCESS_TOKEN_HERE` with the access token created [here](#obtain-an-access-token-and-create-encryption-keys), respectively.
```yaml ```yaml
matrix_bot_chatgpt_enabled: true matrix_bot_chatgpt_enabled: true
# Obtain a new API key from https://platform.openai.com/account/api-keys matrix_bot_chatgpt_openai_api_key: 'API_KEY_HERE'
matrix_bot_chatgpt_openai_api_key: ''
# This is the default username # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_chatgpt_matrix_bot_username_localpart: 'bot.chatgpt' # matrix_bot_chatgpt_matrix_bot_username_localpart: 'bot.chatgpt'
# Matrix access token (from bot user above) matrix_bot_chatgpt_matrix_access_token: 'ACCESS_TOKEN_HERE'
# see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix
matrix_bot_chatgpt_matrix_access_token: ''
# 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 # 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.' matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.'
``` ```
You will need to get tokens for ChatGPT. ### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-chatgpt/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
@ -70,6 +89,10 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
## Usage ## Usage
To use the bot, invite the `@bot.chatgpt:example.com` to the room you specified in a config, after that start speaking to it, use the prefix if you configured one or mention the bot. To use the bot, invite it to the room you specified on your `vars.yml` file (`/invite @bot.chatgpt:example.com` where `example.com` is your base domain, not the `matrix.` domain).
You can also refer to the upstream [documentation](https://github.com/matrixgpt/matrix-chatgpt-bot). After the bot joins the room, you can send a message to it. When you do so, use the prefix if you configured it or mention the bot.
## 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-bot-chatgpt`.

View File

@ -1,110 +1,198 @@
<!--
SPDX-FileCopyrightText: 2023 - 2025 MDAD project contributors
SPDX-FileCopyrightText: 2023 Kim Brose
SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Draupnir (optional) # Setting up Draupnir (optional)
The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you. The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you.
See the project's [documentation](https://github.com/the-draupnir-project/Draupnir/blob/main/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://the-draupnir-project.github.io/draupnir-documentation/) to learn what it does and why it might be useful to you.
This documentation page is about installing Draupnir in bot mode. As an alternative, you can run a multi-instance Draupnir deployment by installing [Draupnir in appservice mode](./configuring-playbook-appservice-draupnir-for-all.md) (called Draupnir-for-all) instead. This documentation page is about installing Draupnir in bot mode. As an alternative, you can run a multi-instance Draupnir deployment by installing [Draupnir in appservice mode](./configuring-playbook-appservice-draupnir-for-all.md) (called Draupnir-for-all) instead.
If your migrating from Mjolnir skip to step 5b. If your migrating from [Mjolnir](configuring-playbook-bot-mjolnir.md), skip to [this section](#migrating-from-mjolnir-only-required-if-migrating).
## Register the bot account ## Prerequisites
The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. ### Create a management room
You **need to register the bot user manually** before setting up the bot. Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`. > [!WARNING]
> Anyone in this room can control the bot so it is important that you only invite trusted users to this room.
You can use the playbook to [register a new user](registering-users.md): It is possible to make the management room encrypted (E2EE). If doing so, then you need to enable the native E2EE support (see [below](#native-e2ee-support)).
```sh Once you have created the room you need to copy the room ID so you can specify it on your `inventory/host_vars/matrix.example.com/vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`.
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.draupnir password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
## End-to-End Encryption support
Decide whether you want to support having an encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled.
Refer to Draupnir's [documentation](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#protecting-encrypted-rooms) for more details about why you might want to care about encryption support for protected rooms.
### Disable Pantalaimon for Draupnir (since v2.0.0; optional)
It is known that running Draupnir along with Pantalaimon breaks all workflows that involve answering prompts with reactions.
If you are updating Draupnir from v1.x.x and have enabled Pantalaimon for it, you can disable Pantalaimon in favor of the native E2EE support. To disable Pantalaimon, remove the configuration `matrix_bot_draupnir_pantalaimon_use: true` from your `vars.yml` file.
**Note**: because the management room is still encrypted, disabling it without enabling the native E2EE support will break the management room.
### Native E2EE support
To enable the native E2EE support, you need to obtain an access token for Draupnir and set it on your `vars.yml` file.
Note that native E2EE requires a clean access token that has not touched E2EE so curl is recommended as a method to obtain it. **The access token obtained via Element Web does not work with it**. Refer to the documentation on [how to obtain an access token via curl](obtaining-access-tokens.md#obtain-an-access-token-via-curl).
To enable the native E2EE support, add the following configuration to your `vars.yml` file. Make sure to replace `CLEAN_ACCESS_TOKEN_HERE` with the access token you obtained just now.
```yaml
# Enables the native E2EE support
matrix_bot_draupnir_config_experimentalRustCrypto: true
# Access token which the bot will use for logging in.
# Comment out `matrix_bot_draupnir_login_native` when using this option.
matrix_bot_draupnir_config_accessToken: "CLEAN_ACCESS_TOKEN_HERE"
``` ```
If you would like Draupnir to be able to deactivate users, move aliases, shutdown rooms, show abuse reports ([see below](#abuse-reports)), etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above.
## Get an access token
Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
## Make sure the account is free from rate limiting
You will need to prevent Synapse from rate limiting the bot's account. This is not an optional step. If you do not do this step Draupnir will crash. This can be done using Synapse's [admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). Please ask for help if you are uncomfortable with these steps or run into issues.
If your Synapse Admin API is exposed to the internet for some reason like running the Synapse Admin Role [Link](configuring-playbook-synapse-admin.md) or running `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` in your playbook config. If your API is not externally exposed you should still be able to on the local host for your synapse run these commands.
The following command works on semi up to date Windows 10 installs and All Windows 11 installations and other systems that ship curl. `curl --header "Authorization: Bearer <access_token>" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit` Replace `@bot.draupnir:example.com` with the MXID of your Draupnir and example.com with your homeserver domain. You can easily obtain an access token for a homeserver admin account the same way you can obtain an access token for Draupnir itself. If you made Draupnir Admin you can just use the Draupnir token.
## Create a management room
Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room.
If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below).
Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element Web you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!qporfwt:example.com`.
Finally invite the `@bot.draupnir:example.com` account you created earlier into the room.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
Decide whether you want Draupnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms. To support E2EE, Draupnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md). To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE` with the one of the room which you have created earlier.
### a. Configuration with E2EE support
When using Pantalaimon, Draupnir will log in to its bot account itself through Pantalaimon, so configure its username and password.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):
```yaml ```yaml
# Enable Pantalaimon. See docs/configuring-playbook-pantalaimon.md
matrix_pantalaimon_enabled: true
# Enable Draupnir # Enable Draupnir
matrix_bot_draupnir_enabled: true matrix_bot_draupnir_enabled: true
# Tell Draupnir to use Pantalaimon # Uncomment and adjust this part if you'd like to use a username different than the default
matrix_bot_draupnir_pantalaimon_use: true # matrix_bot_draupnir_login: bot.draupnir
# User name and password for the bot. Required when using Pantalaimon. # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_draupnir_pantalaimon_username: "DRAUPNIR_USERNAME_FROM_STEP_1" # If creating the user on your own and using `matrix_bot_draupnir_config_accessToken` to login you can comment out this line.
matrix_bot_draupnir_pantalaimon_password: ### you should create a secure password for the bot account matrix_bot_draupnir_password: PASSWORD_FOR_THE_BOT
matrix_bot_draupnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE" # Comment out if using `matrix_bot_draupnir_config_experimentalRustCrypto: true` or `matrix_bot_draupnir_config_accessToken` to login.
matrix_bot_draupnir_login_native: true
matrix_bot_draupnir_config_managementRoom: "MANAGEMENT_ROOM_ID_HERE"
``` ```
The playbook's `group_vars` will configure other required settings. If using this role separately without the playbook, you also need to configure the two URLs that Draupnir uses to reach the homeserver, one through Pantalaimon and one "raw". This example is taken from the playbook's `group_vars`: ### Create and invite the bot to the management room
Before proceeding to the next step, run the playbook with the following command to create the bot user.
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created
```
**Note**: the `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
Then, invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier.
### Make sure the account is free from rate limiting (optional, recommended)
If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a highly recommended step. If you do not configure it, Draupnir performance will be degraded.**
This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). They can be accessed both externally and internally.
**Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints).
The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md).
#### Add the configuration
To expose the APIs publicly, add the following configuration to your `vars.yml` file:
```yaml ```yaml
# Endpoint URL that Draupnir uses to interact with the Matrix homeserver (client-server API). matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true
# Set this to the pantalaimon URL if you're using that.
matrix_bot_draupnir_homeserver_url: "{{ 'http://matrix-pantalaimon:8009' if matrix_bot_draupnir_pantalaimon_use else matrix_addons_homeserver_client_api_url }}"
# Endpoint URL that Draupnir could use to fetch events related to reports (client-server API and /_synapse/),
# only set this to the public-internet homeserver client API URL, do NOT set this to the pantalaimon URL.
matrix_bot_draupnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}"
``` ```
### b. Configuration without E2EE support #### Obtain an access token for admin account
When NOT using Pantalaimon, Draupnir does not log in by itself and you must give it an access token for its bot account. Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): > [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
You must replace `ACCESS_TOKEN_FROM_STEP_2_GOES_HERE` and `ROOM_ID_FROM_STEP_4_GOES_HERE` with your own values. #### Run the `curl` command
To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:
- `ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account
- `example.com` with your base domain
- `@bot.draupnir:example.com` with the MXID of your Draupnir bot user
```sh
curl --header "Authorization: Bearer ADMIN_ACCESS_TOKEN_HERE" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.draupnir:example.com/override_ratelimit
```
**Notes**:
- This does not work on outdated Windows 10 as curl is not available there.
- Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally.
### Abuse Reports
Draupnir can receive reports in the management room.
The bot can intercept the report API endpoint of the client-server API, which requires integration with the reverse proxy in front of the homeserver. If you are using Traefik, this playbook can set this up for you:
```yaml ```yaml
matrix_bot_draupnir_enabled: true matrix_bot_draupnir_config_web_abuseReporting: true
matrix_bot_draupnir_access_token: "ACCESS_TOKEN_FROM_STEP_2_GOES_HERE"
matrix_bot_draupnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE"
``` ```
### c. Migrating from Mjolnir (Only required if migrating.) ### 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.
The other method polls an Synapse Admin API endpoint, hence it is available only if using Synapse and if the Draupnir user is an admin (see [above](#register-the-bot-account)). To enable it, set `pollReports: true` on `vars.yml` file as below.
-->
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-draupnir/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_draupnir_configuration_extension_yaml` variable
For example, to change Draupnir's `acceptInvitesFromSpace` option to `!qporfwt:example.com`, add the following configuration to your `vars.yml` file:
```yaml
matrix_bot_draupnir_configuration_extension_yaml: |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_bot_draupnir_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_bot_draupnir_configuration_yaml`.
acceptInvitesFromSpace: "!qporfwt:example.com"
```
### Migrating from Mjolnir (Only required if migrating)
Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration. Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration.
Note that Draupnir supports E2EE natively, so you can enable it instead of Pantalaimon. It is recommended to consult the instruction [here](#native-e2ee-support).
That is all you need to do due to that Draupnir can complete migration on its own. That is all you need to do due to that Draupnir can complete migration on its own.
## Installing ## Installing
@ -124,7 +212,7 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
`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. `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.
- If you change the Pantalaimon's password (`matrix_bot_draupnir_pantalaimon_password` in your `vars.yml` file) subsequently, its credentials on the homeserver won't be updated automatically. If you'd like to change the password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `matrix_bot_draupnir_pantalaimon_password` to let Pantalaimon know its new password. - If you change the bot password (`matrix_bot_draupnir_password` in your `vars.yml` file) subsequently, the bot user's credentials on the homeserver won't be updated automatically. If you'd like to change the bot user's password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password.
## Usage ## Usage
@ -154,7 +242,7 @@ 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). 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. A popular policy list is maintained in the public `#community-moderation-effort-bl:neko.dev` room.
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` 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`
@ -186,45 +274,10 @@ You can also **turn on various built-in [protections](https://the-draupnir-proje
To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room. 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 config get PROTECTION_NAME` (e.g. `!draupnir config get JoinWaveShortCircuit`). To **see the configuration options for a given protection**, send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuit`).
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**, send a command like this: `!draupnir config set PROTECTION_NAME.OPTION VALUE` (e.g. `!draupnir config set JoinWaveShortCircuit.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**, send a command like this: `!draupnir enable PROTECTION_NAME` (e.g. `!draupnir enable JoinWaveShortCircuit`).
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 disable PROTECTION_NAME` (e.g. `!draupnir disable JoinWaveShortCircuit`).
## Extending the configuration
You can configure additional options by adding the `matrix_bot_draupnir_configuration_extension_yaml` variable to your `inventory/host_vars/matrix.example.com/vars.yml` file.
For example to change Draupnir's `recordIgnoredInvites` option to `true` you would add the following to your `vars.yml` file.
```yaml
matrix_bot_draupnir_configuration_extension_yaml: |
# Your custom YAML configuration goes here.
# This configuration extends the default starting configuration (`matrix_bot_draupnir_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_bot_draupnir_configuration_yaml`.
recordIgnoredInvites: true
```
## Abuse Reports
Draupnir supports two methods to receive reports in the management room.
The first method intercepts the report API endpoint of the client-server API, which requires integration with the reverse proxy in front of the homeserver. If you are using traefik, this playbook can set this up for you:
```yaml
matrix_bot_draupnir_abuse_reporting_enabled: true
```
The other method polls an synapse admin API endpoint and is hence only available when using synapse and when the Draupnir user is an admin user (see step 1). To enable it, set `pollReports: true` in Draupnir's config:
```yaml
matrix_bot_draupnir_configuration_extension_yaml: |
pollReports: true
```

View File

@ -1,6 +1,16 @@
<!--
SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2021 Yannick Goossens
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2025 MDAD project contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Go-NEB (optional, unmaintained) # Setting up Go-NEB (optional, unmaintained)
**Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one. **Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one.
The playbook can install and configure [Go-NEB](https://github.com/matrix-org/go-neb) for you. The playbook can install and configure [Go-NEB](https://github.com/matrix-org/go-neb) for you.
@ -8,13 +18,13 @@ Go-NEB is a Matrix bot written in Go. It is the successor to Matrix-NEB, the ori
See the project's [documentation](https://github.com/matrix-org/go-neb/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/matrix-org/go-neb/blob/master/README.md) to learn what it does and why it might be useful to you.
## Registering the bot account ## Prerequisites
The playbook does not automatically create users for you. The bot requires at least 1 access token to be able to connect to your homeserver. ### Register the bot account
You **need to register the bot user manually** before setting up the bot. The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`. Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md): You can use the playbook to [register a new user](registering-users.md):
@ -22,11 +32,22 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.go-neb password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.go-neb password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
``` ```
Once the user is created you can [obtain an access token](obtaining-access-tokens.md). ### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting DNS records
By default, this playbook installs Go-NEB on the `goneb.` subdomain (`goneb.example.com`) and requires you to create a CNAME record for `goneb`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Go-NEB, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_FOR_GONEB_HERE` and `ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE` with the ones created [above](#obtain-an-access-token).
```yaml ```yaml
matrix_bot_go_neb_enabled: true matrix_bot_go_neb_enabled: true
@ -35,7 +56,7 @@ matrix_bot_go_neb_enabled: true
# Use the access token you obtained in the step above. # Use the access token you obtained in the step above.
matrix_bot_go_neb_clients: matrix_bot_go_neb_clients:
- UserID: "@goneb:{{ matrix_domain }}" - UserID: "@goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER" AccessToken: "ACCESS_TOKEN_FOR_GONEB_HERE"
DeviceID: "DEVICE1" DeviceID: "DEVICE1"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}" HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: true Sync: true
@ -44,7 +65,7 @@ matrix_bot_go_neb_clients:
AcceptVerificationFromUsers: [":{{ matrix_domain }}"] AcceptVerificationFromUsers: [":{{ matrix_domain }}"]
- UserID: "@another_goneb:{{ matrix_domain }}" - UserID: "@another_goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER" AccessToken: "ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE"
DeviceID: "DEVICE2" DeviceID: "DEVICE2"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}" HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: false Sync: false
@ -105,7 +126,7 @@ matrix_bot_go_neb_services:
api_key: "AIzaSyA4FD39m9" api_key: "AIzaSyA4FD39m9"
cx: "AIASDFWSRRtrtr" cx: "AIASDFWSRRtrtr"
# Get a key via https://api.imgur.com/oauth2/addclient # Obtain a key via https://api.imgur.com/oauth2/addclient
# Select "oauth2 without callback url" # Select "oauth2 without callback url"
- ID: "imgur_service" - ID: "imgur_service"
Type: "imgur" Type: "imgur"
@ -190,47 +211,46 @@ matrix_bot_go_neb_services:
msg_type: "m.text" # Must be either `m.text` or `m.notice` msg_type: "m.text" # Must be either `m.text` or `m.notice`
``` ```
### Adjusting the Go-NEB URL ### Adjusting the Go-NEB URL (optional)
By default, this playbook installs Go-NEB on the `goneb.` subdomain (`goneb.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_bot_go_neb_hostname` and `matrix_bot_go_neb_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_bot_go_neb_hostname` and `matrix_bot_go_neb_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
# so we won't need to add additional DNS records for Go-NEB. # so we won't need to add additional DNS records for Go-NEB.
matrix_bot_go_neb_hostname: "{{ matrix_server_fqn_matrix }}" matrix_bot_go_neb_hostname: "{{ matrix_server_fqn_matrix }}"
# Expose under the /buscarron subpath # Expose under the /go-neb subpath
matrix_bot_go_neb_path_prefix: /go-neb matrix_bot_go_neb_path_prefix: /go-neb
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the Go-NEB domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Go-NEB domain to the Matrix server.
By default, you will need to create a CNAME record for `goneb`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-go-neb/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bot-go-neb/templates/config.yaml.j2` for the bot's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_go_neb_configuration_extension_yaml` variable
## Installing ## 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: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -238,6 +258,10 @@ To use the bot, invite it to any existing Matrix room (`/invite @bot.go-neb:exam
Basic usage is like this: `!echo hi` or `!imgur puppies` or `!giphy matrix` Basic usage is like this: `!echo hi` or `!imgur puppies` or `!giphy matrix`
If you enabled the github_cmd service you can get the supported commands via `!github help` If you enabled the github_cmd service, send `!github help` to the bot in the room to see the available commands.
You can also refer to the upstream [Documentation](https://github.com/matrix-org/go-neb). You can also refer to the upstream [Documentation](https://github.com/matrix-org/go-neb).
## 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-bot-go-neb`.

View File

@ -1,3 +1,11 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Honoroit (optional) # Setting up Honoroit (optional)
The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you. The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you.
@ -6,9 +14,15 @@ It's a bot you can use to setup **your own helpdesk on matrix**
See the project's [documentation](https://github.com/etkecc/honoroit/blob/main/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/etkecc/honoroit/blob/main/README.md) to learn what it does and why it might be useful to you.
## Adjusting DNS records (optional)
By default, this playbook installs Honoroit on the `matrix.` subdomain, at the `/honoroit` path (https://matrix.example.com/honoroit). 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.
If you wish to adjust it, see the section [below](#adjusting-the-honoroit-url-optional) for details about DNS configuration.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Honoroit, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_bot_honoroit_enabled: true matrix_bot_honoroit_enabled: true
@ -16,20 +30,18 @@ matrix_bot_honoroit_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_honoroit_login: honoroit # matrix_bot_honoroit_login: honoroit
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT
# Adjust this to your room ID # Adjust this to your room ID
matrix_bot_honoroit_roomid: "!qporfwt:{{ matrix_domain }}" matrix_bot_honoroit_roomid: "!qporfwt:{{ matrix_domain }}"
``` ```
### Adjusting the Honoroit URL ### Adjusting the Honoroit URL (optional)
By default, this playbook installs Honoroit on the `matrix.` subdomain, at the `/honoroit` path (https://matrix.example.com/honoroit). 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.
By tweaking the `matrix_bot_honoroit_hostname` and `matrix_bot_honoroit_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_bot_honoroit_hostname` and `matrix_bot_honoroit_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname and path prefix # Change the default hostname and path prefix
@ -37,13 +49,17 @@ matrix_bot_honoroit_hostname: honoroit.example.com
matrix_bot_honoroit_path_prefix: / matrix_bot_honoroit_path_prefix: /
``` ```
## Adjusting DNS records If you've changed the default hostname, you may need to create a CNAME record for the Honoroit domain (`honoroit.example.com`), which targets `matrix.example.com`.
If you've changed the default hostname, **you may need to adjust your DNS** records to point the Honoroit domain to the Matrix server. When setting, replace `example.com` with your own.
See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've decided to use the default hostname, you won't need to do any extra DNS configuration. There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-honoroit/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
@ -66,8 +82,22 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
## Usage ## Usage
To use the bot, invite the `@honoroit:example.com` to the room you specified in config, after that any Matrix user can send a message to the `@honoroit:example.com` to start a new thread in that room. To use the bot, invite it to the room you specified on your `vars.yml` file (`/invite @honoroit:example.com` where `example.com` is your base domain, not the `matrix.` domain).
Send `!ho help` to the room to see the bot's help menu for additional commands. After the bot joins the room, any Matrix user can send a message to it to start a new thread in that room.
Send `!ho help` to the bot in the room to see the available commands.
You can also refer to the upstream [documentation](https://github.com/etkecc/honoroit#features). You can also refer to the upstream [documentation](https://github.com/etkecc/honoroit#features).
## 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-bot-honoroit`.
### Increase logging verbosity
If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_bot_honoroit_loglevel: 'DEBUG'
```

View File

@ -1,3 +1,15 @@
<!--
SPDX-FileCopyrightText: 2022 - 2023 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Erick Wibben
SPDX-FileCopyrightText: 2022 Kolja Lampe
SPDX-FileCopyrightText: 2023 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-registration-bot (optional) # Setting up matrix-registration-bot (optional)
The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you. The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you.
@ -6,7 +18,7 @@ The bot allows you to easily **create and manage registration tokens** aka. invi
See the project's [documentation](https://github.com/moan0s/matrix-registration-bot/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/moan0s/matrix-registration-bot/blob/master/README.md) to learn what it does and why it might be useful to you.
## Configuration ## Adjusting the playbook configuration
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -17,7 +29,7 @@ matrix_bot_matrix_registration_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot # matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT
# Enables registration # Enables registration
@ -29,6 +41,15 @@ matrix_synapse_registration_requires_token: true
The bot account will be created automatically. The bot account will be created automatically.
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2` for the bridge's default configuration
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
@ -52,14 +73,27 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-use
To use the bot, start a chat with `@bot.matrix-registration-bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bot, start a chat with `@bot.matrix-registration-bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
In this room send `help` and the bot will reply with all options. 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). 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: 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:
```sh ```sh
just run-tags bot-matrix-registration-bot-clean-cache just run-tags bot-matrix-registration-bot-clean-cache
``` ```
## 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-bot-matrix-registration-bot`.
### Increase logging verbosity
The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: ERROR, INFO, DEBUG
matrix_bot_matrix_registration_bot_logging_level: DEBUG
```

View File

@ -1,3 +1,11 @@
<!--
SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-reminder-bot (optional) # Setting up matrix-reminder-bot (optional)
The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you. The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you.
@ -8,7 +16,7 @@ See the project's [documentation](https://github.com/anoadragon453/matrix-remind
## Adjusting the playbook configuration ## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_bot_matrix_reminder_bot_enabled: true matrix_bot_matrix_reminder_bot_enabled: true
@ -16,13 +24,22 @@ matrix_bot_matrix_reminder_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: bot.matrix-reminder-bot # matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: bot.matrix-reminder-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_reminder_bot_matrix_user_password: PASSWORD_FOR_THE_BOT matrix_bot_matrix_reminder_bot_matrix_user_password: PASSWORD_FOR_THE_BOT
# Adjust this to your timezone # Adjust this to your timezone
matrix_bot_matrix_reminder_bot_reminders_timezone: Europe/London matrix_bot_matrix_reminder_bot_reminders_timezone: Europe/London
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bot-matrix-reminder-bot/templates/config.yaml.j2` for the bot's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_matrix_reminder_bot_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
@ -53,3 +70,18 @@ Basic usage is like this: `!remindme in 2 minutes; This is a test`
Send `!help reminders` to the room to see the bot's help menu for additional commands. Send `!help reminders` to the room to see the bot's help menu for additional commands.
You can also refer to the upstream [Usage documentation](https://github.com/anoadragon453/matrix-reminder-bot#usage). You can also refer to the upstream [Usage documentation](https://github.com/anoadragon453/matrix-reminder-bot#usage).
## 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-bot-matrix-reminder-bot`.
### Increase logging verbosity
The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_bot_matrix_reminder_bot_configuration_extension_yaml: |
logging:
# Valid values: ERROR, WARNING, INFO, DEBUG
level: DEBUG
```

View File

@ -1,3 +1,14 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Fabio Bonelli
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up maubot (optional) # Setting up maubot (optional)
The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you. The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you.
@ -6,9 +17,15 @@ After setting up maubot, you can use the web management interface to make it do
See the project's [documentation](https://docs.mau.fi/maubot/usage/basic.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/maubot/usage/basic.html) to learn what it does and why it might be useful to you.
## Adjusting DNS records (optional)
By default, this playbook installs maubot on the `matrix.` subdomain, at the `/_matrix/maubot/` path (https://matrix.example.com/_matrix/maubot/). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**.
If you wish to adjust it, see the section [below](#adjusting-the-maubot-url-optional) for details about DNS configuration.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable maubot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_bot_maubot_enabled: true matrix_bot_maubot_enabled: true
@ -16,7 +33,7 @@ matrix_bot_maubot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_maubot_login: bot.maubot # matrix_bot_maubot_login: bot.maubot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_maubot_initial_password: PASSWORD_FOR_THE_BOT matrix_bot_maubot_initial_password: PASSWORD_FOR_THE_BOT
matrix_bot_maubot_admins: matrix_bot_maubot_admins:
@ -25,13 +42,11 @@ matrix_bot_maubot_admins:
You can add multiple admins. The admin accounts are only used to access the maubot administration interface. You can add multiple admins. The admin accounts are only used to access the maubot administration interface.
### Adjusting the maubot URL ### Adjusting the maubot URL (optional)
By default, this playbook installs maubot on the `matrix.` subdomain, at the `/_matrix/maubot/` path (https://matrix.example.com/_matrix/maubot/). 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.
By tweaking the `matrix_bot_maubot_hostname` and `matrix_bot_maubot_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_bot_maubot_hostname` and `matrix_bot_maubot_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname and path prefix # Change the default hostname and path prefix
@ -39,13 +54,37 @@ matrix_bot_maubot_hostname: maubot.example.com
matrix_bot_maubot_path_prefix: / matrix_bot_maubot_path_prefix: /
``` ```
## Adjusting DNS records If you've changed the default hostname, you may need to create a CNAME record for the maubot domain (`maubot.example.com`), which targets `matrix.example.com`.
If you've changed the default hostname, **you may need to adjust your DNS** records to point the maubot domain to the Matrix server. When setting, replace `example.com` with your own.
See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've decided to use the default hostname, you won't need to do any extra DNS configuration. There are some additional things you may wish to configure about the bot.
Take a look at:
- `roles/custom/matrix-bot-maubot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bot-maubot/templates/config.yaml.j2` for the bot's default configuration
## Customizing the maubot container image
Certain [maubot plugins](https://plugins.mau.bot/) require additional dependencies to be installed.
You can customize the default maubot container image and install your own dependencies.
Example additional configuration for your `vars.yml` file:
```yaml
matrix_bot_maubot_container_image_customizations_enabled: true
# Adjust the Dockerfile and install ffmpeg.
#
matrix_bot_maubot_container_image_customizations_dockerfile_body_custom: |
RUN apk add --no-cache ffmpeg
```
Consult the [Dockerfile reference](https://docs.docker.com/reference/dockerfile/) for more information about the syntax.
## Installing ## Installing
@ -75,8 +114,24 @@ You should start in the following order
2. **Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source. 2. **Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source.
3. **Create an instance**: An instance is the actual bot. You have to specify a client which the bot instance will use and the plugin (how the bot will behave) 3. **Create an instance**: An instance is the actual bot. You have to specify a client which the bot instance will use and the plugin (how the bot will behave)
## Obtaining an access token ## Obtain an access token
This can be done via `mbc login` then `mbc auth` (see the [maubot documentation](https://docs.mau.fi/maubot/usage/cli/auth.html)). To run these commands, you'll first need to `exec` into the maubot container with `docker exec -it matrix-bot-maubot sh`. This can be done via `mbc login` then `mbc auth` (see the [maubot documentation](https://docs.mau.fi/maubot/usage/cli/auth.html)). To run these commands, you'll first need to `exec` into the maubot container with `docker exec -it matrix-bot-maubot sh`.
Alternatively, you can follow our generic [obtain an access token](obtaining-access-tokens.md) documentation. Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will give your bot issues in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients). Alternatively, you can refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will causes issues to your bot in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients).
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## 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-bot-maubot`.
### Increase logging verbosity
The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: CRITICAL, ERROR, WARNING, INFO, DEBUG
matrix_bot_maubot_logging_level: DEBUG
```

View File

@ -1,16 +1,27 @@
<!--
SPDX-FileCopyrightText: 2021 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2021 Aaron Raimist
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Marko Weltzer
SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mjolnir (optional) # Setting up Mjolnir (optional)
The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you. The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you.
See the project's [documentation](https://github.com/matrix-org/mjolnir/blob/main/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/matrix-org/mjolnir/blob/main/README.md) to learn what it does and why it might be useful to you.
## Register the bot account ## Prerequisites
The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver. ### Register the bot account
You **need to register the bot user manually** before setting up the bot. The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`. Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md): You can use the playbook to [register a new user](registering-users.md):
@ -20,53 +31,100 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.mjolnir
If you would like Mjolnir to be able to deactivate users, move aliases, shutdown rooms, etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above. If you would like Mjolnir to be able to deactivate users, move aliases, shutdown rooms, etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above.
## Get an access token ### Obtain an access token
Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
## Make sure the account is free from rate limiting > [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
You will need to prevent Synapse from rate limiting the bot's account. This is not an optional step. If you do not do this step Mjolnir will crash. This can be done using Synapse's [admin API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). Please ask for help if you are uncomfortable with these steps or run into issues. ### Make sure the account is free from rate limiting
If your Synapse Admin API is exposed to the internet for some reason like running the Synapse Admin Role [Link](configuring-playbook-synapse-admin.md) or running `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` in your playbook config. If your API is not externally exposed you should still be able to on the local host for your synapse run these commands. If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a required step. If you do not configure it, Mjolnir will crash.**
The following command works on semi up to date Windows 10 installs and All Windows 11 installations and other systems that ship curl. `curl --header "Authorization: Bearer <access_token>" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit` Replace `@bot.mjolnir:example.com` with the MXID of your Mjolnir and example.com with your homeserver domain. You can easily obtain an access token for a homeserver admin account the same way you can obtain an access token for Mjolnir itself. If you made Mjolnir Admin you can just use the Mjolnir token. This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html#override-ratelimiting-for-users). They can be accessed both externally and internally.
## Create a management room **Note**: access to the APIs is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, doing so is not recommended for additional security. See [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints).
Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room. Anyone in this room can control the bot so it is important that you only invite trusted users to this room. The APIs can also be accessed via [Synapse Admin](https://github.com/etkecc/synapse-admin), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md).
If you make the management room encrypted (E2EE), then you MUST enable and use Pantalaimon (see below). #### Add the configuration
Once you have created the room you need to copy the room ID so you can tell the bot to use that room. In Element Web you can do this by going to the room's settings, clicking Advanced, and then copying the internal room ID. The room ID will look something like `!qporfwt:example.com`. To expose the APIs publicly, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true
```
#### Obtain an access token for admin account
Manual access to Synapse's Admin APIs requires an access token for a homeserver admin account. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). If you have made Mjolnir an admin, you can just use the Mjolnir token.
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
#### Run the `curl` command
To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:
- `ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account
- `example.com` with your base domain
- `@bot.mjolnir:example.com` with the MXID of your Mjolnir bot user
```sh
curl --header "Authorization: Bearer ADMIN_ACCESS_TOKEN_HERE" -X POST https://matrix.example.com/_synapse/admin/v1/users/@bot.mjolnir:example.com/override_ratelimit
```
**Notes**:
- This does not work on outdated Windows 10 as curl is not available there.
- Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally.
### Create a management room
Using your own account, create a new invite only room that you will use to manage the bot. This is the room where you will see the status of the bot and where you will send commands to the bot, such as the command to ban a user from another room.
> [!WARNING]
> Anyone in this room can control the bot so it is important that you only invite trusted users to this room.
It is possible to make the management room encrypted (E2EE). If doing so, then you MUST enable and use Pantalaimon (see [below](#configuration-with-e2ee-support)).
Once you have created the room you need to copy the room ID so you can specify it on your `vars.yml` file. In Element Web you can check the ID by going to the room's settings and clicking "Advanced". The room ID will look something like `!qporfwt:example.com`.
Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room. Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
Decide whether you want Mjolnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms. To support E2EE, Mjolnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md). To enable the bot, add the following configuration to your `vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE` with the one of the room which you have created just now.
### a. Configuration with E2EE support ```yaml
# Enable Mjolnir
matrix_bot_mjolnir_enabled: true
matrix_bot_mjolnir_management_room: "MANAGEMENT_ROOM_ID_HERE"
```
### End-to-End Encryption support
Decide whether you want Mjolnir to be capable of operating in end-to-end encrypted (E2EE) rooms. This includes the management room and the moderated rooms.
To support E2EE, Mjolnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md).
#### Configuration with E2EE support
When using Pantalaimon, Mjolnir will log in to its bot account itself through Pantalaimon, so configure its username and password. When using Pantalaimon, Mjolnir will log in to its bot account itself through Pantalaimon, so configure its username and password.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): Add the following configuration to your `vars.yml` file (adapt to your needs):
```yaml ```yaml
# Enable Pantalaimon. See docs/configuring-playbook-pantalaimon.md # Enable Pantalaimon. See docs/configuring-playbook-pantalaimon.md
matrix_pantalaimon_enabled: true matrix_pantalaimon_enabled: true
# Enable Mjolnir
matrix_bot_mjolnir_enabled: true
# Tell Mjolnir to use Pantalaimon # Tell Mjolnir to use Pantalaimon
matrix_bot_mjolnir_pantalaimon_use: true matrix_bot_mjolnir_pantalaimon_use: true
# User name and password for the bot. Required when using Pantalaimon. # User name and password for the bot you have created above. Required when using Pantalaimon.
matrix_bot_mjolnir_pantalaimon_username: "MJOLNIR_USERNAME_FROM_STEP_1" matrix_bot_mjolnir_pantalaimon_username: "bot.mjolnir"
matrix_bot_mjolnir_pantalaimon_password: ### you should create a secure password for the bot account matrix_bot_mjolnir_pantalaimon_password: "PASSWORD_FOR_THE_BOT"
matrix_bot_mjolnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE"
``` ```
The playbook's `group_vars` will configure other required settings. If using this role separately without the playbook, you also need to configure the two URLs that Mjolnir uses to reach the homeserver, one through Pantalaimon and one "raw". This example is taken from the playbook's `group_vars`: The playbook's `group_vars` will configure other required settings. If using this role separately without the playbook, you also need to configure the two URLs that Mjolnir uses to reach the homeserver, one through Pantalaimon and one "raw". This example is taken from the playbook's `group_vars`:
@ -81,25 +139,19 @@ matrix_bot_mjolnir_homeserver_url: "{{ 'http://matrix-pantalaimon:8009' if matri
matrix_bot_mjolnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}" matrix_bot_mjolnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_url }}"
``` ```
### b. Configuration without E2EE support #### Configuration without E2EE support
When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account. When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): Add the following configuration to your `vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
You must replace `ACCESS_TOKEN_FROM_STEP_2_GOES_HERE` and `ROOM_ID_FROM_STEP_4_GOES_HERE` with your own values.
```yaml ```yaml
matrix_bot_mjolnir_enabled: true matrix_bot_mjolnir_access_token: "ACCESS_TOKEN_HERE"
matrix_bot_mjolnir_access_token: "ACCESS_TOKEN_FROM_STEP_2_GOES_HERE"
matrix_bot_mjolnir_management_room: "ROOM_ID_FROM_STEP_4_GOES_HERE"
``` ```
## Adding Mjolnir synapse antispam module (optional) ### Adding Mjolnir synapse antispam module (optional)
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs): To enable Mjolnir synapse antispam module, add the following configuration to your `vars.yml` file (adapt to your needs):
```yaml ```yaml
matrix_synapse_ext_spam_checker_mjolnir_antispam_enabled: true matrix_synapse_ext_spam_checker_mjolnir_antispam_enabled: true
@ -109,32 +161,15 @@ matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_usernames: false
matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: [] matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists: []
``` ```
## Installing ### Extending the configuration
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: There are some additional things you may wish to configure about the bot.
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> Take a look at:
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start
```
**Notes**: - `roles/custom/matrix-bot-mjolnir/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_bot_mjolnir_configuration_extension_yaml` variable
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. For example, to change Mjolnir's `recordIgnoredInvites` option to `true`, add the following configuration to your `vars.yml` file:
- 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.
- If you change the Pantalaimon's password (`matrix_bot_mjolnir_pantalaimon_password` in your `vars.yml` file) subsequently, its credentials on the homeserver won't be updated automatically. If you'd like to change the password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password.
## Usage
You can refer to the upstream [documentation](https://github.com/matrix-org/mjolnir) for additional ways to use and configure Mjolnir. Check out their [quickstart guide](https://github.com/matrix-org/mjolnir#quickstart-guide) for some basic commands you can give to the bot.
You can configure additional options by adding the `matrix_bot_mjolnir_configuration_extension_yaml` variable to your `inventory/host_vars/matrix.example.com/vars.yml` file.
For example to change Mjolnir's `recordIgnoredInvites` option to `true` you would add the following to your `vars.yml` file.
```yaml ```yaml
matrix_bot_mjolnir_configuration_extension_yaml: | matrix_bot_mjolnir_configuration_extension_yaml: |
@ -147,3 +182,38 @@ matrix_bot_mjolnir_configuration_extension_yaml: |
# completely redefining `matrix_bot_mjolnir_configuration_yaml`. # completely redefining `matrix_bot_mjolnir_configuration_yaml`.
recordIgnoredInvites: true recordIgnoredInvites: 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
```
**Notes**:
- 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.
- If you change the Pantalaimon's password (`matrix_bot_mjolnir_pantalaimon_password` in your `vars.yml` file) subsequently, its credentials on the homeserver won't be updated automatically. If you'd like to change the password, use a tool like [synapse-admin](configuring-playbook-synapse-admin.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password.
## Usage
You can refer to the upstream [documentation](https://github.com/matrix-org/mjolnir) for additional ways to use and configure Mjolnir. Check out their [quickstart guide](https://github.com/matrix-org/mjolnir#quickstart-guide) for some basic commands you can give to the bot.
## 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-bot-mjolnir`.
### Increase logging verbosity
The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: ERROR, WARN, INFO, DEBUG
matrix_bot_mjolnir_configuration_extension_yaml: |
logLevel: "DEBUG"
```

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2019 - 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 - 2023 MDAD project contributors
SPDX-FileCopyrightText: 2022 Jim Myhrberg
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Discord bridging (optional) # Setting up Appservice Discord bridging (optional)
**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook. **Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook.
@ -28,26 +37,32 @@ matrix_appservice_discord_bot_token: "YOUR DISCORD APP BOT TOKEN"
# use_appservice_legacy_authorization: true # use_appservice_legacy_authorization: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-appservice-discord/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-appservice-discord/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_discord_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Self-Service Bridging (Manual) ## Self-Service Bridging (Manual)
Self-service bridging allows you to bridge specific and existing Matrix rooms to specific Discord rooms. To enable it, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: Self-service bridging allows you to bridge specific and existing Matrix rooms to specific Discord rooms. To enable it, add the following configuration to your `vars.yml` file:
```yaml ```yaml
matrix_appservice_discord_bridge_enableSelfServiceBridging: true matrix_appservice_discord_bridge_enableSelfServiceBridging: true
@ -63,7 +78,7 @@ Then, follow the instructions in the help output message.
If the bot is not already in the Discord server, follow the provided invite link. This may require you to be a administrator of the Discord server. If the bot is not already in the Discord server, follow the provided invite link. This may require you to be a administrator of the Discord server.
On the Discord side, you can say `!matrix help` to get a list of available commands to manage the bridge and Matrix users. On the Discord side, send `!matrix help` to the bot to see the available commands for managing the bridge and Matrix users.
**Note**: Encrypted Matrix rooms are not supported as of writing. **Note**: Encrypted Matrix rooms are not supported as of writing.
@ -73,7 +88,7 @@ Through portal bridging, Matrix rooms will automatically be created by the bot a
All Matrix rooms created this way are **listed publicly** by default, and you will not have admin permissions to change this. To get more control, [make yourself a room Administrator](#getting-administrator-access-in-a-portal-bridged-room). You can then unlist the room from the directory and change the join rules. All Matrix rooms created this way are **listed publicly** by default, and you will not have admin permissions to change this. To get more control, [make yourself a room Administrator](#getting-administrator-access-in-a-portal-bridged-room). You can then unlist the room from the directory and change the join rules.
To disable portal bridging, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To disable portal bridging, add the following configuration to your `vars.yml` file:
```yaml ```yaml
matrix_appservice_discord_bridge_disablePortalBridging: true matrix_appservice_discord_bridge_disablePortalBridging: true
@ -99,3 +114,18 @@ There's the Discord bridge's guide for [setting privileges on bridge managed roo
docker exec -it matrix-appservice-discord \ docker exec -it matrix-appservice-discord \
/bin/sh -c 'cp /cfg/registration.yaml /tmp/discord-registration.yaml && cd /tmp && node /build/tools/adminme.js -c /cfg/config.yaml -m "!qporfwt:example.com" -u "@alice:example.com" -p 100' /bin/sh -c 'cp /cfg/registration.yaml /tmp/discord-registration.yaml && cd /tmp && node /build/tools/adminme.js -c /cfg/config.yaml -m "!qporfwt:example.com" -u "@alice:example.com" -p 100'
``` ```
## 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-appservice-discord`.
### Increase logging verbosity
The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file (adapt to your needs) and re-run the playbook:
```yaml
matrix_appservice_discord_configuration_extension_yaml: |
logging:
# What level should the logger output to the console at.
console: "info" # Valid values: silent, error, warn, http, info, verbose, silly
```

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2019 - 2021 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 MDAD project contributors
SPDX-FileCopyrightText: 2020 Lee Verberne
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice IRC bridging (optional) # Setting up Appservice IRC bridging (optional)
**Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) bridge supported by the playbook. **Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) bridge supported by the playbook.
@ -60,23 +69,48 @@ matrix_appservice_irc_ircService_servers:
lineLimit: 3 lineLimit: 3
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-appservice-irc/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-appservice-irc/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_irc_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@irc_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@irc_bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
## Troubleshooting
As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-appservice-irc`.
### Configuring for logging
The default logging level for this component is `debug`, and the log is output to the console only. If you want to change the verbosity or enable logging to a file, add the following configuration to your `vars.yml` file (adapt to your needs) and re-run the playbook:
```yaml
matrix_appservice_irc_configuration_extension_yaml: |
logging:
# Level to log on console/logfile.
# Valid values: error, warn, info, debug
level: "debug"
# The file location to log to. This is relative to the project directory.
logfile: "debug.log"
# The file location to log errors to. This is relative to the project directory.
errfile: "errors.log"
```

View File

@ -1,16 +1,30 @@
<!--
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 MDAD project contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Kakaotalk bridging (optional) # Setting up Appservice Kakaotalk bridging (optional)
The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you. `matrix-appservice-kakaotalk` is a bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you, for bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG). This bridge is based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code.
⚠️ **Warning**: there have been recent reports (~2022-09-16) that **using this bridge may get your account banned**.
See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://src.miscworks.net/fair/matrix-appservice-kakaotalk/src/branch/master/README.md) to learn what it does and why it might be useful to you.
> [!WARNING]
> There have been recent reports (~2022-09-16) that **using this bridge may get your account banned**.
## Prerequisite (optional) ## Prerequisite (optional)
### Enable Shared Secret Auth
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -20,9 +34,7 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_appservice_kakaotalk_enabled: true matrix_appservice_kakaotalk_enabled: true
``` ```
You may optionally wish to add some [Additional configuration](#additional-configuration), or to [prepare for double-puppeting](#set-up-double-puppeting) before the initial installation. ### Extending the configuration
### Additional configuration
There are some additional things you may wish to configure about the bridge. There are some additional things you may wish to configure about the bridge.
@ -37,41 +49,27 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@kakaotalkbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@kakaotalkbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login --save EMAIL_OR_PHONE_NUMBER` to the bridge bot to enable bridging for your Kakaotalk account. The `--save` flag may be omitted, if you'd rather not save your password. You then need to send `login --save EMAIL_OR_PHONE_NUMBER` to the bridge bot to enable bridging for your Kakaotalk account. The `--save` flag may be omitted, if you'd rather not save your password.
### 💡 Set up Double Puppeting ## Troubleshooting
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). 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-appservice-kakaotalk`.
To set it up, you have 2 ways of going about it. ### Increase logging verbosity
#### Method 1: automatically, by enabling Shared Secret Auth The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
The bridge automatically performs Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook. ```yaml
matrix_appservice_kakaotalk_logging_level: DEBUG
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. ```
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Appservice-Kakaotalk` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,3 +1,14 @@
<!--
SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2020 Udo Rader
SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2021 Joel Bennett
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Fabio Bonelli
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Slack bridging (optional) # Setting up Appservice Slack bridging (optional)
**Notes**: **Notes**:
@ -61,7 +72,21 @@ matrix_appservice_slack_control_room_id: "Your Matrix admin room ID"
# matrix_appservice_slack_team_sync_enabled: true # matrix_appservice_slack_team_sync_enabled: true
``` ```
Other configuration options are available via the `matrix_appservice_slack_configuration_extension_yaml` variable. ### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-appservice-slack/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_slack_configuration_extension_yaml` variable
For example, to change the bot's username from `slackbot`, add the following configuration to your `vars.yml` file. Replace `examplebot` with your own.
```yaml
matrix_appservice_slack_configuration_extension_yaml: |
bot_username: "examplebot"
```
## Installing ## Installing
@ -69,16 +94,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -86,7 +107,7 @@ To use the bridge, you need to send `/invite @slackbot:example.com` to invite th
If Team Sync is not enabled, for each channel you would like to bridge, perform the following steps: If Team Sync is not enabled, for each channel you would like to bridge, perform the following steps:
- Create a Matrix room in the usual manner for your client. Take a note of its Matrix room ID - it will look something like `!qporfwt:example.com`. - Create a Matrix room in the usual manner for your client. Take a note of its Matrix room ID it will look something like `!qporfwt:example.com`.
- Invite the bot user to both the Slack and Matrix channels you would like to bridge using `/invite @matrixbot` for Slack and `/invite @slackbot:example.com` for Matrix. - Invite the bot user to both the Slack and Matrix channels you would like to bridge using `/invite @matrixbot` for Slack and `/invite @slackbot:example.com` for Matrix.
- Determine the "channel ID" that Slack uses to identify the channel. You can see it when you open a given Slack channel in a browser. The URL reads like this: `https://app.slack.com/client/XXX/<the channel ID>/details/`. - Determine the "channel ID" that Slack uses to identify the channel. You can see it when you open a given Slack channel in a browser. The URL reads like this: `https://app.slack.com/client/XXX/<the channel ID>/details/`.
- Issue a link command in the administration control room with these collected values as arguments: - Issue a link command in the administration control room with these collected values as arguments:
@ -121,7 +142,7 @@ Unlinking doesn't only disconnect the bridge, but also makes the slackbot leave
## Troubleshooting ## Troubleshooting
As always, check the logs: `journalctl -fu matrix-appservice-slack` 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-appservice-slack`.
### Linking: "Room is now pending-name" ### Linking: "Room is now pending-name"
@ -129,8 +150,8 @@ This typically means that you haven't used the correct Slack channel ID. Unlink
### Messages work from Matrix to Slack, but not the other way around ### Messages work from Matrix to Slack, but not the other way around
Check you logs, if they say something like Check the logs, and if you find the message like below, unlink your room, reinvite the bot and re-link it again.
`WARN SlackEventHandler Ignoring message from unrecognised Slack channel ID : %s (%s) <the channel ID> <some other ID>` `WARN SlackEventHandler Ignoring message from unrecognised Slack channel ID : %s (%s) <the channel ID> <some other ID>`
then unlink your room, reinvite the bot and re-link it again. This may particularly hit you, if you tried to unsuccessfully link your room multiple times without unlinking it after each failed attempt. This may particularly hit you, if you tried to unsuccessfully link your room multiple times without unlinking it after each failed attempt.

View File

@ -1,6 +1,17 @@
<!--
SPDX-FileCopyrightText: 2020 - 2023 MDAD project contributors
SPDX-FileCopyrightText: 2020 Björn Marten
SPDX-FileCopyrightText: 2020 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 iLyas Bakouch
SPDX-FileCopyrightText: 2022 Kim Brose
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Webhooks bridging (optional, deprecated) # Setting up Appservice Webhooks bridging (optional, deprecated)
**Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one. **Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one.
The playbook can install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks. The playbook can install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks.
@ -14,9 +25,6 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_appservice_webhooks_enabled: true matrix_appservice_webhooks_enabled: true
matrix_appservice_webhooks_api_secret: '<your_secret>' matrix_appservice_webhooks_api_secret: '<your_secret>'
# Uncomment to increase the verbosity of logging via `journalctl -fu matrix-appservice-webhooks.service`
# matrix_appservice_webhooks_log_level: 'verbose'
# As of Synapse 1.90.0, uncomment to enable the backwards compatibility (https://matrix-org.github.io/synapse/latest/upgrade#upgrading-to-v1900) that this bridge needs. # As of Synapse 1.90.0, uncomment to enable the backwards compatibility (https://matrix-org.github.io/synapse/latest/upgrade#upgrading-to-v1900) that this bridge needs.
# Note: This deprecated method is considered insecure. # Note: This deprecated method is considered insecure.
# #
@ -24,22 +32,27 @@ matrix_appservice_webhooks_api_secret: '<your_secret>'
# use_appservice_legacy_authorization: true # use_appservice_legacy_authorization: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-appservice-webhooks/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-appservice-webhooks/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_webhooks_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -48,7 +61,7 @@ To use the bridge, you need to invite the bridge bot user to your room in either
- Send `/invite @_webhook:example.com` (**Note**: Make sure you have administration permissions in your room) - Send `/invite @_webhook:example.com` (**Note**: Make sure you have administration permissions in your room)
- Add the bridge bot to a private channel (personal channels imply you being an administrator) - Add the bridge bot to a private channel (personal channels imply you being an administrator)
You then need to send a message to the bridge bot in order to receive a private message including the webhook link: You then need to send a message to the bridge bot to receive a private message including the webhook link:
``` ```
!webhook !webhook
@ -85,3 +98,16 @@ If you're using the [Dimension integration manager](configuring-playbook-dimensi
To configure it, open the Dimension integration manager, and go to "Settings" and "Bridges", then select edit action for "Webhook Bridge". To configure it, open the Dimension integration manager, and go to "Settings" and "Bridges", then select edit action for "Webhook Bridge".
On the UI, press "Add self-hosted Bridge" button and populate "Provisioning URL" and "Shared Secret" values from `/matrix/appservice-webhooks/config/config.yaml` file's homeserver URL value and provisioning secret value, respectively. On the UI, press "Add self-hosted Bridge" button and populate "Provisioning URL" and "Shared Secret" values from `/matrix/appservice-webhooks/config/config.yaml` file's homeserver URL value and provisioning secret value, respectively.
## 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-appservice-webhooks`.
### Increase logging verbosity
The default logging level for this component is `info`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: info, verbose
matrix_appservice_webhooks_log_level: 'verbose'
```

View File

@ -1,9 +1,29 @@
<!--
SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2021 Alexandar Mechev
SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman
SPDX-FileCopyrightText: 2023 Kuba Orlik
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Beeper Linkedin bridging (optional) # Setting up Beeper Linkedin bridging (optional)
The playbook can install and configure [beeper-linkedin](https://github.com/beeper/linkedin) for you, for bridging to [LinkedIn](https://www.linkedin.com/) Messaging. This bridge is based on the mautrix-python framework and can be configured in a similar way to the other mautrix bridges The playbook can install and configure [beeper-linkedin](https://github.com/beeper/linkedin) for you, for bridging to [LinkedIn](https://www.linkedin.com/) Messaging. This bridge is based on the mautrix-python framework and can be configured in a similar way to the mautrix bridges.
See the project's [documentation](https://github.com/beeper/linkedin/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/beeper/linkedin/blob/master/README.md) to learn what it does and why it might be useful to you.
## Prerequisite
### Enable Appservice Double Puppet or Shared Secret Auth (optional)
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -12,25 +32,13 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_beeper_linkedin_enabled: true matrix_beeper_linkedin_enabled: true
``` ```
There are some additional things you may wish to configure about the bridge before you continue. ### Extending the configuration
Encryption support is off by default. If you would like to enable encryption, add the following to your `vars.yml` file: There are some additional things you may wish to configure about the bridge.
```yaml See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
matrix_beeper_linkedin_bridge_encryption_allow: true
matrix_beeper_linkedin_bridge_encryption_default: true
```
If you would like to be able to administrate the bridge from your account it can be configured like this: **Note**: when following the guide to configure the bridge, make sure to replace `_mautrix_SERVICENAME_` in the variable names with `_beeper_linkedin_`.
```yaml
matrix_beeper_linkedin_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
You may wish to look at `roles/custom/matrix-bridge-beeper-linkedin/templates/config.yaml.j2` to find other things you would like to configure.
## Installing ## Installing
@ -38,37 +46,31 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Set up Double Puppeting by enabling Appservice Double Puppet or Shared Secret Auth
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook.
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future.
## Usage ## Usage
To use the bridge, you need to start a chat with `@linkedinbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@linkedinbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login YOUR_LINKEDIN_EMAIL_ADDRESS` to the bridge bot to enable bridging for your LinkedIn account. You then need to send `login YOUR_LINKEDIN_EMAIL_ADDRESS` to the bridge bot to enable bridging for your LinkedIn account.
If you run into trouble, check the [Troubleshooting](#troubleshooting) section below.
After successfully enabling bridging, you may wish to [set up Double Puppeting](#set-up-double-puppeting-by-enabling-appservice-double-puppet-or-shared-secret-auth), if you haven't already done so.
## Troubleshooting ## 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-beeper-linkedin`.
### Increase logging verbosity
The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_beeper_linkedin_logging_level: DEBUG
```
### Bridge asking for 2FA even if you don't have 2FA enabled ### Bridge asking for 2FA even if you don't have 2FA enabled
If you don't have 2FA enabled and are logging in from a strange IP for the first time, LinkedIn will send an email with a one-time code. You can use this code to authorize the bridge session. In my experience, once the IP is authorized, you will not be asked again. If you don't have 2FA enabled and are logging in from a strange IP for the first time, LinkedIn will send an email with a one-time code. You can use this code to authorize the bridge session. In my experience, once the IP is authorized, you will not be asked again.

View File

@ -1,36 +1,68 @@
<!--
SPDX-FileCopyrightText: 2022 Vladimir Panteleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Go Skype Bridge bridging (optional) # Setting up Go Skype Bridge bridging (optional)
The playbook can install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) for you. The playbook can install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) for you, for bridging to [Skype](https://www.skype.com/). This bridge was created based on [mautrix-whatsapp](https://github.com/mautrix/whatsapp) and can be configured in a similar way to it.
See the project's [documentation](https://github.com/kelaresg/go-skype-bridge/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/kelaresg/go-skype-bridge/blob/master/README.md) to learn what it does and why it might be useful to you.
## Prerequisite (optional)
### Enable Shared Secret Auth
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable the [Skype](https://www.skype.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_go_skype_bridge_enabled: true matrix_go_skype_bridge_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
**Note**: when following the guide to configure the bridge, make sure to replace `_mautrix_SERVICENAME_` in the variable names with `_go_skype_bridge_`.
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `Skype bridge bot` with the handle `@skypebridgebot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@skypebridgebot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `help` to the bot to see the commands available. ## Troubleshooting
As with all other services, you can find the logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by logging in to the server with SSH and running `journalctl -fu matrix-go-skype-bridge`.
### Increase logging verbosity
The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: fatal, error, warn, info, debug
matrix_go_skype_bridge_log_level: 'info'
```

View File

@ -1,12 +1,26 @@
<!--
SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2021 Toni Spets
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Heisenbridge bouncer-style IRC bridging (optional) # Setting up Heisenbridge bouncer-style IRC bridging (optional)
**Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [matrix-appservice-irc](configuring-playbook-bridge-appservice-irc.md) bridge supported by the playbook. **Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [matrix-appservice-irc](configuring-playbook-bridge-appservice-irc.md) bridge supported by the playbook.
The playbook can install and configure [Heisenbridge](https://github.com/hifi/heisenbridge) - the bouncer-style [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) bridge for you. The playbook can install and configure [Heisenbridge](https://github.com/hifi/heisenbridge) the bouncer-style [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) bridge for you.
See the project's [documentation](https://github.com/hifi/heisenbridge/blob/master/README.md) to learn what it does and why it might be useful to you. You can also take a look at [this demonstration video](https://www.youtube.com/watch?v=nQk1Bp4tk4I). See the project's [documentation](https://github.com/hifi/heisenbridge/blob/master/README.md) to learn what it does and why it might be useful to you. You can also take a look at [this demonstration video](https://www.youtube.com/watch?v=nQk1Bp4tk4I).
## Configuration ## Adjusting DNS records (optional)
By default, this playbook installs Heisenbridge on the `matrix.` subdomain, at the `/heisenbridge` path (https://matrix.example.com/heisenbridge). It would handle media requests there (see the [release notes for Heisenbridge v1.15.0](https://github.com/hifi/heisenbridge/releases/tag/v1.15.0)). 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.
If you wish to adjust it, see the section [below](#adjusting-the-heisenbridge-url-optional) for details about DNS configuration.
## Adjusting the playbook configuration
To enable Heisenbridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable Heisenbridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -21,17 +35,11 @@ matrix_heisenbridge_owner: "@alice:{{ matrix_domain }}"
# matrix_heisenbridge_identd_enabled: true # matrix_heisenbridge_identd_enabled: true
``` ```
For a more complete list of variables that you could override, see the [`defaults/main.yml` file](../roles/custom/matrix-bridge-heisenbridge/defaults/main.yml) of the Heisenbridge Ansible role. ### Adjusting the Heisenbridge URL (optional)
### Adjusting the Heisenbridge URL
By default, this playbook installs Heisenbridge on the `matrix.` subdomain, at the `/heisenbridge` path (https://matrix.example.com/heisenbridge). It would handle media requests there (see the [release notes for Heisenbridge v1.15.0](https://github.com/hifi/heisenbridge/releases/tag/v1.15.0)).
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.
By tweaking the `matrix_heisenbridge_hostname` and `matrix_heisenbridge_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_heisenbridge_hostname` and `matrix_heisenbridge_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname and path prefix # Change the default hostname and path prefix
@ -39,13 +47,17 @@ matrix_heisenbridge_hostname: heisenbridge.example.com
matrix_heisenbridge_path_prefix: / matrix_heisenbridge_path_prefix: /
``` ```
## Adjusting DNS records If you've changed the default hostname, you may need to create a CNAME record for the Heisenbridge domain (`heisenbridge.example.com`), which targets `matrix.example.com`.
If you've changed the default hostname, **you may need to adjust your DNS** records to point the Heisenbridge domain to the Matrix server. When setting, replace `example.com` with your own.
See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've decided to use the default hostname, you won't need to do any extra DNS configuration. There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-heisenbridge/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
@ -53,16 +65,12 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -73,3 +81,7 @@ Help is available for all commands with the `-h` switch.
You can also learn the basics by watching [this demonstration video](https://www.youtube.com/watch?v=nQk1Bp4tk4I). You can also learn the basics by watching [this demonstration video](https://www.youtube.com/watch?v=nQk1Bp4tk4I).
If you encounter issues or feel lost you can join the project room at [#heisenbridge:vi.fi](https://matrix.to/#/#heisenbridge:vi.fi) for help. If you encounter issues or feel lost you can join the project room at [#heisenbridge:vi.fi](https://matrix.to/#/#heisenbridge:vi.fi) for help.
## 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-heisenbridge`.

View File

@ -1,32 +1,74 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Kim Brose
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2022 Paul Tötterman
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-hookshot (optional) # Setting up matrix-hookshot (optional)
The playbook can install and configure [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) for you. The playbook can install and configure [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) for you.
Hookshot can bridge [Webhooks](https://en.wikipedia.org/wiki/Webhook) from software project management services such as GitHub, GitLab, JIRA, and Figma, as well as generic webhooks. Hookshot can bridge [Webhooks](https://en.wikipedia.org/wiki/Webhook) from software project management services such as GitHub, GitLab, Jira, and Figma, as well as generic webhooks.
See the project's [documentation](https://matrix-org.github.io/matrix-hookshot/latest/hookshot.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://matrix-org.github.io/matrix-hookshot/latest/hookshot.html) to learn what it does and why it might be useful to you.
**Note**: the playbook also supports [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), which however was deprecated by its author. **Note**: the playbook also supports [matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md), which however was deprecated by its author.
## Setup Instructions ## Prerequisites
Refer to the [official instructions](https://matrix-org.github.io/matrix-hookshot/latest/setup.html) to learn what the individual options do. ### Download GitHub app private key (optional)
1. Enable the bridge by adding `matrix_hookshot_enabled: true` to your `vars.yml` file If you're setting up the GitHub bridge, you need to create your GitHub app, and generate a private key file of it.
2. For each of the services (GitHub, GitLab, Jira, Figma, generic webhooks) fill in the respective variables `matrix_hookshot_service_*` listed in [main.yml](/roles/custom/matrix-bridge-hookshot/defaults/main.yml) as required.
3. Take special note of the `matrix_hookshot_*_enabled` variables. Services that need no further configuration are enabled by default (GitLab, Generic), while you must first add the required configuration and enable the others (GitHub, Jira, Figma).
4. If you're setting up the GitHub bridge, you'll need to generate and download a private key file after you created your GitHub app. Copy the contents of that file to the variable `matrix_hookshot_github_private_key` so the playbook can install it for you, or use one of the [other methods](#manage-github-private-key-with-aux-role) explained below.
5. If you've already installed Matrix services using the playbook before, you'll need to re-run it (`--tags=setup-all,start`). If not, proceed with [configuring other playbook services](configuring-playbook.md) and then with [Installing](installing.md). Get back to this guide once ready. Hookshot can be set up individually using the tag `setup-hookshot`.
Other configuration options are available via the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables, see the comments in [main.yml](/roles/custom/matrix-bridge-hookshot/defaults/main.yml) for how to use them. You need to download the private key file, if you will install the file manually or with the `aux` role. For details, see [the section below](#manage-github-private-key-with-aux-role).
Finally, run the playbook (see [installing](installing.md)). ## Adjusting the playbook configuration
### End-to-bridge encryption Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `GITHUB_PRIVATE_KEY_HERE` with the one created [above](#download-github-app-private-key).
You can enable [encryption](https://matrix-org.github.io/matrix-hookshot/latest/advanced/encryption.html) for Hookshot by adding `matrix_hookshot_encryption_enabled: true` to your configuration (`vars.yml`) and [executing the playbook](installing.md) again. ```yaml
matrix_hookshot_enabled: true
Should the crypto store be corrupted, you can reset it by executing this Ansible playbook with the tag `reset-hookshot-encryption` added, for example `ansible-playbook -i inventory/hosts setup.yml --tags=reset-hookshot-encryption`. # 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
# 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.
# matrix_hookshot_github_private_key: "GITHUB_PRIVATE_KEY_HERE"
```
For each of the services (GitHub, GitLab, Jira, Figma, and generic webhooks) fill in the respective variables `matrix_hookshot_service_*` listed in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) as required.
Take special note of the `matrix_hookshot_*_enabled` variables. Services that need no further configuration are enabled by default (GitLab and generic webhooks), while you must first add the required configuration and enable the others (GitHub, Jira, and Figma).
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-hookshot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-hookshot/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_hookshot_configuration_extension_yaml` and `matrix_hookshot_registration_extension_yaml` variables
Refer the [official instructions](https://matrix-org.github.io/matrix-hookshot/latest/setup.html) and the comments in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) to learn what the individual options do.
## 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-service hookshot` or `just setup-all`
`just install-service hookshot` is useful for maintaining your setup quickly 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 `just setup-all` runs the `ensure-matrix-users-created` tag too.
## Usage ## Usage
@ -34,11 +76,19 @@ To use the bridge, you need to create a room and invite the Hookshot bot (`@hook
Make sure the bot is able to send state events (usually the Moderator power level in clients). Make sure the bot is able to send state events (usually the Moderator power level in clients).
Send a `!hookshot help` message to see a list of help commands. Send `!hookshot help` to the bot to see the available commands.
Refer to [Hookshot's documentation](https://matrix-org.github.io/matrix-hookshot/latest/usage.html) for more details about using the bridge's various features. Refer to [Hookshot's documentation](https://matrix-org.github.io/matrix-hookshot/latest/usage.html) for more details about using the bridge's various features.
**Important**: Note that the different listeners are bound to certain paths which might differ from those assumed by the hookshot documentation, see [URLs for bridges setup](#urls-for-bridges-setup) below. 💡 **Note**: the different listeners are bound to certain paths which might differ from those assumed by the hookshot documentation. See [URLs for bridges setup](#urls-for-bridges-setup) below.
### Reset crypto store
Should the crypto store be corrupted, you can reset it by executing this Ansible playbook with the tag `reset-hookshot-encryption` added:
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=reset-hookshot-encryption
```
## More setup documentation ## More setup documentation
@ -46,59 +96,90 @@ Refer to [Hookshot's documentation](https://matrix-org.github.io/matrix-hookshot
Unless indicated otherwise, the following endpoints are reachable on your `matrix.` subdomain (if the feature is enabled). Unless indicated otherwise, the following endpoints are reachable on your `matrix.` subdomain (if the feature is enabled).
| listener | default path | variable | used as | | Listener | Default path | Variable | Used as |
|---|---|---|---| |---|---|---|---|
| - | `/hookshot/webhooks/` | `matrix_hookshot_webhook_endpoint` | Webhook-prefix, which affects all webhook-related URLs below | | - | `/hookshot/webhooks/` | `matrix_hookshot_webhook_endpoint` | Webhook-prefix, which affects all webhook-related URLs below |
| generic | `/hookshot/webhooks/webhook` | `matrix_hookshot_generic_endpoint` | Generic webhooks | | generic | `/hookshot/webhooks/webhook` | `matrix_hookshot_generic_endpoint` | Generic webhooks |
| github oauth | `/hookshot/webhooks/oauth` | `matrix_hookshot_github_oauth_endpoint` | GitHub "Callback URL" | | 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 | | jira oauth | `/hookshot/webhooks/jira/oauth` | `matrix_hookshot_jira_oauth_endpoint` | Jira OAuth |
| figma endpoint | `/hookshot/webhooks/figma/webhook` | `matrix_hookshot_figma_endpoint` | Figma | | 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 | | appservice | `/hookshot/_matrix/app/` | `matrix_hookshot_appservice_endpoint` | Matrix server |
| widgets | `/hookshot/widgetapi/` | `matrix_hookshot_widgets_endpoint` | Widgets | | widgets | `/hookshot/widgetapi/` | `matrix_hookshot_widgets_endpoint` | Widgets |
| metrics | `/metrics/hookshot` | `matrix_hookshot_metrics_enabled` and exposure enabled via `matrix_hookshot_metrics_proxying_enabled` or `matrix_metrics_exposure_enabled`. Read more in the [Metrics section](#metrics) below. | Prometheus |
Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](/roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly. Also see the various `matrix_hookshot_container_labels_*` variables in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml), which expose URLs publicly.
The different listeners are also reachable *internally* in the docker-network via the container's name (configured by `matrix_hookshot_container_url`) and on different ports (e.g. `matrix_hookshot_appservice_port`). Read [main.yml](/roles/custom/matrix-bridge-hookshot/defaults/main.yml) in detail for more info. The different listeners are also reachable *internally* in the docker-network via the container's name (configured by `matrix_hookshot_container_url`) and on different ports (e.g. `matrix_hookshot_appservice_port`). Read [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml) in detail for more info.
### Manage GitHub Private Key with aux role ### Manage GitHub Private Key with aux role
The GitHub bridge requires you to install a private key file. This can be done in multiple ways: The GitHub bridge requires you to install a private key file. This can be done in multiple ways:
- copy the *contents* of the downloaded file and set the variable `matrix_hookshot_github_private_key` to the contents (see example in [main.yml](/roles/custom/matrix-bridge-hookshot/defaults/main.yml)).
- copy the *contents* of the downloaded file and set the variable `matrix_hookshot_github_private_key` to the contents (see example in [main.yml](../roles/custom/matrix-bridge-hookshot/defaults/main.yml)).
- somehow copy the file to the path `{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}` (default: `/matrix/hookshot/private-key.pem`) on the server manually. - somehow copy the file to the path `{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}` (default: `/matrix/hookshot/private-key.pem`) on the server manually.
- use the [`aux` role](https://github.com/mother-of-all-self-hosting/ansible-role-aux) to copy the file from an arbitrary path on your ansible client to the correct path on the server. - use the [`aux` role](https://github.com/mother-of-all-self-hosting/ansible-role-aux) to copy the file from an arbitrary path on your ansible client to the correct path on the server.
To use the `aux` role, make sure the `matrix_hookshot_github_private_key` variable is empty. Then add the following additional configuration: To use the `aux` role, make sure the `matrix_hookshot_github_private_key` variable is empty. Then add the following configuration to your `vars.yml` file:
```yaml ```yaml
aux_file_definitions: aux_file_definitions:
- dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}" - dest: "{{ matrix_hookshot_base_path }}/{{ matrix_hookshot_github_private_key_file }}"
content: "{{ lookup('file', '/path/to/your-github-private-key.pem') }}" content: "{{ lookup('file', '/path/to/your-github-private-key.pem') }}"
mode: '0400' mode: '0400'
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_name }}"
group: "{{ matrix_user_groupname }}" 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). 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`.
### Metrics
Metrics are **only enabled by default** if the builtin [Prometheus](configuring-playbook-prometheus-grafana.md) is enabled (by default, Prometheus isn't enabled). If so, metrics will automatically be collected by Prometheus and made available in Grafana. You will, however, need to set up your own Dashboard for displaying them.
To explicitly enable metrics, use `matrix_hookshot_metrics_enabled: true`. This only exposes metrics over the container network, however.
**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by:
- either enabling metrics exposure for Hookshot via `matrix_hookshot_metrics_proxying_enabled: true`
- or enabling metrics exposure for all services via `matrix_metrics_exposure_enabled: true`
Whichever one you go with, by default metrics are exposed publicly **without** password-protection. See [the Prometheus and Grafana docs](configuring-playbook-prometheus-grafana.md) for details about password-protection for metrics.
### Collision with matrix-appservice-webhooks ### 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_'`). 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_'`).
### Enable metrics
The playbook can enable and configure the metrics of the service for you.
Metrics are **only enabled by default** if the builtin [Prometheus](configuring-playbook-prometheus-grafana.md) is enabled (by default, Prometheus isn't enabled). If so, metrics will automatically be collected by Prometheus and made available in Grafana. You will, however, need to set up your own Dashboard for displaying them.
To enable the metrics, add the following configuration to your `vars.yml` file:
```yaml
# Expose metrics (locally, on the container network).
matrix_hookshot_metrics_enabled: true
```
**To collect metrics from an external Prometheus server**, besides enabling metrics as described above, you will also need to enable metrics exposure on `https://matrix.example.com/metrics/hookshot` by adding the following configuration to your `vars.yml` file:
```yaml
matrix_hookshot_metrics_proxying_enabled: true
```
By default metrics are exposed publicly **without** password-protection. To password-protect the metrics with dedicated credentials, add the following configuration to your `vars.yml` file:
```yaml
matrix_hookshot_container_labels_metrics_middleware_basic_auth_enabled: true
matrix_hookshot_container_labels_metrics_middleware_basic_auth_users: ''
```
To `matrix_hookshot_container_labels_metrics_middleware_basic_auth_users`, set the Basic Authentication credentials (raw `htpasswd` file content) used to protect the endpoint. See https://doc.traefik.io/traefik/middlewares/http/basicauth/#users for details about it.
**Note**: alternatively, you can use `matrix_metrics_exposure_enabled` to expose all services on this `/metrics/*` feature, and you can use `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users` to password-protect the metrics of them. See [this section](configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) for more information.
#### Enable Grafana (optional)
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.
## 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-hookshot`.
### Increase logging verbosity
The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: error, warn, info, debug
matrix_hookshot_logging_level: debug
```

View File

@ -1,10 +1,20 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD project contributors
SPDX-FileCopyrightText: 2020 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Matrix SMS bridging (optional) # Setting up Matrix SMS bridging (optional)
The playbook can install and configure [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you. The playbook can install and configure [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you.
See the project's [documentation](https://github.com/benkuly/matrix-sms-bridge/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/benkuly/matrix-sms-bridge/blob/master/README.md) to learn what it does and why it might be useful to you.
**The bridge uses [android-sms-gateway-server](https://github.com/RebekkaMa/android-sms-gateway-server). You need to configure it first.** ## Prerequisite
The bridge uses [android-sms-gateway-server](https://github.com/RebekkaMa/android-sms-gateway-server). You need to configure it first.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -28,26 +38,33 @@ matrix_sms_bridge_provider_android_password: supeSecretPassword
# (optional) if your android-sms-gateway-server uses a self signed vertificate, the bridge needs a "truststore". This can be the certificate itself. # (optional) if your android-sms-gateway-server uses a self signed vertificate, the bridge needs a "truststore". This can be the certificate itself.
matrix_sms_bridge_provider_android_truststore_local_path: android-sms-gateway-server.p12 matrix_sms_bridge_provider_android_truststore_local_path: android-sms-gateway-server.p12
matrix_sms_bridge_provider_android_truststore_password: 123 matrix_sms_bridge_provider_android_truststore_password: 123
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-sms/defaults/main.yml` for some variables that you can customize via your `vars.yml` file. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_sms_bridge_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
Read the [user guide](https://github.com/benkuly/matrix-sms-bridge/blob/master/README.md#user-guide) to see how this bridge works. Read the [user guide](https://github.com/benkuly/matrix-sms-bridge/blob/master/README.md#user-guide) to see how this bridge works.
## 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-sms-bridge`.

View File

@ -0,0 +1,74 @@
<!--
SPDX-FileCopyrightText: 2025 MDAD project contributors
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Bluesky bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-bluesky](https://github.com/mautrix/bluesky) for you, which provides a bridge to [Bluesky](https://bsky.social/about).
See the project's [documentation](https://github.com/mautrix/bluesky/blob/master/README.md) to learn what it does and why it might be useful to you.
## Prerequisite (optional)
### Enable Appservice Double Puppet
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_mautrix_bluesky_enabled: true
```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
<!-- NOTE: relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
## 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
```
**Notes**:
- 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.
## Usage
To use the bridge, you need to start a chat with `@blueskybot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/bluesky/authentication.html).
After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages.
## 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-mautrix-bluesky`.
### Increase logging verbosity
The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: fatal, error, warn, info, debug, trace
matrix_mautrix_bluesky_logging_level: 'debug'
```

View File

@ -0,0 +1,218 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 MDAD project contributors
SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2023 Nikita Chernyi
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up a Generic Mautrix Bridge (optional)
The playbook can install and configure various [mautrix](https://github.com/mautrix) bridges (twitter, discord, signal, googlechat, etc.), as well as many other (non-mautrix) bridges. This is a common guide for configuring mautrix bridges.
The author of the bridges maintains [the official docs](https://docs.mau.fi/bridges/index.html), whose source code is available at [mautrix/docs](https://github.com/mautrix/docs) repository on GitHub. You may as well to refer it while configuring them.
You can see each bridge's features on the `ROADMAP.md` file in its corresponding mautrix repository.
## Adjusting the playbook configuration
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
# Replace SERVICENAME with one of: twitter, discord, signal, googlechat, etc.
matrix_mautrix_SERVICENAME_enabled: true
```
**Note**: for bridging to Meta's Messenger or Instagram, you would need to add `meta` with an underscore symbol (`_`) or hyphen (`-`) based on the context as prefix to each `SERVICENAME`; add `_` to variables (as in `matrix_mautrix_meta_messenger_configuration_extension_yaml` for example) and `-` to paths of the configuration files (as in `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2`), respectively. **`matrix_mautrix_facebook_*` and `matrix_mautrix_instagram_*` variables belong to the deprecated components and do not control the new bridge** ([mautrix-meta](https://github.com/mautrix/meta)), which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md).
There are some additional things you may wish to configure about the bridge before you continue. Each bridge may have additional requirements besides `_enabled: true`. For example, the mautrix-telegram bridge (our documentation page about it is [here](configuring-playbook-bridge-mautrix-telegram.md)) requires the `matrix_mautrix_telegram_api_id` and `matrix_mautrix_telegram_api_hash` variables to be defined. Refer to each bridge's individual documentation page for details about enabling bridges.
### Configure bridge permissions (optional)
By default any user on your homeserver will be able to use the mautrix bridges. To limit who can use them you would need to configure their permissions settings.
Different levels of permission can be granted to users. For example, to **configure a user as an administrator for all bridges**, add the following configuration to your `vars.yml` file:
```yaml
matrix_admin: "@alice:{{ matrix_domain }}"
```
If you don't define the `matrix_admin` in your configuration (e.g. `matrix_admin: @alice:example.com`), then there's no admin by default.
**Alternatively** (more verbose, but allows multiple admins to be configured), you can do the same on a per-bridge basis with:
```yaml
matrix_mautrix_SERVICENAME_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
This will add the admin permission to the specific user, while keeping the default permissions.
You could also redefine the default permissions settings completely, rather than adding extra permissions. You may wish to look at `roles/custom/matrix-bridge-mautrix-SERVICENAME/templates/config.yaml.j2` to find information on the permission settings and other options you would like to configure.
### Enable encryption (optional)
[Encryption (End-to-Bridge Encryption, E2BE) support](https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html) is off by default. If you would like to enable encryption, add the following configuration to your `vars.yml` file:
**for all bridges with encryption support**:
```yaml
matrix_bridges_encryption_enabled: true
matrix_bridges_encryption_default: true
```
**Alternatively**, for a specific bridge:
```yaml
matrix_mautrix_SERVICENAME_bridge_encryption_enabled: true
matrix_mautrix_SERVICENAME_bridge_encryption_default: true
```
### Enable relay mode (optional)
[Relay mode](https://docs.mau.fi/bridges/general/relay-mode.html) is off by default. Check [the table on the official documentation](https://docs.mau.fi/bridges/general/relay-mode.html#support-table) for bridges which support relay mode.
If you would like to enable it, add the following configuration to your `vars.yml` file:
**for all bridges with relay mode support**:
```yaml
matrix_bridges_relay_enabled: true
```
**Alternatively**, for a specific bridge:
```yaml
matrix_mautrix_SERVICENAME_configuration_extension_yaml: |
bridge:
relay:
enabled: true
```
You can only have one `matrix_mautrix_SERVICENAME_configuration_extension_yaml` definition in `vars.yml` per bridge, so if you need multiple pieces of configuration there, just merge them like this:
```yaml
matrix_mautrix_SERVICENAME_configuration_extension_yaml: |
bridge:
relay:
enabled: true
permissions:
'@alice:{{ matrix_domain }}': admin
encryption:
allow: true
default: true
```
If you want to activate the relaybot in a room, send `!prefix set-relay` in the rooms where you want to use the bot (replace `!prefix` with the appropriate command prefix for the bridge, like `!signal` or `!wa`). To deactivate, send `!prefix unset-relay`.
Use `!prefix set-pl 100` to be able for the bot to modify room settings and invite others.
#### Allow anyone on the homeserver to become a relay user (optional)
By default, only admins are allowed to set themselves as relay users. To allow anyone on your homeserver to set themselves as relay users, add the following configuration to your `vars.yml` file:
```yaml
matrix_mautrix_SERVICENAME_bridge_relay_admin_only: false
```
### Set the bot's username (optional)
To set the bot's username, add the following configuration to your `vars.yml` file:
```yaml
matrix_mautrix_SERVICENAME_appservice_bot_username: "BOTNAME"
```
### Configure the logging level (optional)
To specify the logging level, add the following configuration to your `vars.yml` file:
```yaml
matrix_mautrix_SERVICENAME_logging_level: warn
```
Replace `warn` with one of the following to control the verbosity of the logs generated: `trace`, `debug`, `info`, `warn`, `error` or `fatal`.
If you have issues with a service, and are requesting support, the higher levels of logging (those that appear earlier in the list, like `trace`) will generally be more helpful.
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-mautrix-SERVICENAME/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-mautrix-SERVICENAME/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_mautrix_SERVICENAME_configuration_extension_yaml` variable
## 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` or `just setup-all`
`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too.
## Usage
To use the bridge, you need to start a chat with `@SERVICENAMEbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
For details about the next steps, refer to each bridge's individual documentation page.
Send `help` to the bot to see the available commands.
If you run into trouble, check the [Troubleshooting](#troubleshooting) section below.
### Set up Double Puppeting (optional)
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do).
To set it up, you have 2 ways of going about it.
#### Method 1: automatically, by enabling Appservice Double Puppet (recommended)
To set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html), you could enable the [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
Appservice Double Puppet is a homeserver appservice through which bridges (and potentially other services) can impersonate any user on the homeserver.
To enable the Appservice Double Puppet service, add the following configuration to your `vars.yml` file:
```yaml
matrix_appservice_double_puppet_enabled: true
```
When enabled, double puppeting will automatically be enabled for all bridges that support double puppeting via the appservice method.
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
**Notes**:
- Previously there were multiple different automatic double puppeting methods like one with the help of the [Shared Secret Auth password provider module](./configuring-playbook-shared-secret-auth.md), but they have been superseded by this Appservice Double Puppet method. Double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future as the older methods were completely removed in the megabridge rewrites on [the upstream project](https://docs.mau.fi/bridges/general/double-puppeting.html#automatically).
<!-- TODO: remove this note if the Shared Secret Auth service has stopped working or the bridges have been removed -->
- Some bridges like [the deprecated Facebook mautrix bridge](configuring-playbook-bridge-mautrix-facebook.md) and [matrix-appservice-kakaotalk](configuring-playbook-bridge-appservice-kakaotalk.md), which is partially based on the Facebook bridge, are compatible with the Shared Secret Auth service only. These bridges automatically perform Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook.
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the session for which you obtained an access token some time in the future, as that would break the Double Puppeting feature
## Troubleshooting
For troubleshooting information with a specific bridge, please see the playbook documentation about it (some other document in in `docs/`) and the upstream ([mautrix](https://github.com/mautrix)) bridge documentation for that specific bridge.
If the bridge's bot doesn't accept the invite to a chat, refer [the official troubleshooting page](https://docs.mau.fi/bridges/general/troubleshooting.html) as well.
If you found bugs in mautrix bridges, they should be reported to the upstream project, in the corresponding mautrix repository, not to us.

View File

@ -1,5 +1,19 @@
<!--
SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Hugues Morisset
SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2022 Abílio Costa
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Marko Weltzer
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Discord bridging (optional) # Setting up Mautrix Discord bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridges supported by the playbook. **Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridges supported by the playbook.
- 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` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook. - For personal use with a discord account we recommend the `mautrix-discord` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook.
@ -18,7 +32,9 @@ If this is a dealbreaker for you, consider using one of the other Discord bridge
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -28,16 +44,12 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_discord_enabled: true matrix_mautrix_discord_enabled: true
``` ```
You may optionally wish to add some [Additional configuration](#additional-configuration), or to [prepare for double-puppeting](#set-up-double-puppeting) before the initial installation. ### Extending the configuration
### Additional configuration
There are some additional things you may wish to configure about the bridge. There are some additional things you may wish to configure about the bridge.
Take a look at: <!-- NOTE: common relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
- `roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-mautrix-discord/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_mautrix_discord_configuration_extension_yaml` variable
## Installing ## Installing
@ -45,64 +57,38 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
### Logging in To use the bridge, you need to start a chat with `@discordbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
#### Method 1: Login using QR code (recommended) You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/discord/authentication.html).
For using this bridge, you would need to authenticate by **scanning a QR code** with the Discord app on your phone. After logging in, the bridge will create portal rooms for some recent direct messages.
You can delete the Discord app after the authentication process. ### Bridge guilds
#### Method 2: Login using Discord token (not recommended) If you'd like to bridge guilds, send `guilds status` to see the list of guilds, then send `guilds bridge GUILD_ID_HERE` for each guild that you'd like bridged. Make sure to replace `GUILD_ID_HERE` with the guild's ID.
To acquire the token, open Discord in a private browser window. Then open the developer settings (keyboard shortcut might be "ctrl+shift+i" or by pressing "F12"). Navigate to the "Network" tab then reload the page. In the URL filter or search bar type "/api" and find the response with the file name of "library". Under the request headers you should find a variable called "Authorization", this is the token to your Discord account. After copying the token, you can close the browser window. After bridging, spaces will be created automatically, and rooms will be created if necessary when messages are received. You can also pass `--entire` to the bridge command to immediately create all rooms.
### Bridging If you want to manually bridge channels, invite the bot to the room you want to bridge, and run `!discord bridge CHANNEL_ID_HERE` to bridge the room. Make sure to replace `CHANNEL_ID_HERE` with the channel's ID.
1. Start a chat with `@discordbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). ## Troubleshooting
2. If you would like to login to Discord using a token, send `login-token` command, otherwise, send `login-qr` command.
3. You'll see a QR code which you need to scan with the Discord app on your phone. You can scan it with the camera app too, which will open Discord, which will then instruct you to scan it a 2nd time in the Discord app.
4. After confirming (in the Discord app) that you'd like to allow this login, the bot should respond with "Succcessfully authenticated as …"
5. Now that you're logged in, you can send a `help` command to the bot again, to see additional commands you have access to
6. Some Direct Messages from Discord should start syncing automatically
7. If you'd like to bridge guilds:
- send `guilds status` to see the list of guilds
- for each guild that you'd like bridged, send `guilds bridge GUILD_ID --entire`
8. You may wish to uninstall the Discord app from your phone now. It's not needed for the bridge to function.
### 💡 Set up Double Puppeting 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-mautrix-discord`.
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). ### Increase logging verbosity
To set it up, you have 2 ways of going about it. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
#### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth ```yaml
# Valid values: fatal, error, warn, info, debug, trace
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook. matrix_mautrix_discord_logging_level: 'debug'
```
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future.
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Discord` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,16 +1,34 @@
<!--
SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 Hugues Morisset
SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2021 Aaron Raimist
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 László Várady
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Facebook bridging (optional, deprecated) # Setting up Mautrix Facebook bridging (optional, deprecated)
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). Consider using that bridge instead of this one. <sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). Consider using that bridge instead of this one.
The playbook can install and configure [mautrix-facebook](https://github.com/mautrix/facebook) for you. The playbook can install and configure [mautrix-facebook](https://github.com/mautrix/facebook) for you.
See the project's [documentation](https://github.com/mautrix/facebook/blob/master/ROADMAP.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/mautrix/facebook/blob/master/README.md) to learn what it does and why it might be useful to you.
## Prerequisite (optional) ## Prerequisite (optional)
### Enable Shared Secret Auth
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -20,40 +38,11 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_facebook_enabled: true matrix_mautrix_facebook_enabled: true
``` ```
There are some additional things you may wish to configure about the bridge before you continue. ### Extending the configuration
Encryption support is off by default. If you would like to enable encryption, add the following to your `vars.yml` file: There are some additional things you may wish to configure about the bridge.
```yaml See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
matrix_mautrix_facebook_configuration_extension_yaml: |
bridge:
encryption:
allow: true
default: true
```
If you would like to be able to administrate the bridge from your account it can be configured like this:
```yaml
matrix_mautrix_facebook_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
Using both would look like
```yaml
matrix_mautrix_facebook_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
encryption:
allow: true
default: true
```
You may wish to look at `roles/custom/matrix-bridge-mautrix-facebook/templates/config.yaml.j2` and `roles/custom/matrix-bridge-mautrix-facebook/defaults/main.yml` to find other things you would like to configure.
## Installing ## Installing
@ -61,49 +50,33 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@facebookbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@facebookbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login YOUR_FACEBOOK_EMAIL_ADDRESS` to the bridge bot to enable bridging for your Facebook Messenger account. You can learn more here about authentication from the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/facebook/authentication.html). You then need to send `login YOUR_FACEBOOK_EMAIL_ADDRESS` to the bridge bot to enable bridging for your Facebook Messenger account.
If you run into trouble, check the [Troubleshooting](#troubleshooting) section below. If you run into trouble, check the [Troubleshooting](#troubleshooting) section below.
### 💡 Set up Double Puppeting
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do).
To set it up, you have 2 ways of going about it.
#### Method 1: automatically, by enabling Shared Secret Auth
The bridge automatically performs Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook.
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Facebook` device some time in the future, as that would break the Double Puppeting feature
## Troubleshooting ## 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-mautrix-facebook`.
### Increase logging verbosity
The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_mautrix_facebook_logging_level: DEBUG
```
### Facebook rejecting login attempts and forcing you to change password ### Facebook rejecting login attempts and forcing you to change password
If your Matrix server is in a wildly different location than where you usually use your Facebook account from, the bridge's login attempts may be outright rejected by Facebook. Along with that, Facebook may even force you to change the account's password. If your Matrix server is in a wildly different location than where you usually use your Facebook account from, the bridge's login attempts may be outright rejected by Facebook. Along with that, Facebook may even force you to change the account's password.

View File

@ -1,14 +1,26 @@
<!--
SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2023 Shreyas Ajjarapu
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Google Messages bridging (optional) # Setting up Mautrix Google Messages bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-gmessages](https://github.com/mautrix/gmessages) for you, for bridging to [Google Messages](https://messages.google.com/). The playbook can install and configure [mautrix-gmessages](https://github.com/mautrix/gmessages) for you, for bridging to [Google Messages](https://messages.google.com/).
See the project's [documentation](https://docs.mau.fi/bridges/go/gmessages/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/bridges/go/gmessages/index.html) to learn what it does and why it might be useful to you.
## Prerequisite (optional) ## Prerequisite (optional)
### Enable Appservice Double Puppet
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -18,45 +30,43 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_gmessages_enabled: true matrix_mautrix_gmessages_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
<!-- NOTE: relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@gmessagesbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@gmessagesbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
### 💡 Set up Double Puppeting You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/gmessages/authentication.html).
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). After logging in, the bridge will create portal rooms for recent chats.
To set it up, you have 2 ways of going about it. ## Troubleshooting
#### Method 1: automatically, by enabling Appservice Double Puppet 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-mautrix-gmessages`.
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service is configured and enabled on the server for this playbook. ### Increase logging verbosity
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
#### Method 2: manually, by asking each user to provide a working access token ```yaml
# Valid values: fatal, error, warn, info, debug, trace
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: matrix_mautrix_gmessages_logging_level: 'debug'
```
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-gmessages` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,14 +1,29 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD project contributors
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Google Chat bridging (optional) # Setting up Mautrix Google Chat bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-googlechat](https://github.com/mautrix/googlechat) for you. The playbook can install and configure [mautrix-googlechat](https://github.com/mautrix/googlechat) for you.
See the project's [documentation](https://docs.mau.fi/bridges/python/googlechat/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/bridges/python/googlechat/index.html) to learn what it does and why it might be useful to you.
## Prerequisite (optional) ## Prerequisite (optional)
### Enable Appservice Double Puppet or Shared Secret Auth
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -18,55 +33,42 @@ To enable the [Google Chat](https://chat.google.com/) bridge, add the following
matrix_mautrix_googlechat_enabled: true matrix_mautrix_googlechat_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
<!-- NOTE: relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `googlechat bridge bot` with handle `@googlechatbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@googlechatbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login` to the bridge bot to receive a link to the portal from which you can enable the bridging. Open the link sent by the bot and follow the instructions. You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/googlechat/authentication.html).
Automatic login may not work. If it does not, reload the page and select the "Manual login" checkbox before starting. Manual login involves logging into your Google account normally and then manually getting the OAuth token from browser cookies with developer tools. After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages.
Once logged in, recent chats should show up as new conversations automatically. Other chats will get portals as you receive messages. ## Troubleshooting
You can learn more about authentication from the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/googlechat/authentication.html). 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-mautrix-googlechat`.
### 💡 Set up Double Puppeting ### Increase logging verbosity
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
To set it up, you have 2 ways of going about it. ```yaml
matrix_mautrix_googlechat_logging_level: DEBUG
#### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth ```
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook.
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future.
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-googlechat` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,72 +1,27 @@
# Setting up Mautrix Hangouts bridging (optional, deprecated) <!--
SPDX-FileCopyrightText: 2019 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 Eduardo Beltrame
SPDX-FileCopyrightText: 2021 MDAD project contributors
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
💡 **Note**: This bridge has been deprecated in favor of [Google Chat bridge](https://github.com/mautrix/googlechat), which can be installed using [this playbook](configuring-playbook-bridge-mautrix-googlechat.md). Installing the mautrix-hangouts bridge is **no longer possible**. For now, this documentation page remains here for historical purposes. SPDX-License-Identifier: AGPL-3.0-or-later
-->
The playbook can install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts) for you. # Setting up Mautrix Hangouts bridging (optional, removed)
See the project's [documentation](https://docs.mau.fi/bridges/python/hangouts/index.html) to learn what it does and why it might be useful to you. 🪦 The playbook used to be able to install and configure [mautrix-hangouts](https://github.com/mautrix/hangouts), but no longer includes this component, because Google Hangouts has been discontinued since the 1st of November 2022.
## Prerequisite (optional) You may wish to use the [Google Chat bridge](https://github.com/mautrix/googlechat) instead.
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) for this playbook. ## Uninstalling the bridge manually
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) If you still have the Hangouts bridge installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server:
## Adjusting the playbook configuration
To enable the [Google Hangouts](https://hangouts.google.com/) bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_mautrix_hangouts_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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start systemctl disable --now matrix-mautrix-hangouts.service
rm -rf /matrix/mautrix-hangouts
/matrix/postgres/bin/cli-non-interactive 'DROP DATABASE matrix_mautrix_hangouts;'
``` ```
**Notes**:
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
- 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.
## Usage
To use the bridge, you need to start a chat with `Hangouts bridge bot` with handle `@hangoutsbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login` to the bridge bot to receive a link to the portal from which you can enable the bridging. Open the link sent by the bot and follow the instructions.
Automatic login may not work. If it does not, reload the page and select the "Manual login" checkbox before starting. Manual login involves logging into your Google account normally and then manually getting the OAuth token from browser cookies with developer tools.
Once logged in, recent chats should show up as new conversations automatically. Other chats will get portals as you receive messages.
You can learn more about authentication from the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/hangouts/authentication.html).
### 💡 Set up Double Puppeting
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do).
To set it up, you have 2 ways of going about it.
#### Method 1: automatically, by enabling Shared Secret Auth
The bridge automatically performs Double Puppeting if [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook.
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future.
#### Method 2: manually, by asking each user to provide a working access token
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Hangouts` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,10 +1,21 @@
<!--
SPDX-FileCopyrightText: 2021 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2021 Marcus Proest
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Instagram bridging (optional, deprecated) # Setting up Mautrix Instagram bridging (optional, deprecated)
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-instagram.md). Consider using that bridge instead of this one. <sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be [installed using this playbook](configuring-playbook-bridge-mautrix-meta-instagram.md). Consider using that bridge instead of this one.
The playbook can install and configure [mautrix-instagram](https://github.com/mautrix/instagram) for you. The playbook can install and configure [mautrix-instagram](https://github.com/mautrix/instagram) for you.
See the project's [documentation](https://docs.mau.fi/bridges/python/instagram/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/mautrix/instagram/blob/master/README.md) to learn what it does and why it might be useful to you.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -14,33 +25,11 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_instagram_enabled: true matrix_mautrix_instagram_enabled: true
``` ```
There are some additional things you may wish to configure about the bridge before you continue. ### Extending the configuration
Encryption support is off by default. If you would like to enable encryption, add the following to your `vars.yml` file: There are some additional things you may wish to configure about the bridge.
```yaml See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
matrix_mautrix_instagram_configuration_extension_yaml: |
bridge:
encryption:
allow: true
default: true
```
If you would like to be able to administrate the bridge from your account it can be configured like this:
```yaml
# The easy way. The specified Matrix user ID will be made an admin of all bridges
matrix_admin: "@alice:{{ matrix_domain }}"
# OR:
# The more verbose way. Applies to this bridge only. You may define multiple Matrix users as admins.
matrix_mautrix_instagram_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
You may wish to look at `roles/custom/matrix-bridge-mautrix-instagram/templates/config.yaml.j2` and `roles/custom/matrix-bridge-mautrix-instagram/defaults/main.yml` to find other things you would like to configure.
## Installing ## Installing
@ -48,21 +37,27 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@instagrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@instagrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `login YOUR_INSTAGRAM_EMAIL_ADDRESS YOUR_INSTAGRAM_PASSWORD` to the bridge bot to enable bridging for your instagram/Messenger account. You then need to send `login YOUR_INSTAGRAM_EMAIL_ADDRESS YOUR_INSTAGRAM_PASSWORD` to the bridge bot to enable bridging for your instagram/Messenger account.
You can learn more here about authentication from the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/instagram/authentication.html). ## 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-mautrix-instagram`.
### Increase logging verbosity
The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_mautrix_instagram_logging_level: DEBUG
```

View File

@ -1,7 +1,18 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Instagram bridging via Mautrix Meta (optional) # Setting up Instagram bridging via Mautrix Meta (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you. The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you.
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`). Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`).
This documentation page only deals with the bridge's ability to bridge to Instagram. For bridging to Facebook/Messenger, see [Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md). This documentation page only deals with the bridge's ability to bridge to Instagram. For bridging to Facebook/Messenger, see [Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md).
@ -23,7 +34,7 @@ Then, consider disabling the old bridge in your configuration, so it won't recre
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -35,37 +46,11 @@ matrix_mautrix_meta_instagram_enabled: true
Before proceeding to [re-running the playbook](./installing.md), you may wish to adjust the configuration further. See below. Before proceeding to [re-running the playbook](./installing.md), you may wish to adjust the configuration further. See below.
### Bridge permissions ### Extending the configuration
By default, any user on your homeserver will be able to use the bridge. There are some additional things you may wish to configure about the bridge.
Different levels of permission can be granted to users: See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
- `relay` - Allowed to be relayed through the bridge, no access to commands
- `user` - Use the bridge with puppeting
- `admin` - Use and administer the bridge
The permissions are following the sequence: nothing < `relay` < `user` < `admin`.
The default permissions are set via `matrix_mautrix_meta_instagram_bridge_permissions_default` and are somewhat like this:
```yaml
matrix_mautrix_meta_instagram_bridge_permissions_default:
'*': relay
example.com: user
'{{ matrix_admin }}': admin
```
If you don't define the `matrix_admin` in your configuration (e.g. `matrix_admin: @alice:example.com`), then there's no admin by default.
You may redefine `matrix_mautrix_meta_instagram_bridge_permissions_default` any way you see fit, or add extra permissions using `matrix_mautrix_meta_instagram_bridge_permissions_custom` like this:
```yaml
matrix_mautrix_meta_instagram_bridge_permissions_custom:
'@alice:{{ matrix_domain }}': admin
```
You may wish to look at `roles/custom/matrix-bridge-mautrix-meta-instagram/templates/config.yaml.j2` to find more information on the permissions settings and other options you would like to configure.
## Installing ## Installing
@ -73,39 +58,30 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@instagrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@instagrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
### 💡 Set up Double Puppeting You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/meta/authentication.html).
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). After logging in, the bridge will sync recent chats.
To set it up, you have 2 ways of going about it. ## Troubleshooting
#### Method 1: automatically, by enabling Appservice Double Puppet 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-mautrix-meta-instagram`.
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service is configured and enabled on the server for this playbook. ### Increase logging verbosity
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
#### Method 2: manually, by asking each user to provide a working access token ```yaml
# This bridge uses zerolog, so valid levels are: panic, fatal, error, warn, info, debug, trace
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: matrix_mautrix_meta_instagram_logging_min_level: debug
```
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the session for which you obtained an access token some time in the future, as that would break the Double Puppeting feature

View File

@ -1,7 +1,19 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Johan Swetzén
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Messenger bridging via Mautrix Meta (optional) # Setting up Messenger bridging via Mautrix Meta (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you. The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you.
See the project's [documentation](https://docs.mau.fi/bridges/go/meta/index.html) to learn what it does and why it might be useful to you.
Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`). Since this bridge component can bridge to both [Messenger](https://messenger.com/) and [Instagram](https://instagram.com/) and you may wish to do both at the same time, the playbook makes it available via 2 different Ansible roles (`matrix-bridge-mautrix-meta-messenger` and `matrix-bridge-mautrix-meta-instagram`). The latter is a reconfigured copy of the first one (created by `just rebuild-mautrix-meta-instagram` and `bin/rebuild-mautrix-meta-instagram.sh`).
This documentation page only deals with the bridge's ability to bridge to Facebook Messenger. For bridging to Instagram, see [Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md). This documentation page only deals with the bridge's ability to bridge to Facebook Messenger. For bridging to Instagram, see [Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md).
@ -22,7 +34,7 @@ Then, consider disabling the old bridge in your configuration, so it won't recre
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -41,44 +53,18 @@ As mentioned above, the [mautrix-meta](https://github.com/mautrix/meta) bridge s
The bridge can pull your Messenger messages via 3 different methods: The bridge can pull your Messenger messages via 3 different methods:
- (`facebook`) Facebook via `facebook.com` - (`facebook`) Facebook via `facebook.com`
- (`facebook-tor`) Facebook via `facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion` ([Tor](https://www.torproject.org/)) - does not currently proxy media downloads - (`facebook-tor`) Facebook via `facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion` ([Tor](https://www.torproject.org/)) does not currently proxy media downloads
- (default) (`messenger`) Messenger via `messenger.com` - usable even without a Facebook account - (default) (`messenger`) Messenger via `messenger.com` usable even without a Facebook account
You may switch the mode via the `matrix_mautrix_meta_messenger_meta_mode` variable. The playbook defaults to the `messenger` mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true). You may switch the mode via the `matrix_mautrix_meta_messenger_meta_mode` variable. The playbook defaults to the `messenger` mode, because it's most universal (every Facebook user has a Messenger account, but the opposite is not true).
Note that switching the mode (especially between `facebook*` and `messenger`) will intentionally make the bridge use another database (`matrix_mautrix_meta_facebook` or `matrix_mautrix_meta_messenger`) to isolate the 2 instances. Switching between Tor and non-Tor may be possible without dataloss, but your mileage may vary. Before switching to a new mode, you may wish to de-configure the old one (send `help` to the bridge bot and unbridge your portals, etc.). Note that switching the mode (especially between `facebook*` and `messenger`) will intentionally make the bridge use another database (`matrix_mautrix_meta_facebook` or `matrix_mautrix_meta_messenger`) to isolate the 2 instances. Switching between Tor and non-Tor may be possible without dataloss, but your mileage may vary. Before switching to a new mode, you may wish to de-configure the old one (send `help` to the bridge bot and unbridge your portals, etc.).
### Bridge permissions ### Extending the configuration
By default, any user on your homeserver will be able to use the bridge. There are some additional things you may wish to configure about the bridge.
Different levels of permission can be granted to users: See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
- `relay` - Allowed to be relayed through the bridge, no access to commands
- `user` - Use the bridge with puppeting
- `admin` - Use and administer the bridge
The permissions are following the sequence: nothing < `relay` < `user` < `admin`.
The default permissions are set via `matrix_mautrix_meta_messenger_bridge_permissions_default` and are somewhat like this:
```yaml
matrix_mautrix_meta_messenger_bridge_permissions_default:
'*': relay
example.com: user
'{{ matrix_admin }}': admin
```
If you don't define the `matrix_admin` in your configuration (e.g. `matrix_admin: @alice:example.com`), then there's no admin by default.
You may redefine `matrix_mautrix_meta_messenger_bridge_permissions_default` any way you see fit, or add extra permissions using `matrix_mautrix_meta_messenger_bridge_permissions_custom` like this:
```yaml
matrix_mautrix_meta_messenger_bridge_permissions_custom:
'@alice:{{ matrix_domain }}': admin
```
You may wish to look at `roles/custom/matrix-bridge-mautrix-meta-messenger/templates/config.yaml.j2` to find more information on the permissions settings and other options you would like to configure.
## Installing ## Installing
@ -86,43 +72,32 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@messengerbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). Note that the user ID of the bridge's bot is not `@facebookbot:example.com`. To use the bridge, you need to start a chat with `@messengerbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). Note that the user ID of the bridge's bot is not `@facebookbot:example.com`.
You then need to send a `login` command and follow the bridge bot's instructions. You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/meta/authentication.html).
Given that the bot is configured in `messenger` [bridge mode](#bridge-mode) by default, you will need to log in to [messenger.com](https://messenger.com/) (not `facebook.com`!) and obtain the cookies from there as per [the bridge's authentication instructions](https://docs.mau.fi/bridges/go/meta/authentication.html). After logging in, the bridge will sync recent chats.
### 💡 Set up Double Puppeting **Note**: given that the bot is configured in `messenger` [bridge mode](#bridge-mode) by default, you will need to log in to [messenger.com](https://messenger.com/) (not `facebook.com`!) and obtain the cookies from there.
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). ## Troubleshooting
To set it up, you have 2 ways of going about it. 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-mautrix-meta-messenger`.
#### Method 1: automatically, by enabling Appservice Double Puppet ### Increase logging verbosity
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service is configured and enabled on the server for this playbook. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. ```yaml
# This bridge uses zerolog, so valid levels are: panic, fatal, error, warn, info, debug, trace
#### Method 2: manually, by asking each user to provide a working access token matrix_mautrix_meta_messenger_logging_min_level: debug
```
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the session for which you obtained an access token some time in the future, as that would break the Double Puppeting feature

View File

@ -1,10 +1,26 @@
<!--
SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Hugues Morisset
SPDX-FileCopyrightText: 2020 - 2021 MDAD project contributors
SPDX-FileCopyrightText: 2020 Sabine Laszakovits
SPDX-FileCopyrightText: 2021 Julian Foad
SPDX-FileCopyrightText: 2021 Wolfgang Winter
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Marko Weltzer
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Benjamin Kampmann
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Signal bridging (optional) # Setting up Mautrix Signal bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-signal](https://github.com/mautrix/signal) for you. The playbook can install and configure [mautrix-signal](https://github.com/mautrix/signal) for you.
See the project's [documentation](https://docs.mau.fi/bridges/python/signal/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/bridges/go/signal/index.html) to learn what it does and why it might be useful to you.
**Note**: This revamped version of the [mautrix-signal (legacy)](configuring-playbook-bridge-mautrix-signal.md) may increase the CPU usage of your homeserver.
## Prerequisites (optional) ## Prerequisites (optional)
@ -18,7 +34,7 @@ However, if you're [using an external Postgres server](configuring-playbook-exte
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -28,46 +44,11 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_signal_enabled: true matrix_mautrix_signal_enabled: true
``` ```
There are some additional things you may wish to configure about the bridge before you continue. ### Extending the configuration
By default, any user on your homeserver will be able to use the bridge. There are some additional things you may wish to configure about the bridge.
Different levels of permission can be granted to users: See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
* relay - Allowed to be relayed through the bridge, no access to commands;
* user - Use the bridge with puppeting;
* admin - Use and administer the bridge.
The permissions are following the sequence: nothing < relay < user < admin.
The default permissions are set as follows:
```yaml
permissions:
'*': relay
example.com: user
```
If you want to augment the preset permissions, you might want to set the additional permissions with the following settings in your `vars.yml` file:
```yaml
matrix_mautrix_signal_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
This will add the admin permission to the specific user, while keeping the default permissions.
In case you want to replace the default permissions settings **completely**, populate the following item within your `vars.yml` file:
```yaml
matrix_mautrix_signal_bridge_permissions:
'@alice:{{ matrix_domain }}': admin
'@bob:{{ matrix_domain }}' : user
```
You may wish to look at `roles/custom/matrix-bridge-mautrix-signal/templates/config.yaml.j2` to find more information on the permissions settings and other options you would like to configure.
## Installing ## Installing
@ -75,39 +56,32 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@signalbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@signalbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
### 💡 Set up Double Puppeting You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/signal/authentication.html).
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). After logging in, the bridge will bridge chats as you receive messages.
To set it up, you have 2 ways of going about it. **Note**: Signal does not support any kind of message history (even on official apps), so the bridge won't backfill any messages.
#### Method 1: automatically, by enabling Appservice Double Puppet ## Troubleshooting
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service is configured and enabled on the server for this playbook. 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-mautrix-signal`.
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. ### Increase logging verbosity
#### Method 2: manually, by asking each user to provide a working access token The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: ```yaml
# Valid values: fatal, error, warn, info, debug, trace
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md). matrix_mautrix_signal_logging_level: 'debug'
```
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Signal` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,5 +1,16 @@
<!--
SPDX-FileCopyrightText: 2023 Cody Wyatt Neiman
SPDX-FileCopyrightText: 2023 Stuart Mumford
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Slack bridging (optional) # Setting up Mautrix Slack bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
**Note**: bridging to [Slack](https://slack.com/) can also happen via the [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) and [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridges supported by the playbook. **Note**: bridging to [Slack](https://slack.com/) can also happen via the [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) and [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridges supported by the playbook.
- For using as a Bot we recommend the [Appservice Slack](configuring-playbook-bridge-appservice-slack.md), because it supports plumbing. Note that it is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued. - For using as a Bot we recommend the [Appservice Slack](configuring-playbook-bridge-appservice-slack.md), because it supports plumbing. Note that it is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued.
- For personal use with a slack account we recommend the `mautrix-slack` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Slack bridges supported by the playbook. - For personal use with a slack account we recommend the `mautrix-slack` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Slack bridges supported by the playbook.
@ -20,7 +31,7 @@ Note that neither of these methods are officially supported by Slack. [matrix-ap
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -30,16 +41,12 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_slack_enabled: true matrix_mautrix_slack_enabled: true
``` ```
You may optionally wish to add some [Additional configuration](#additional-configuration), or to [prepare for double-puppeting](#set-up-double-puppeting) before the initial installation. ### Extending the configuration
### Additional configuration There are some additional things you may wish to configure about the bridge.
There are some additional options you may wish to configure with the bridge. <!-- NOTE: relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
Take a look at:
- `roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-mautrix-slack/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_mautrix_slack_configuration_extension_yaml` variable
## Installing ## Installing
@ -47,43 +54,30 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
1. Start a chat with `@slackbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@slackbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
2. If you would like to login to Slack using a token, send the `login-token` command, otherwise, send the `login-password` command. Read [here](https://docs.mau.fi/bridges/go/slack/authentication.html) on how to retrieve your token and cookie token.
3. The bot should respond with "Successfully logged into <email> for team <workspace>"
4. Now that you're logged in, you can send a `help` command to the bot again, to see additional commands you have access to.
5. Slack channels should automatically begin bridging if you authenticated using a token. Otherwise, you must wait to receive a message in the channel if you used password authentication.
### 💡 Set up Double Puppeting You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/slack/authentication.html).
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). If you authenticated using a token, the recent chats will be bridged automatically (depending on the `conversation_count` setting). Otherwise (i.e. logging with the Discord application), the chats the bot is in will be bridged automatically.
To set it up, you have 2 ways of going about it. ## Troubleshooting
#### Method 1: automatically, by enabling Appservice Double Puppet 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-mautrix-slack`.
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service is configured and enabled on the server for this playbook. ### Increase logging verbosity
This is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
#### Method 2: manually, by asking each user to provide a working access token ```yaml
# Valid values: fatal, error, warn, info, debug, trace
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: matrix_mautrix_slack_logging_level: 'debug'
```
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Slack` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,18 +1,45 @@
<!--
SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Hugues Morisset
SPDX-FileCopyrightText: 2019 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2021 Panagiotis Georgiadis
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Iikka Järvenpää
SPDX-FileCopyrightText: 2022 Marko Weltzer
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Telegram bridging (optional) # Setting up Mautrix Telegram bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-telegram](https://github.com/mautrix/telegram) for you. The playbook can install and configure [mautrix-telegram](https://github.com/mautrix/telegram) for you.
See the project's [documentation](https://docs.mau.fi/bridges/python/telegram/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/bridges/python/telegram/index.html) to learn what it does and why it might be useful to you.
## Prerequisite (optional) ## Prerequisites
### Obtain a Telegram API key
To use the bridge, you'd need to obtain an API key from [https://my.telegram.org/apps](https://my.telegram.org/apps).
### Enable Appservice Double Puppet or Shared Secret Auth (optional)
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Notes**:
- Double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
- If you decided to enable Double Puppeting manually, send `login-matrix` to the bot in order to receive an instruction about how to send an access token to it.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
You'll need to obtain API keys from [https://my.telegram.org/apps](https://my.telegram.org/apps) and then add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `YOUR_TELEGRAM_APP_ID` and `YOUR_TELEGRAM_API_HASH`.
```yaml ```yaml
matrix_mautrix_telegram_enabled: true matrix_mautrix_telegram_enabled: true
@ -20,28 +47,11 @@ matrix_mautrix_telegram_api_id: YOUR_TELEGRAM_APP_ID
matrix_mautrix_telegram_api_hash: YOUR_TELEGRAM_API_HASH matrix_mautrix_telegram_api_hash: YOUR_TELEGRAM_API_HASH
``` ```
## Installing ### Relaying
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: ### Enable relay-bot (optional)
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> If you want to use the relay-bot feature ([relay bot documentation](https://docs.mau.fi/bridges/python/telegram/relay-bot.html)), which allows anonymous user to chat with telegram users, add the following configuration to your `vars.yml` file:
```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start
```
**Notes**:
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
- 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.
## Usage
To use the bridge, you need to start a chat with `@telegrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
If you want to use the relay-bot feature ([relay bot documentation](https://docs.mau.fi/bridges/python/telegram/relay-bot.html)), which allows anonymous user to chat with telegram users, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
matrix_mautrix_telegram_bot_token: YOUR_TELEGRAM_BOT_TOKEN matrix_mautrix_telegram_bot_token: YOUR_TELEGRAM_BOT_TOKEN
@ -51,45 +61,56 @@ matrix_mautrix_telegram_configuration_extension_yaml: |
'*': relaybot '*': relaybot
``` ```
You might also want to give permissions to administrate the bot: ### Configure a user as an administrator of the bridge (optional)
```yaml You might also want to give permissions to a user to administrate the bot. See [this section](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional) on the common guide for details about it.
matrix_mautrix_telegram_configuration_extension_yaml: |
bridge:
permissions:
'@alice:{{ matrix_domain }}': admin
```
More details about permissions in this example: https://github.com/mautrix/telegram/blob/master/mautrix_telegram/example-config.yaml#L410 More details about permissions in this example: https://github.com/mautrix/telegram/blob/master/mautrix_telegram/example-config.yaml#L410
If you like to exclude all groups from syncing and use the Telgeram-Bridge only for direct chats, you can add the following additional playbook configuration: ### Use the bridge for direct chats only (optional)
If you want to exclude all groups from syncing and use the Telegram-Bridge only for direct chats, add the following configuration to your `vars.yml` file:
```yaml ```yaml
matrix_mautrix_telegram_filter_mode: whitelist matrix_mautrix_telegram_filter_mode: whitelist
``` ```
### 💡 Set up Double Puppeting ### Extending the configuration
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). There are some additional things you may wish to configure about the bridge.
To set it up, you have 2 ways of going about it. <!-- NOTE: common relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
#### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth ## Installing
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook. After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. <!-- 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
```
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future. The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
#### Method 2: manually, by asking each user to provide a working access token `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.
**Note**: This method for enabling Double Puppeting can be configured only after you've already set up bridging. ## Usage
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: To use the bridge, you need to start a chat with `@telegrambot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md). You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/telegram/authentication.html).
- send `login-matrix` to the bot and follow instructions about how to send the access token to it After logging in, the bridge will create portal rooms for all of your Telegram groups and invite you to them. Note that the bridge won't automatically create rooms for private chats.
- make sure you don't log out the `Mautrix-Telegram` device some time in the future, as that would break the Double Puppeting feature ## 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-mautrix-telegram`.
### Increase logging verbosity
The default logging level for this component is `WARNING`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_mautrix_telegram_logging_level: DEBUG
```

View File

@ -1,5 +1,16 @@
<!--
SPDX-FileCopyrightText: 2021 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2021 Matthew Cengia
SPDX-FileCopyrightText: 2022 Aaron Raimist
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Twitter bridging (optional) # Setting up Mautrix Twitter bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) bridge supported by the playbook. **Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) bridge supported by the playbook.
The playbook can install and configure [mautrix-twitter](https://github.com/mautrix/twitter) for you. The playbook can install and configure [mautrix-twitter](https://github.com/mautrix/twitter) for you.
@ -8,9 +19,11 @@ See the project's [documentation](https://github.com/mautrix/twitter/blob/master
## Prerequisite (optional) ## Prerequisite (optional)
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. ### Enable Appservice Double Puppet
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -20,44 +33,43 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_twitter_enabled: true matrix_mautrix_twitter_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
<!-- NOTE: relay mode is not supported for this bridge -->
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
1. You then need to start a chat with `@twitterbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@twitterbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
2. Send login-cookie to start the login. The bot should respond with instructions on how to proceed.
You can learn more here about authentication from the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/python/twitter/authentication.html). You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/twitter/authentication.html).
### 💡 Set up Double Puppeting After logging in, the bridge will create portal rooms for recent chats. Portal rooms for other chats will be created as you receive messages.
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). ## Troubleshooting
To set it up, you have 2 ways of going about it. 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-mautrix-twitter`.
#### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth ### Increase logging verbosity
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. ```yaml
# Valid values: fatal, error, warn, info, debug, trace
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future. matrix_mautrix_twitter_logging_level: 'debug'
```
#### Method 2: manually, by asking each user to provide a working access token
This method is currently not available for the Mautrix-Twitter bridge, but is on the [roadmap](https://github.com/mautrix/twitter/blob/master/ROADMAP.md) under Misc/Manual login with `login-matrix`

View File

@ -1,14 +1,33 @@
<!--
SPDX-FileCopyrightText: 2018 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2018 Hugues Morisset
SPDX-FileCopyrightText: 2021 - 2025 MDAD project contributors
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Marko Weltzer
SPDX-FileCopyrightText: 2023 James Collier
SPDX-FileCopyrightText: 2023 Kuba Orlik
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Whatsapp bridging (optional) # Setting up Mautrix Whatsapp bridging (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-whatsapp](https://github.com/mautrix/whatsapp) for you. The playbook can install and configure [mautrix-whatsapp](https://github.com/mautrix/whatsapp) for you.
See the project's [documentation](https://docs.mau.fi/bridges/go/whatsapp/index.html) to learn what it does and why it might be useful to you. See the project's [documentation](https://docs.mau.fi/bridges/go/whatsapp/index.html) to learn what it does and why it might be useful to you.
## Prerequisite (optional) ## Prerequisite (optional)
### Enable Appservice Double Puppet or Shared Secret Auth
If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook. If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook.
For details about configuring Double Puppeting for this bridge, see the section below: [Set up Double Puppeting](#-set-up-double-puppeting) See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting.
**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -18,21 +37,11 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_mautrix_whatsapp_enabled: true matrix_mautrix_whatsapp_enabled: true
``` ```
Whatsapp multidevice beta is required, now it is enough if Whatsapp is connected to the Internet every 2 weeks. ### Extending the configuration
The relay bot functionality is off by default. If you would like to enable the relay bot, add the following to your `vars.yml` file: There are some additional things you may wish to configure about the bridge.
```yaml See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
matrix_mautrix_whatsapp_bridge_relay_enabled: true
```
By default, only admins are allowed to set themselves as relay users. To allow anyone on your homeserver to set themselves as relay users add this to your `vars.yml` file:
```yaml
matrix_mautrix_whatsapp_bridge_relay_admin_only: false
```
If you want to activate the relay bot in a room, send `!wa set-relay`. To deactivate, send `!wa unset-relay`.
## Installing ## Installing
@ -40,41 +49,32 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
To use the bridge, you need to start a chat with `@whatsappbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@whatsappbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
### 💡 Set up Double Puppeting You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/whatsapp/authentication.html).
After successfully enabling bridging, you may wish to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do). Approximately in a minute after logging in, the bridge will create portal rooms for recent chats.
To set it up, you have 2 ways of going about it. **Note**: your linked devices will be logged out if you dont use your phone for over 14 days (see the official FAQ entry [here](https://faq.whatsapp.com/general/download-and-installation/about-linked-devices)). The bridge will warn you if it doesn't receive any data from the phone over 12 days.
#### Method 1: automatically, by enabling Appservice Double Puppet or Shared Secret Auth ## Troubleshooting
The bridge automatically performs Double Puppeting if [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service is configured and enabled on the server for this playbook. 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-mautrix-whatsapp`.
Enabling [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) is the recommended way of setting up Double Puppeting, as it's easier to accomplish, works for all your users automatically, and has less of a chance of breaking in the future. ### Increase logging verbosity
Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service works at the time of writing, but is deprecated and will stop working in the future. The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
#### Method 2: manually, by asking each user to provide a working access token ```yaml
# Valid values: fatal, error, warn, info, debug, trace
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps: matrix_mautrix_whatsapp_logging_level: 'debug'
```
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`
- make sure you don't log out the `Mautrix-Whatsapp` device some time in the future, as that would break the Double Puppeting feature

View File

@ -1,9 +1,25 @@
<!--
SPDX-FileCopyrightText: 2023 Johan Swetzén
SPDX-FileCopyrightText: 2023 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage (optional) # Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage (optional)
<sup>Refer the common guide for configuring mautrix bridges: [Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md)</sup>
The playbook can install and configure [mautrix-wsproxy](https://github.com/mautrix/wsproxy) for you. The playbook can install and configure [mautrix-wsproxy](https://github.com/mautrix/wsproxy) for you.
See the project's [documentation](https://github.com/mautrix/wsproxy/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/mautrix/wsproxy/blob/master/README.md) to learn what it does and why it might be useful to you.
## Adjusting DNS records
By default, this playbook installs wsproxy on the `wsproxy.` subdomain (`wsproxy.example.com`) and requires you to create a CNAME record for `wsproxy`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -20,24 +36,24 @@ matrix_mautrix_wsproxy_syncproxy_shared_secret: 'secret token from bridge'
Note that the tokens must match what is compiled into the [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android device. Note that the tokens must match what is compiled into the [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android device.
### Adjusting the wsproxy URL ### Adjusting the wsproxy URL (optional)
By default, this playbook installs wsproxy on the `wsproxy.` subdomain (`wsproxy.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_mautrix_wsproxy_hostname` variable, you can easily make the service available at a **different hostname** than the default one. By tweaking the `matrix_mautrix_wsproxy_hostname` variable, you can easily make the service available at a **different hostname** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname # Change the default hostname
matrix_mautrix_wsproxy_hostname: ws.example.com matrix_mautrix_wsproxy_hostname: ws.example.com
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the wsproxy domain to the Matrix server.
Once you've decided on the domain, **you may need to adjust your DNS** records to point the wsproxy domain to the Matrix server. ### Extending the configuration
By default, you will need to create a CNAME record for `wsproxy`. See [Configuring DNS](configuring-dns.md) for details about DNS changes. There are some additional things you may wish to configure about the bridge.
See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc.
## Installing ## Installing
@ -45,17 +61,17 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
Follow the [matrix-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
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-mautrix-wsproxy`.

View File

@ -1,7 +1,16 @@
<!--
SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Hugues Morisset
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Discord bridging (optional) # 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. **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. - 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. The playbook can install and configure [mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord) for you.
@ -22,16 +31,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -43,4 +48,4 @@ Once logged in, send `list` to the bot user to list the available rooms.
Clicking rooms in the list will result in you receiving an invitation to the bridged room. Clicking rooms in the list will result in you receiving an invitation to the bridged room.
Also send `help` to the bot to see the commands available. Send `help` to the bot to see the available commands.

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2021 Cody Neiman
SPDX-FileCopyrightText: 2021 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Cody Wyatt Neiman
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet GroupMe bridging (optional) # Setting up MX Puppet GroupMe bridging (optional)
The playbook can install and configure [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) for you. The playbook can install and configure [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) for you.
@ -18,16 +27,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -45,4 +50,4 @@ Once logged in, send `listrooms` to the bot user to list the available rooms.
Clicking rooms in the list will result in you receiving an invitation to the bridged room. Clicking rooms in the list will result in you receiving an invitation to the bridged room.
Also send `help` to the bot to see the commands available. Send `help` to the bot to see the available commands.

View File

@ -1,3 +1,10 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Instagram bridging (optional) # Setting up MX Puppet Instagram bridging (optional)
The playbook can install and configure [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) for you. The playbook can install and configure [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) for you.
@ -18,16 +25,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -45,4 +48,4 @@ For double-puppeting, you probably want to issue these commands:
If you are linking only one Instagram account, your `$puppetId` is probably 1, but use the `list` command find out. If you are linking only one Instagram account, your `$puppetId` is probably 1, but use the `list` command find out.
The `help` command shows which commands are available, though at the time of writing, not every command is fully implemented. Send `help` to the bot to see the available commands. At the time of writing, not every command is fully implemented.

View File

@ -1,5 +1,13 @@
<!--
SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Rodrigo Belem
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Skype bridging (optional, removed) # Setting up MX Puppet Skype bridging (optional, removed)
The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time. 🪦 The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time.
Bridging to [Skype](https://www.skype.com/) can also happen via the [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) bridge supported by the playbook. Bridging to [Skype](https://www.skype.com/) can also happen via the [go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md) bridge supported by the playbook.

View File

@ -1,3 +1,14 @@
<!--
SPDX-FileCopyrightText: 2020 - 2023 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Rodrigo Belem
SPDX-FileCopyrightText: 2021 Marcel Ackermann
SPDX-FileCopyrightText: 2022 Jim Myhrberg
SPDX-FileCopyrightText: 2022 Nikita Chernyi
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Slack bridging (optional) # Setting up MX Puppet Slack bridging (optional)
**Note**: bridging to [Slack](https://slack.com) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. Note that `matrix-appservice-slack` is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued. **Note**: bridging to [Slack](https://slack.com) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. Note that `matrix-appservice-slack` is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued.
@ -27,16 +38,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -48,4 +55,4 @@ Once logged in, send `list` to the bot user to list the available rooms.
Clicking rooms in the list will result in you receiving an invitation to the bridged room. Clicking rooms in the list will result in you receiving an invitation to the bridged room.
Also send `help` to the bot to see the commands available. Send `help` to the bot to see the available commands.

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2020 - 2021 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Hugues Morisset
SPDX-FileCopyrightText: 2020 Panagiotis Vasilopoulos
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)
The playbook can install and configure [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) for you. The playbook can install and configure [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) for you.
@ -18,16 +27,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -39,4 +44,4 @@ Once logged in, send `list` to the bot user to list the available rooms.
Clicking rooms in the list will result in you receiving an invitation to the bridged room. Clicking rooms in the list will result in you receiving an invitation to the bridged room.
Also send `help` to the bot to see the commands available. Send `help` to the bot to see the available commands.

View File

@ -1,3 +1,11 @@
<!--
SPDX-FileCopyrightText: 2020 Tulir Asokan
SPDX-FileCopyrightText: 2021 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Twitter bridging (optional) # Setting up MX Puppet Twitter bridging (optional)
**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook. **Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook.
@ -29,16 +37,12 @@ After configuring the playbook, run it with [playbook tags](playbook-tags.md) as
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
@ -50,4 +54,4 @@ Once logged in, send `list` to the bot user to list the available rooms.
Clicking rooms in the list will result in you receiving an invitation to the bridged room. Clicking rooms in the list will result in you receiving an invitation to the bridged room.
Also send `help` to the bot to see the commands available. Send `help` to the bot to see the available commands.

View File

@ -1,6 +1,13 @@
# Setting up Postmoogle email bridging (optional) <!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Nikita Chernyi
SPDX-FileCopyrightText: 2023 Luke D Iremadze
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
**Note**: email bridging can also happen via the [email2matrix](configuring-playbook-email2matrix.md) bridge supported by the playbook. SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Postmoogle email bridging (optional)
The playbook can install and configure [Postmoogle](https://github.com/etkecc/postmoogle) for you. The playbook can install and configure [Postmoogle](https://github.com/etkecc/postmoogle) for you.
@ -19,6 +26,19 @@ If you don't open these ports, you will still be able to send emails, but not re
These port numbers are configurable via the `matrix_postmoogle_smtp_host_bind_port` and `matrix_postmoogle_submission_host_bind_port` variables, but other email servers will try to deliver on these default (standard) ports, so changing them is of little use. These port numbers are configurable via the `matrix_postmoogle_smtp_host_bind_port` and `matrix_postmoogle_submission_host_bind_port` variables, but other email servers will try to deliver on these default (standard) ports, so changing them is of little use.
## Adjusting DNS records
To make Postmoogle enable its email sending features, you need to configure MX and TXT (SPF, DMARC, and DKIM) records. See the table below for values which need to be specified.
| Type | Host | Priority | Weight | Port | Target |
|------|--------------------------------|----------|--------|------|------------------------------------|
| MX | `matrix` | 10 | 0 | - | `matrix.example.com` |
| TXT | `matrix` | - | - | - | `v=spf1 ip4:matrix-server-IP -all` |
| TXT | `_dmarc.matrix` | - | - | - | `v=DMARC1; p=quarantine;` |
| TXT | `postmoogle._domainkey.matrix` | - | - | - | get it from `!pm dkim` |
**Note**: the DKIM record can be retrieved after configuring and installing the bridge's bot.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -29,7 +49,7 @@ matrix_postmoogle_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default # Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_postmoogle_login: postmoogle # matrix_postmoogle_login: postmoogle
# Generate a strong password here. Consider generating it with `pwgen -s 64 1` # Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_postmoogle_password: PASSWORD_FOR_THE_BOT matrix_postmoogle_password: PASSWORD_FOR_THE_BOT
# Uncomment to add one or more admins to this bridge: # Uncomment to add one or more admins to this bridge:
@ -37,14 +57,18 @@ matrix_postmoogle_password: PASSWORD_FOR_THE_BOT
# matrix_postmoogle_admins: # matrix_postmoogle_admins:
# - '@yourAdminAccount:{{ matrix_domain }}' # - '@yourAdminAccount:{{ matrix_domain }}'
# #
# .. unless you've made yourself an admin of all bots/bridges like this: # unless you've made yourself an admin of all bots/bridges like this:
# #
# matrix_admin: '@yourAdminAccount:{{ matrix_domain }}' # matrix_admin: '@yourAdminAccount:{{ matrix_domain }}'
``` ```
## Adjusting DNS records ### Extending the configuration
You will also need to add several DNS records so that Postmoogle can send emails. See [Configuring DNS](configuring-dns.md) for details about DNS changes. There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-postmoogle/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
@ -71,15 +95,17 @@ To use the bridge, invite the `@postmoogle:example.com` bot user into a room you
Then send `!pm mailbox NAME` to expose this Matrix room as an inbox with the email address `NAME@matrix.example.com`. Emails sent to that email address will be forwarded to the room. Then send `!pm mailbox NAME` to expose this Matrix room as an inbox with the email address `NAME@matrix.example.com`. Emails sent to that email address will be forwarded to the room.
Send `!pm help` to the room to see the bridge's help menu for additional commands. Send `!pm help` to the bot in the room to see the available commands.
You can also refer to the upstream [documentation](https://github.com/etkecc/postmoogle). You can also refer to the upstream [documentation](https://github.com/etkecc/postmoogle).
### Debug/Logs ## Troubleshooting
As with all other services, you can find their logs in [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html) by running something like `journalctl -fu matrix-postmoogle` 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-postmoogle`.
The default logging level for this bridge is `INFO`, but you can increase it to `DEBUG` with the following additional configuration: ### Increase logging verbosity
The default logging level for this component is `INFO`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml ```yaml
matrix_postmoogle_loglevel: 'DEBUG' matrix_postmoogle_loglevel: 'DEBUG'

View File

@ -1,9 +1,19 @@
<!--
SPDX-FileCopyrightText: 2024 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up WeChat bridging (optional) # Setting up WeChat bridging (optional)
The playbook can install and configure the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge for you (for bridging to the [WeChat](https://www.wechat.com/) network). The playbook can install and configure [matrix-wechat](https://github.com/duo/matrix-wechat) for you, for bridging to [WeChat](https://www.wechat.com/).
See the project's [documentation](https://github.com/duo/matrix-wechat/blob/master/README.md) to learn what it does and why it might be useful to you. See the project's [documentation](https://github.com/duo/matrix-wechat/blob/master/README.md) to learn what it does and why it might be useful to you.
> [!WARNING]
> This bridge does not work against newer versions of Synapse anymore. See [this issue](https://github.com/duo/matrix-wechat/issues/33). Don't even bother installing it. Unless bridge maintenance is resumed and fixes this issue, we have no choice but to remove it from the playbook.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -12,25 +22,45 @@ To enable the bridge, add the following configuration to your `inventory/host_va
matrix_wechat_enabled: true matrix_wechat_enabled: true
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the bridge.
Take a look at:
- `roles/custom/matrix-bridge-wechat/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-bridge-wechat/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_wechat_configuration_extension_yaml` variable
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: 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. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: **Notes**:
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
- The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all` - 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. `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.
## Usage ## Usage
Once the bridge is installed, start a chat with `@wechatbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain). To use the bridge, you need to start a chat with `@wechatbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
Send `help` to the bot to see the available commands. Send `help` to the bot to see the available commands.
## 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-wechat`.
### Increase logging verbosity
The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Valid values: fatal, error, warn, info, debug
matrix_wechat_log_level: 'debug'
```

View File

@ -1,3 +1,12 @@
<!--
SPDX-FileCopyrightText: 2022 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2022 Julian-Samuel Gebühr
SPDX-FileCopyrightText: 2023 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Cactus Comments (optional) # Setting up Cactus Comments (optional)
The playbook can install and configure the [Cactus Comments](https://cactus.chat) system for you. The playbook can install and configure the [Cactus Comments](https://cactus.chat) system for you.
@ -8,43 +17,45 @@ See the project's [documentation](https://cactus.chat/docs/getting-started/intro
The playbook contains 2 roles for configuring different pieces of the Cactus Comments system: The playbook contains 2 roles for configuring different pieces of the Cactus Comments system:
- `matrix-cactus-comments` - the backend appservice integrating with the Matrix homeserver - `matrix-cactus-comments` the backend appservice integrating with the Matrix homeserver
- `matrix-cactus-comments-client` - a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`) - `matrix-cactus-comments-client` a static website server serving the [cactus-client](https://cactus.chat/docs/client/introduction/) static assets (`cactus.js` and `styles.css`)
You can enable whichever component you need (typically both). You can enable whichever component you need (typically both).
## Configuration ## Adjusting DNS records (optional)
By default, this playbook installs Cactus Comments' client on the `matrix.` subdomain, at the `/cactus-comments` path (https://matrix.example.com/cactus-comments). 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.
If you wish to adjust it, see the section [below](#adjusting-the-cactus-comments-client-url-optional) for details about DNS configuration.
## Adjusting the playbook configuration
To enable Cactus Comments, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable Cactus Comments, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
#################
## Cactus Comments ##
#################
# This enables the backend (appservice) # This enables the backend (appservice)
matrix_cactus_comments_enabled: true matrix_cactus_comments_enabled: true
# This enables client assets static files serving on `https://matrix.example.com/cactus-comments`.
# When the backend (appservice) is enabled, this is also enabled automatically, but we explicitly enable it here.
matrix_cactus_comments_client_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_cactus_comments_user_id: "bot.cactusbot"
# To allow guest comments without users needing to log in, you need to have guest registration enabled. # To allow guest comments without users needing to log in, you need to have guest registration enabled.
# To do this you need to uncomment one of the following lines (depending if you are using Synapse or Dendrite as a homeserver) # To do this you need to uncomment one of the following lines (depending if you are using Synapse or Dendrite as a homeserver)
# If you don't know which one you use: The default is Synapse ;) # If you don't know which one you use: The default is Synapse ;)
# matrix_synapse_allow_guest_access: true # matrix_synapse_allow_guest_access: true
# matrix_dendrite_allow_guest_access: true # matrix_dendrite_allow_guest_access: true
# This enables client assets static files serving on `https://matrix.example.com/cactus-comments`.
# When the backend (appservice) is enabled, this is also enabled automatically,
# but we explicitly enable it here.
matrix_cactus_comments_client_enabled: true
``` ```
### Adjusting the Cactus Comments' client URL ### Adjusting the Cactus Comments' client URL (optional)
By default, this playbook installs Cactus Comments' client on the `matrix.` subdomain, at the `/cactus-comments` path (https://matrix.example.com/cactus-comments). 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.
By tweaking the `matrix_cactus_comments_client_hostname` and `matrix_cactus_comments_client_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_cactus_comments_client_hostname` and `matrix_cactus_comments_client_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Change the default hostname and path prefix to host the client assets at a different location # Change the default hostname and path prefix to host the client assets at a different location
@ -53,13 +64,21 @@ matrix_cactus_comments_client_hostname: cactus.example.com
matrix_cactus_comments_client_path_prefix: / matrix_cactus_comments_client_path_prefix: /
``` ```
## Adjusting DNS records If you've changed the default hostname, you may need to create a CNAME record for the Cactus Comments' client domain (`cactus.example.com`), which targets `matrix.example.com`.
If you've changed the default hostname, **you may need to adjust your DNS** records to point the Cactus Comments' client domain to the Matrix server. When setting, replace `example.com` with your own.
See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've decided to use the default hostname, you won't need to do any extra DNS configuration. There are some additional things you may wish to configure about the components.
For `matrix-cactus-comments`, take a look at:
- `roles/custom/matrix-cactus-comments/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
For `matrix-cactus-comments-client`, take a look at:
- `roles/custom/matrix-cactus-comments-client/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
@ -67,24 +86,18 @@ After configuring the playbook and potentially [adjusting your DNS records](#adj
<!-- NOTE: let this conservative command run (instead of install-all) to make it clear that failure of the command means something is clearly broken. --> <!-- 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 ```sh
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
**Notes**: The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account. `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 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.
## Usage ## Usage
Upon starting Cactus Comments, a `bot.cactusbot` user account is created automatically. To use the component, you need to start a chat with `@bot.cactusbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain).
To get started, send a `help` message to the `@bot.cactusbot:example.com` bot to confirm it's working. Then, register a site by sending `register YOUR_SITE_NAME_HERE` (where `YOUR_SITE_NAME_HERE` is a unique identifier you choose. It does not have to match your domain). You will then be invited into a moderation room.
Then, register a site by sending `register <YourSiteName>` (where `<YourSiteName>` is a unique identifier you choose. It does not have to match your domain). You will then be invited into a moderation room.
Now you are good to go and can embed the comment section on your website! Now you are good to go and can embed the comment section on your website!
@ -98,7 +111,7 @@ After including the JavaScript and CSS asset files, insert a `<div>` where you'd
<div id="comment-section"></div> <div id="comment-section"></div>
```` ````
Then, you need to initialize the comment section. Make sure to replace `example.com` with your base domain and `<YourSiteName>` with the one that has been registered above: Then, you need to initialize the comment section. Make sure to replace `example.com` with your base domain and `YOUR_SITE_NAME_HERE` with the one that has been registered above:
```html ```html
<script> <script>
@ -106,7 +119,7 @@ initComments({
node: document.getElementById("comment-section"), node: document.getElementById("comment-section"),
defaultHomeserverUrl: "https://matrix.example.com:8448", defaultHomeserverUrl: "https://matrix.example.com:8448",
serverName: "example.com", serverName: "example.com",
siteName: "<YourSiteName>", siteName: "YOUR_SITE_NAME_HERE",
commentSectionId: "1" commentSectionId: "1"
}) })
</script> </script>
@ -124,3 +137,18 @@ Make sure to replace `example.com` with your base domain before you include the
``` ```
**Note**: if the `matrix_cactus_comments_client_hostname` and `matrix_cactus_comments_client_path_prefix` variables are tweaked, you would need to adjust the URLs of the assets accordingly. **Note**: if the `matrix_cactus_comments_client_hostname` and `matrix_cactus_comments_client_path_prefix` variables are tweaked, you would need to adjust the URLs of the assets accordingly.
## 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-cactus-comments` for the backend appservice or `journalctl -fu matrix-cactus-comments-client` for the server serving the client assets, respectively.
### Increase logging verbosity
It is possible to increase logging verbosity for `matrix-cactus-comments-client`. The default logging level for this component is `error`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
# Controls the SERVER_LOG_LEVEL environment variable.
# See: https://static-web-server.net/configuration/environment-variables/
# Valid values: error, warn, info, debug, trace
matrix_cactus_comments_client_environment_variable_server_log_level: debug
```

View File

@ -1,6 +1,14 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Cinny (optional) # Setting up Cinny (optional)
This playbook can install the [Cinny](https://github.com/ajbura/cinny) Matrix web client for you. The playbook can install and configure the [Cinny](https://github.com/ajbura/cinny) Matrix web client for you.
Cinny is a web client focusing primarily on simple, elegant and secure interface. It can be installed alongside or instead of [Element Web](./configuring-playbook-client-element-web.md). Cinny is a web client focusing primarily on simple, elegant and secure interface. It can be installed alongside or instead of [Element Web](./configuring-playbook-client-element-web.md).
@ -8,6 +16,12 @@ Cinny is a web client focusing primarily on simple, elegant and secure interface
- [app.cinny.in](https://app.cinny.in), hosted by the [Cinny](https://cinny.in/) developers - [app.cinny.in](https://app.cinny.in), hosted by the [Cinny](https://cinny.in/) developers
## Adjusting DNS records
By default, this playbook installs Cinny on the `cinny.` subdomain (`cinny.example.com`) and requires you to create a CNAME record for `cinny`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Cinny, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable Cinny, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -16,28 +30,32 @@ To enable Cinny, add the following configuration to your `inventory/host_vars/ma
matrix_client_cinny_enabled: true matrix_client_cinny_enabled: true
``` ```
### Adjusting the Cinny URL ### Adjusting the Cinny URL (optional)
By default, this playbook installs Cinny on the `cinny.` subdomain (`cinny.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_client_cinny_hostname` variable, you can easily make the service available at a **different hostname** than the default one. By tweaking the `matrix_client_cinny_hostname` variable, you can easily make the service available at a **different hostname** than the default one.
While a `matrix_client_cinny_path_prefix` variable exists for tweaking the path-prefix, it's [not supported anymore](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3701), because Cinny requires an application rebuild (with a tweaked build config) to be functional under a custom path. Example additional configuration for your `vars.yml` file:
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml ```yaml
# Switch to a different domain (`app.example.com`) than the default one (`cinny.example.com`) # Switch to a different domain (`app.example.com`) than the default one (`cinny.example.com`)
matrix_client_cinny_hostname: "app.{{ matrix_domain }}" matrix_client_cinny_hostname: "app.{{ matrix_domain }}"
# Expose under the /cinny subpath
# matrix_client_cinny_path_prefix: /cinny
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the Cinny domain to the Matrix server.
Once you've decided on the domain, **you may need to adjust your DNS** records to point the Cinny domain to the Matrix server. **Note**: while there is a `matrix_client_cinny_path_prefix` variable for changing the path where Cinny is served, overriding it is [not possible](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3701), because Cinny requires an application rebuild (with a tweaked build config) to be functional under a custom path. You'd need to serve Cinny at a dedicated subdomain.
By default, you will need to create a CNAME record for `cinny`. See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
If you've adjusted `matrix_client_cinny_hostname`, you will need to adjust your DNS configuration accordingly. There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-client-cinny/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-client-cinny/templates/config.json.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_cinny_configuration_extension_json` variable
## Installing ## Installing
@ -51,3 +69,7 @@ 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` 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. `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.
## 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-client-cinny`.

View File

@ -1,53 +1,83 @@
<!--
SPDX-FileCopyrightText: 2020 - 2022 MDAD project contributors
SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2020 Aaron Raimist
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Element Web (optional) # Configuring Element Web (optional)
By default, this playbook installs the [Element Web](https://github.com/element-hq/element-web) Matrix client for you. If that's okay, you can skip this document. By default, this playbook installs the [Element Web](https://github.com/element-hq/element-web) Matrix client for you. If that's okay, you can skip this document.
If you'd like to stop the playbook installing the client, see the section [below](#disabling-element-web) to check the configuration for disabling it.
💡 **Note**: the latest version of Element Web is also available on the web, hosted by 3rd parties. If you trust giving your credentials to the following 3rd party Single Page Applications, you can consider using it from there and avoiding the (small) overhead of self-hosting (by [disabling Element Web](#disabling-element-web)): 💡 **Note**: the latest version of Element Web is also available on the web, hosted by 3rd parties. If you trust giving your credentials to the following 3rd party Single Page Applications, you can consider using it from there and avoiding the (small) overhead of self-hosting (by [disabling Element Web](#disabling-element-web)):
- [app.element.io](https://app.element.io/), hosted by [Element](https://element.io/) - [app.element.io](https://app.element.io/), hosted by [Element](https://element.io/)
- [app.etke.cc](https://app.etke.cc/), hosted by [etke.cc](https://etke.cc/) - [app.etke.cc](https://app.etke.cc/), hosted by [etke.cc](https://etke.cc/)
## Disabling Element Web ## Adjusting DNS records
If you'd like for the playbook to not install Element Web (or to uninstall it if it was previously installed), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: By default, this playbook installs Element Web on the `element.` subdomain (`element.example.com`) and requires you to create a CNAME record for `element`, which targets `matrix.example.com`.
```yaml When setting, replace `example.com` with your own.
matrix_client_element_enabled: false
```
## Adjusting the playbook configuration ## Adjusting the playbook configuration
The playbook provides some customization variables you could use to change Element Web's settings. ### Set the country code for phone number inputs
Their defaults are defined in [`roles/custom/matrix-client-element/defaults/main.yml`](../roles/custom/matrix-client-element/defaults/main.yml) and they ultimately end up in the generated `/matrix/element/config.json` file (on the server). This file is generated from the [`roles/custom/matrix-client-element/templates/config.json.j2`](../roles/custom/matrix-client-element/templates/config.json.j2) template. You can change the country code (default: `GB`) to use when showing phone number inputs. To change it to `FR` for example, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
**If there's an existing variable** which controls a setting you wish to change, you can simply define that variable in your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) and [re-run the playbook](installing.md) to apply the changes. ```yaml
matrix_client_element_default_country_code: "FR"
Alternatively, **if there is no pre-defined variable** for an Element Web setting you wish to change: ```
- you can either **request a variable to be created** (or you can submit such a contribution yourself). Keep in mind that it's **probably not a good idea** to create variables for each one of Element Web's various settings that rarely get used.
- or, you can **extend and override the default configuration** ([`config.json.j2`](../roles/custom/matrix-client-element/templates/config.json.j2)) by making use of the `matrix_client_element_configuration_extension_json_` variable. You can find information about this in [`roles/custom/matrix-client-element/defaults/main.yml`](../roles/custom/matrix-client-element/defaults/main.yml).
- or, if extending the configuration is still not powerful enough for your needs, you can **override the configuration completely** using `matrix_client_element_configuration_default` (or `matrix_client_element_configuration`). You can find information about this in [`roles/custom/matrix-client-element/defaults/main.yml`](../roles/custom/matrix-client-element/defaults/main.yml).
### Themes ### Themes
To change the look of Element Web, you can define your own themes manually by using the `matrix_client_element_setting_defaults_custom_themes` setting. #### Change the default theme
Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_element_themes_enabled: true`). You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `vars.yml` file:
If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it. ```yaml
# Controls the default theme
matrix_client_element_default_theme: 'dark'
```
#### Use themes by `element-themes`
You can change the look of Element Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually.
To pull the themes and use them for your Element Web instance, add the following configuration to your `vars.yml` file:
```yaml
matrix_client_element_themes_enabled: true
```
If the variable is set to `true`, all themes found in the repository specified with `matrix_client_element_themes_repository_url` will be installed and enabled automatically.
Note that for a custom theme to work well, all Element Web instances that you use must have the same theme installed. Note that for a custom theme to work well, all Element Web instances that you use must have the same theme installed.
### Adjusting the Element Web URL #### Define themes manually
By default, this playbook installs Element Web on the `element.` subdomain (`element.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records). You can also define your own themes manually by adding and adjusting the following configuration to your `vars.yml` file:
```yaml
# Controls the `setting_defaults.custom_themes` setting of the Element Web configuration.
matrix_client_element_setting_defaults_custom_themes: []
```
If you define your own themes with it and set `matrix_client_element_themes_enabled` to `true` for the themes by `element-themes`, your themes will be preserved as well.
If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it.
### Adjusting the Element Web URL (optional)
By tweaking the `matrix_client_element_hostname` and `matrix_client_element_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_client_element_hostname` and `matrix_client_element_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
@ -58,14 +88,45 @@ matrix_client_element_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_client_element_path_prefix: /element matrix_client_element_path_prefix: /element
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the Element domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Element Web domain to the Matrix server.
By default, you will need to create a CNAME record for `element`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
### Extending the configuration
There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-client-element/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-client-element/templates/config.json.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_element_configuration_extension_json` variable
For example, to override some Element Web settings, add the following configuration to your `vars.yml` file:
```yaml
# Your custom JSON configuration for Element Web should go to `matrix_client_element_configuration_extension_json`.
# This configuration extends the default starting configuration (`matrix_client_element_configuration_default`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_client_element_configuration_default`.
#
matrix_client_element_configuration_extension_json: |
{
"disable_3pid_login": true,
"disable_login_language_selector": true
}
```
## Disabling Element Web
If you'd like for the playbook to not install Element Web (or to uninstall it if it was previously installed), add the following configuration to your `vars.yml` file:
```yaml
matrix_client_element_enabled: false
```
## Installing ## 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: After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:
@ -78,3 +139,7 @@ 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` 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. `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.
## 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-client-element`.

View File

@ -0,0 +1,66 @@
<!--
SPDX-FileCopyrightText: 2025 Nikita Chernyi
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up FluffyChat Web (optional)
The playbook can install and configure the [FluffyChat Web](https://github.com/krille-chan/fluffychat) Matrix client for you.
FluffyChat Web is a cute cross-platform (web, iOS, Android) messenger for Matrix written in [Flutter](https://flutter.dev/).
💡 **Note**: the latest version of FluffyChat Web is also available on the web, hosted by 3rd parties. If you trust giving your credentials to the following 3rd party Single Page Application, you can consider using it from there:
- [fluffychat.im](https://fluffychat.im/web), hosted by the [FluffyChat](https://fluffychat.im/) developers
## Adjusting DNS records
By default, this playbook installs FluffyChat Web on the `fluffychat.` subdomain (`fluffychat.example.com`) and requires you to create a CNAME record for `fluffychat`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration
To enable FluffyChat Web, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_client_fluffychat_enabled: true
```
### Adjusting the FluffyChat Web URL (optional)
By tweaking the `matrix_client_fluffychat_hostname` and `matrix_client_fluffychat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `vars.yml` file:
```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`),
# so we won't need to add additional DNS records for FluffyChat Web.
matrix_client_fluffychat_hostname: "{{ matrix_server_fqn_matrix }}"
# Expose under the /fluffychat subpath
matrix_client_fluffychat_path_prefix: /fluffychat
```
After changing the domain, **you may need to adjust your DNS** records to point the FluffyChat Web domain to the Matrix server.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
## 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.
## 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-client-fluffychat`.

View File

@ -1,9 +1,24 @@
<!--
SPDX-FileCopyrightText: 2021 Aaron Raimist
SPDX-FileCopyrightText: 2021 MDAD project contributors
SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty
SPDX-FileCopyrightText: 2024 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Hydrogen (optional) # Setting up Hydrogen (optional)
This playbook can install the [Hydrogen](https://github.com/element-hq/hydrogen-web) Matrix web client for you. The playbook can install and configure the [Hydrogen](https://github.com/element-hq/hydrogen-web) Matrix web client for you.
Hydrogen is a lightweight web client that supports mobile and legacy web browsers. It can be installed alongside or instead of Element Web. Hydrogen is a lightweight web client that supports mobile and legacy web browsers. It can be installed alongside or instead of Element Web.
## Adjusting DNS records
By default, this playbook installs Hydrogen on the `hydrogen.` subdomain (`hydrogen.example.com`) and requires you to create a CNAME record for `hydrogen`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Hydrogen, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable Hydrogen, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -12,13 +27,11 @@ To enable Hydrogen, add the following configuration to your `inventory/host_vars
matrix_client_hydrogen_enabled: true matrix_client_hydrogen_enabled: true
``` ```
### Adjusting the Hydrogen URL ### Adjusting the Hydrogen URL (optional)
By default, this playbook installs Hydrogen on the `hydrogen.` subdomain (`hydrogen.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_client_hydrogen_hostname` and `matrix_client_hydrogen_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_client_hydrogen_hostname` and `matrix_client_hydrogen_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
@ -29,14 +42,19 @@ matrix_client_hydrogen_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_client_hydrogen_path_prefix: /hydrogen matrix_client_hydrogen_path_prefix: /hydrogen
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the Hydrogen domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Hydrogen domain to the Matrix server.
By default, you will need to create a CNAME record for `hydrogen`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
### Extending the configuration
There are some additional things you may wish to configure about the client.
Take a look at:
- `roles/custom/matrix-client-hydrogen/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-client-hydrogen/templates/config.json.j2` for the client's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_hydrogen_configuration_extension_json` variable
## Installing ## 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: After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:
@ -49,3 +67,7 @@ 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` 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. `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.
## 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-client-hydrogen`.

View File

@ -1,6 +1,14 @@
<!--
SPDX-FileCopyrightText: 2023 Nikita Chernyi
SPDX-FileCopyrightText: 2023 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up SchildiChat Web (optional) # Setting up SchildiChat Web (optional)
This playbook can install the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) Matrix client for you. The playbook can install and configure the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) Matrix client for you.
SchildiChat Web is a feature-rich messenger for Matrix based on Element Web with some extras and tweaks. It can be installed alongside or instead of Element Web. SchildiChat Web is a feature-rich messenger for Matrix based on Element Web with some extras and tweaks. It can be installed alongside or instead of Element Web.
@ -8,6 +16,12 @@ SchildiChat Web is a feature-rich messenger for Matrix based on Element Web with
- [app.schildi.chat](https://app.schildi.chat/), hosted by the [SchildiChat](https://schildi.chat/) developers - [app.schildi.chat](https://app.schildi.chat/), hosted by the [SchildiChat](https://schildi.chat/) developers
## Adjusting DNS records
By default, this playbook installs SchildiChat Web on the `schildichat.` subdomain (`schildichat.example.com`) and requires you to create a CNAME record for `schildichat`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable SchildiChat Web, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To enable SchildiChat Web, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -16,37 +30,57 @@ To enable SchildiChat Web, add the following configuration to your `inventory/ho
matrix_client_schildichat_enabled: true matrix_client_schildichat_enabled: true
``` ```
The playbook provides some customization variables you could use to change SchildiChat Web's settings. ### Set the country code for phone number inputs
Their defaults are defined in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml) and they ultimately end up in the generated `/matrix/schildichat/config.json` file (on the server). This file is generated from the [`roles/custom/matrix-client-schildichat/templates/config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2) template. You can change the country code (default: `GB`) to use when showing phone number inputs. To change it to `FR` for example, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
**If there's an existing variable** which controls a setting you wish to change, you can simply define that variable in your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) and [re-run the playbook](installing.md) to apply the changes. ```yaml
matrix_client_schildichat_default_country_code: "FR"
Alternatively, **if there is no pre-defined variable** for a SchildiChat Web setting you wish to change: ```
- you can either **request a variable to be created** (or you can submit such a contribution yourself). Keep in mind that it's **probably not a good idea** to create variables for each one of SchildiChat Web's various settings that rarely get used.
- or, you can **extend and override the default configuration** ([`config.json.j2`](../roles/custom/matrix-client-schildichat/templates/config.json.j2)) by making use of the `matrix_client_schildichat_configuration_extension_json_` variable. You can find information about this in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml).
- or, if extending the configuration is still not powerful enough for your needs, you can **override the configuration completely** using `matrix_client_schildichat_configuration_default` (or `matrix_client_schildichat_configuration`). You can find information about this in [`roles/custom/matrix-client-schildichat/defaults/main.yml`](../roles/custom/matrix-client-schildichat/defaults/main.yml).
### Themes ### Themes
To change the look of SchildiChat Web, you can define your own themes manually by using the `matrix_client_schildichat_setting_defaults_custom_themes` setting. #### Change the default theme
Or better yet, you can automatically pull it all themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project by simply flipping a flag (`matrix_client_schildichat_themes_enabled: true`). You can change the default theme from `light` to `dark`. To do so, add the following configuration to your `vars.yml` file:
If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it. ```yaml
# Controls the default theme
matrix_client_schildichat_default_theme: 'dark'
```
#### Use themes by `element-themes`
You can change the look of SchildiChat Web by pulling themes provided by the [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes) project or defining your own themes manually.
To pull the themes and use them for your SchildiChat Web instance, add the following configuration to your `vars.yml` file:
```yaml
matrix_client_schildichat_themes_enabled: true
```
If the variable is set to `true`, all themes found in the repository specified with `matrix_client_schildichat_themes_repository_url` will be installed and enabled automatically.
Note that for a custom theme to work well, all SchildiChat Web instances that you use must have the same theme installed. Note that for a custom theme to work well, all SchildiChat Web instances that you use must have the same theme installed.
### Adjusting the SchildiChat Web URL #### Define themes manually
By default, this playbook installs SchildiChat Web on the `schildichat.` subdomain (`schildichat.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records). You can also define your own themes manually by adding and adjusting the following configuration to your `vars.yml` file:
```yaml
# Controls the `setting_defaults.custom_themes` setting of the SchildiChat Web configuration.
matrix_client_schildichat_setting_defaults_custom_themes: []
```
If you define your own themes with it and set `matrix_client_schildichat_themes_enabled` to `true` for the themes by `element-themes`, your themes will be preserved as well.
If you make your own theme, we encourage you to submit it to the **aaronraimist/element-themes** project, so that the whole community could easily enjoy it.
### Adjusting the SchildiChat Web URL (optional)
By tweaking the `matrix_client_schildichat_hostname` and `matrix_client_schildichat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_client_schildichat_hostname` and `matrix_client_schildichat_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
@ -57,14 +91,37 @@ matrix_client_schildichat_hostname: "{{ matrix_server_fqn_matrix }}"
matrix_client_schildichat_path_prefix: /schildichat matrix_client_schildichat_path_prefix: /schildichat
``` ```
## Adjusting DNS records After changing the domain, **you may need to adjust your DNS** records to point the SchildiChat Web domain to the Matrix server.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the SchildiChat Web domain to the Matrix server.
By default, you will need to create a CNAME record for `schildichat`. See [Configuring DNS](configuring-dns.md) for details about DNS changes.
If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration. If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
### Extending the configuration
There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-client-schildichat/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-client-schildichat/templates/config.json.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_client_schildichat_configuration_extension_json` variable
For example, to override some SchildiChat Web settings, add the following configuration to your `vars.yml` file:
```yaml
# Your custom JSON configuration for SchildiChat Web should go to `matrix_client_schildichat_configuration_extension_json`.
# This configuration extends the default starting configuration (`matrix_client_schildichat_configuration_default`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_client_schildichat_configuration_default`.
#
matrix_client_schildichat_configuration_extension_json: |
{
"disable_3pid_login": true,
"disable_login_language_selector": true
}
```
## Installing ## 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: After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:
@ -77,3 +134,7 @@ 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` 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. `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.
## 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-client-schildichat`.

View File

@ -1,27 +1,53 @@
<!--
SPDX-FileCopyrightText: 2022 - 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Conduit (optional) # Configuring Conduit (optional)
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Conduit](https://conduit.rs). The playbook can install and configure the [Conduit](https://conduit.rs) Matrix server for you.
**Notes**: See the project's [documentation](https://docs.conduit.rs/) to learn what it does and why it might be useful to you.
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Conduit). 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. 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.
- **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 💡 **Note**: The playbook also supports installing a (currently) faster-moving Conduit fork called [conduwuit](./configuring-playbook-conduwuit.md).
> [!WARNING]
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Conduit). 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 ## Adjusting the playbook configuration
To use Conduit, you **generally** need to add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To use Conduit, 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 ```yaml
matrix_homeserver_implementation: conduit matrix_homeserver_implementation: conduit
``` ```
### Extending the configuration
There are some additional things you may wish to configure about the server.
Take a look at:
- `roles/custom/matrix-conduit/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-conduit/templates/conduit.toml.j2` for the server's default configuration
If you'd like to have your own different configuration, feel free to copy and paste the original files into your inventory (e.g. in `inventory/host_vars/matrix.example.com/`) and then change the specific host's `vars.yml` file like this:
```yaml
matrix_conduit_template_conduit_config: "{{ playbook_dir }}/inventory/host_vars/matrix.example.com/conduit.toml.j2"
```
## Creating the first user account ## Creating the first user account
Since it is difficult to create the first user account on Conduit (see [famedly/conduit#276](https://gitlab.com/famedly/conduit/-/issues/276) and [famedly/conduit#354](https://gitlab.com/famedly/conduit/-/merge_requests/354)) and it does not support [registering users](registering-users.md) (via the command line or via the playbook) like Synapse and Dendrite do, we recommend the following procedure: Since it is difficult to create the first user account on Conduit (see [famedly/conduit#276](https://gitlab.com/famedly/conduit/-/issues/276) and [famedly/conduit#354](https://gitlab.com/famedly/conduit/-/merge_requests/354)) and it does not support [registering users](registering-users.md) (via the command line or via the playbook) like Synapse and Dendrite do, we recommend the following procedure:
1. Add `matrix_conduit_allow_registration: true` to your `vars.yml` the first time around, temporarily 1. Add `matrix_conduit_allow_registration: true` to your `vars.yml` the first time around, temporarily
2. Run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` - see [Installing](installing.md)) 2. Run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` see [Installing](installing.md))
3. Create your first user via Element Web or any other client which supports creating users 3. Create your first user via Element Web or any other client which supports creating users
4. Get rid of `matrix_conduit_allow_registration: true` from your `vars.yml` 4. Get rid of `matrix_conduit_allow_registration: true` from your `vars.yml`
5. Run the playbook again (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-conduit,start` would be enough this time) 5. Run the playbook again (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-conduit,start` would be enough this time)
@ -29,9 +55,9 @@ Since it is difficult to create the first user account on Conduit (see [famedly/
## Configuring bridges / appservices ## Configuring bridges / appservices
Automatic appservice setup is currently unsupported when using Conduit. After setting up the service as usual you may notice that it is unable to start. For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver.
You will have to manually register appservices using the the [register-appservice](https://gitlab.com/famedly/conduit/-/blob/next/APPSERVICES.md) command. For Conduit, you will have to manually register appservices using the the [register-appservice](https://gitlab.com/famedly/conduit/-/blob/next/APPSERVICES.md) command.
Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`, then pass the content to Conduit: Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`, then pass the content to Conduit:
@ -39,6 +65,7 @@ Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/ma
``` ```
as_token: <token> as_token: <token>
de.sorunome.msc2409.push_ephemeral: true de.sorunome.msc2409.push_ephemeral: true
receive_ephemeral: true
hs_token: <token> hs_token: <token>
id: signal id: signal
namespaces: namespaces:
@ -54,3 +81,7 @@ Find the `registration.yaml` in the `/matrix` directory, for example `/matrix/ma
sender_localpart: _bot_signalbot sender_localpart: _bot_signalbot
url: http://matrix-mautrix-signal:29328 url: http://matrix-mautrix-signal:29328
``` ```
## 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-conduit`.

View File

@ -0,0 +1,106 @@
<!--
SPDX-FileCopyrightText: 2025 Slavi Pantaleev
SPDX-FileCopyrightText: 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring conduwuit (optional)
The playbook can install and configure the [conduwuit](https://conduwuit.puppyirl.gay/) Matrix server for you.
See the project's [documentation](https://conduwuit.puppyirl.gay/) 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**: conduwuit is a fork of [Conduit](./configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html).
> [!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
To use conduwuit, 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: conduwuit
# Registering users can only happen via the API,
# so it makes sense to enable it, at least initially.
matrix_conduwuit_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_conduwuit_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-conduwuit/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-conduwuit/templates/conduwuit.toml.j2` for the server's default configuration
There are various Ansible variables that control settings in the `conduwuit.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://conduwuit.puppyirl.gay/configuration.html#environment-variables) using `matrix_conduwuit_environment_variables_extension`. For example:
```yaml
matrix_conduwuit_environment_variables_extension: |
CONDUWUIT_MAX_REQUEST_SIZE=50000000
CONDUWUIT_REQUEST_TIMEOUT=60
```
## Creating the first user account
Unlike other homeserver implementations (like Synapse and Dendrite), conduwuit 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 conduwuit, you will have to manually register appservices using the [`!admin appservices register` command](https://conduwuit.puppyirl.gay/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 `@conduwuit:example.com`!) due to conduwuit'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
```
## 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-conduwuit`.

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

@ -1,34 +1,60 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD project contributors
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-FileCopyrightText: 2024 Slavi Pantaleev
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Dendrite (optional) # Configuring Dendrite (optional)
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Dendrite](https://github.com/matrix-org/dendrite). The playbook can install and configure the [Dendrite](https://github.com/element-hq/dendrite) Matrix server for you.
**Notes**: See the project's [documentation](https://element-hq.github.io/dendrite/) to learn what it does and why it might be useful to you.
- **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Dendrite). 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. 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.
- **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 > [!WARNING]
> - **You can't switch an existing Matrix server's implementation** (e.g. Synapse -> Dendrite). 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 ## Adjusting the playbook configuration
To use Dendrite, you **generally** need to add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: To use Dendrite, 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 ```yaml
matrix_homeserver_implementation: dendrite matrix_homeserver_implementation: dendrite
``` ```
The playbook provides lots of customization variables you could use to change Dendrite's settings. ### Extending the configuration
Their defaults are defined in [`roles/custom/matrix-dendrite/defaults/main.yml`](../roles/custom/matrix-dendrite/defaults/main.yml) and they ultimately end up in the generated `/matrix/dendrite/config/dendrite.yaml` file (on the server). This file is generated from the [`roles/custom/matrix-dendrite/templates/dendrite/dendrite.yaml.j2`](../roles/custom/matrix-dendrite/templates/dendrite/dendrite.yaml.j2) template. There are some additional things you may wish to configure about the server.
**If there's an existing variable** which controls a setting you wish to change, you can simply define that variable in your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) and [re-run the playbook](installing.md) to apply the changes. Take a look at:
Alternatively, **if there is no pre-defined variable** for a Dendrite setting you wish to change: - `roles/custom/matrix-dendrite/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-dendrite/templates/dendrite.yaml.j2` for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_dendrite_configuration_extension_yaml` variable
- you can either **request a variable to be created** (or you can submit such a contribution yourself). Keep in mind that it's **probably not a good idea** to create variables for each one of Dendrite's various settings that rarely get used. For example, to override some Dendrite settings, add the following configuration to your `vars.yml` file:
- or, you can **extend and override the default configuration** ([`dendrite.yaml.j2`](../roles/custom/matrix-dendrite/templates/dendrite/dendrite.yaml.j2)) by making use of the `matrix_dendrite_configuration_extension_yaml` variable. You can find information about this in [`roles/custom/matrix-dendrite/defaults/main.yml`](../roles/custom/matrix-dendrite/defaults/main.yml). ```yaml
matrix_dendrite_configuration_extension_yaml: |
- or, if extending the configuration is still not powerful enough for your needs, you can **override the configuration completely** using `matrix_dendrite_configuration` (or `matrix_dendrite_configuration_yaml`). You can find information about this in [`roles/custom/matrix-dendrite/defaults/main.yml`](../roles/custom/matrix-dendrite/defaults/main.yml). # Your custom YAML configuration for Dendrite goes here.
# This configuration extends the default starting configuration (`matrix_dendrite_configuration_yaml`).
#
# You can override individual variables from the default configuration, or introduce new ones.
#
# If you need something more special, you can take full control by
# completely redefining `matrix_dendrite_configuration_yaml`.
#
# Example configuration extension follows:
#
server_notices:
system_mxid_localpart: notices
system_mxid_display_name: "Server Notices"
system_mxid_avatar_url: "mxc://example.com/oumMVlgDnLYFaPVkExemNVVZ"
room_name: "Server Notices"
```
## Installing ## Installing
@ -42,3 +68,18 @@ 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` 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. `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.
## 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-dendrite`.
### Increase logging verbosity
The default logging level for this component is `warning`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:
```yaml
matrix_dendrite_configuration_extension_yaml: |
logging:
- type: std
level: debug
```

View File

@ -1,22 +1,76 @@
<!--
SPDX-FileCopyrightText: 2019 - 2024 Slavi Pantaleev
SPDX-FileCopyrightText: 2019 - 2025 MDAD project contributors
SPDX-FileCopyrightText: 2019 Edgars Voroboks
SPDX-FileCopyrightText: 2020 Chris van Dijk
SPDX-FileCopyrightText: 2020 jens quade
SPDX-FileCopyrightText: 2022 Dennis Ciba
SPDX-FileCopyrightText: 2022 Kim Brose
SPDX-FileCopyrightText: 2022 Travis Ralston
SPDX-FileCopyrightText: 2022 Yan Minagawa
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Dimension integration manager (optional, unmaintained) # Setting up Dimension integration manager (optional, unmaintained)
**[Dimension](https://dimension.t2bot.io) can only be installed after Matrix services are installed and running.** If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later. **Notes**:
- Dimension is **[officially unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299)**. We recommend not bothering with installing it.
- This playbook now supports running Dimension in both a federated and [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environments. This is handled automatically based on the value of `matrix_homeserver_federation_enabled`.
**Note**: Dimension is **[officially unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299)**. We recommend not bothering with installing it. The playbook can install and configure the [Dimension](https://dimension.t2bot.io) integration manager for you.
**Note**: This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environments. This is handled automatically based on the value of `matrix_homeserver_federation_enabled`. Enabling Dimension, means that the `openid` API endpoints will be exposed on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. It's something to be aware of, especially in terms of firewall whitelisting (make sure port `8448` is accessible). See the project's [documentation](https://github.com/turt2live/matrix-dimension/blob/master/README.md) to learn what it does and why it might be useful to you.
## Prerequisites
### Open Matrix Federation port
Enabling the Dimension service will automatically reconfigure your Synapse homeserver to expose the `openid` API endpoints on the Matrix Federation port (usually `8448`), even if [federation](configuring-playbook-federation.md) is disabled. If you enable the component, make sure that the port is accessible.
### Install Matrix services
Dimension can only be installed after Matrix services are installed and running. If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) and come back here later.
### Register a dedicated Matrix user (optional, recommended)
We recommend that you create a dedicated Matrix user for Dimension (`dimension` is a good username).
Generate a strong password for the user. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
```sh
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=dimension password=PASSWORD_FOR_THE_USER admin=no' --tags=register-user
```
### Obtain an access token
Dimension requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
> [!WARNING]
> Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting DNS records
By default, this playbook installs Dimension on the `dimension.` subdomain (`dimension.example.com`) and requires you to create a CNAME record for `dimension`, which targets `matrix.example.com`.
When setting, replace `example.com` with your own.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
To enable Dimension, add this to your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`): To enable Dimension, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml ```yaml
matrix_dimension_enabled: true matrix_dimension_enabled: true
matrix_dimension_access_token: "ACCESS_TOKEN_HERE"
``` ```
### Define admin users ### Define admin users
These users can modify the integrations this Dimension supports. Add this to your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`): To define admin users who can modify the integrations this Dimension supports, add the following configuration to your `vars.yml` file:
```yaml ```yaml
matrix_dimension_admins: matrix_dimension_admins:
@ -26,29 +80,11 @@ matrix_dimension_admins:
The admin interface is accessible within Element Web by accessing it in any room and clicking the cog wheel/settings icon in the top right. Currently, Dimension can be opened in Element Web by the "Add widgets, bridges, & bots" link in the room information. The admin interface is accessible within Element Web by accessing it in any room and clicking the cog wheel/settings icon in the top right. Currently, Dimension can be opened in Element Web by the "Add widgets, bridges, & bots" link in the room information.
### Access token ### Adjusting the Dimension URL (optional)
We recommend that you create a dedicated Matrix user for Dimension (`dimension` is a good username). Follow our [Registering users](registering-users.md) guide to learn how to register **a regular (non-admin) user**.
You are required to specify an access token (belonging to this new user) for Dimension to work. To get an access token for the Dimension user, you can follow the documentation on [how to do obtain an access token](obtaining-access-tokens.md).
**Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
Add access token to your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`):
```yaml
matrix_dimension_access_token: "YOUR ACCESS TOKEN HERE"
```
For more information on how to acquire an access token, visit [https://t2bot.io/docs/access_tokens](https://t2bot.io/docs/access_tokens).
### Adjusting the Dimension URL
By default, this playbook installs Dimension on the `dimension.` subdomain (`dimension.example.com`) and requires you to [adjust your DNS records](#adjusting-dns-records).
By tweaking the `matrix_dimension_hostname` and `matrix_dimension_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. By tweaking the `matrix_dimension_hostname` and `matrix_dimension_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one.
Example additional configuration for your `inventory/host_vars/matrix.example.com/vars.yml` file: Example additional configuration for your `vars.yml` file:
```yaml ```yaml
# Switch to the domain used for Matrix services (`matrix.example.com`), # Switch to the domain used for Matrix services (`matrix.example.com`),
@ -59,13 +95,22 @@ matrix_dimension_hostname: "{{ matrix_server_fqn_matrix }}"
# matrix_dimension_path_prefix: /dimension # matrix_dimension_path_prefix: /dimension
``` ```
**Note**: While there is a `matrix_dimension_path_prefix` variable for changing the path where Dimension is served, overriding it is not possible due to [this Dimension issue](https://github.com/turt2live/matrix-dimension/issues/510). You must serve Dimension at a dedicated subdomain. After changing the domain, **you may need to adjust your DNS** records to point the Dimension domain to the Matrix server.
## Adjusting DNS records If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration.
Once you've decided on the domain and path, **you may need to adjust your DNS** records to point the Dimension domain to the Matrix server. **Note**: while there is a `matrix_dimension_path_prefix` variable for changing the path where Dimension is served, overriding it is not possible due to [this Dimension issue](https://github.com/turt2live/matrix-dimension/issues/510). You'd need to serve Dimension at a dedicated subdomain.
By default, you will need to create a CNAME record for `dimension`. See [Configuring DNS](configuring-dns.md) for details about DNS changes. ### Extending the configuration
There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-dimension/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
- `roles/custom/matrix-dimension/templates/config.yaml.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_dimension_configuration_extension_yaml` variable
You can find all configuration options on [GitHub page of Dimension project](https://github.com/turt2live/matrix-dimension/blob/master/config/default.yaml).
## Installing ## Installing
@ -82,16 +127,18 @@ ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
`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. `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.
- After Dimension has been installed you may need to log out and log back in for it to pick up the new integration manager. Then you can access integrations in Element Web by opening a room, clicking the Room info button (`i`) button in the top right corner of the screen, and then clicking Add widgets, bridges & bots. ## Usage
## Jitsi domain After Dimension has been installed you may need to log out and log back in for it to pick up the new integration manager. Then you can access integrations in Element Web by opening a room, clicking the room info button (`i`) on the top right corner, and then clicking the "Add widgets, bridges, & bots" link.
By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](./configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. Currently there is no way to configure this via the playbook, see [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details. ### Set up a Jitsi widget
In the interim until the above limitation is resolved, an admin user needs to configure the domain via the admin ui once dimension is running. In Element Web, go to *Manage Integrations* &rightarrow; *Settings* &rightarrow; *Widgets* &rightarrow; *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately. By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance.
## Additional features To set up the widget, an admin user needs to configure the domain via the admin UI once Dimension is running. In Element Web, go to *Manage Integrations**Settings**Widgets**Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately.
To use a more custom configuration, you can define a `matrix_dimension_configuration_extension_yaml` string variable and put your configuration in it. To learn more about how to do this, refer to the information about `matrix_dimension_configuration_extension_yaml` in the [default variables file](../roles/custom/matrix-dimension/defaults/main.yml) of the Dimension component. There is unfortunately no way to configure the widget via the playbook. See [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details.
You can find all configuration options on [GitHub page of Dimension project](https://github.com/turt2live/matrix-dimension/blob/master/config/default.yaml). ## 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-dimension`.

View File

@ -1,3 +1,11 @@
<!--
SPDX-FileCopyrightText: 2020 Scott Crossen
SPDX-FileCopyrightText: 2020 Slavi Pantaleev
SPDX-FileCopyrightText: 2024 - 2025 Suguru Hirahara
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Dynamic DNS (optional) # Setting up Dynamic DNS (optional)
The playbook can configure Dynamic DNS with [ddclient](https://github.com/ddclient/ddclient) for you. It is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider. The playbook can configure Dynamic DNS with [ddclient](https://github.com/ddclient/ddclient) for you. It is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider.
@ -6,7 +14,7 @@ Most cloud providers / ISPs will charge you extra for a static IP address. If yo
## Prerequisite ## Prerequisite
You'll need to get a username and password from your DNS provider. Please consult with the provider about how to retrieve them. You'll need to authenticate with your DNS provider somehow, in most cases this is simply a username and password but can differ from provider to provider. Please consult with your providers documentation and the upstream [ddclient documentation](https://github.com/ddclient/ddclient/blob/main/ddclient.conf.in) to determine what you'll need to provide to authenticate.
## Adjusting the playbook configuration ## Adjusting the playbook configuration
@ -23,6 +31,16 @@ matrix_dynamic_dns_domain_configurations:
domain: "{{ matrix_domain }}" domain: "{{ matrix_domain }}"
``` ```
Keep in mind that certain providers may require a different configuration of the `matrix_dynamic_dns_domain_configurations` variable, for provider specific examples see the [upstream documentation](https://github.com/ddclient/ddclient/blob/main/ddclient.conf.in).
### Extending the configuration
There are some additional things you may wish to configure about the component.
Take a look at:
- `roles/custom/matrix-dynamic-dns/defaults/main.yml` for some variables that you can customize via your `vars.yml` file
## Installing ## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below: After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:
@ -41,3 +59,8 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju
Additional resources: Additional resources:
- https://matrix.org/docs/guides/free-small-matrix-server - https://matrix.org/docs/guides/free-small-matrix-server
- https://github.com/linuxserver/docker-ddclient
## 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-dynamic-dns`. However, due to an [upstream issue](https://github.com/linuxserver/docker-ddclient/issues/54#issuecomment-1153143132) the logging output is not always complete. For advanced debugging purposes running the `ddclient` tool outside of the container is useful via the following: `ddclient -file ./ddclient.conf -daemon=0 -debug -verbose -noquiet`.

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