Compare commits

...

12 Commits

Author SHA1 Message Date
github-actions[bot] affb4b6ad7 Automatic translations update 2026-05-21 19:21:30 +00:00
Slavi Pantaleev 4a026285b5 matrix-tuwunel: update cache_capacity_modifier docs example for v1.7.0
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/5262

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 22:20:15 +03:00
renovate[bot] 76e594ec7a Update ghcr.io/matrix-construct/tuwunel Docker tag to v1.7.0 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 22:19:48 +03:00
renovate[bot] 9bd9d1af07 Update ghcr.io/element-hq/element-call Docker tag to v0.19.4 2026-05-21 13:52:28 +03:00
renovate[bot] d1e64c3ef2 Update ghcr.io/etkecc/baibot Docker tag to v1.19.2 2026-05-21 13:42:04 +03:00
Slavi Pantaleev 8751e34ede matrix-bot-maubot: avoid double slash in base paths when path_prefix is /
The derived `*_base_path` defaults concatenated `matrix_bot_maubot_path_prefix`
directly, producing `//v1` and `//plugin/` when users set the documented
`matrix_bot_maubot_path_prefix: /` (for serving on a dedicated subdomain),
which Traefik rejects. Apply the standard `'/' == path_prefix` guard already
used by other roles (honoroit, mautrix-discord, MAS, heisenbridge, etc.).

Reported by The Dark Wizard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 12:22:15 +03:00
renovate[bot] 5212c6dbfc Update dependency jitsi to v10978 2026-05-21 09:28:20 +03:00
renovate[bot] 3f931179e7 Update dependency certifi to v2026.5.20 2026-05-20 21:23:03 +03:00
renovate[bot] a3e40e989e Update dependency valkey to v9.1.0-0 2026-05-20 14:02:59 +03:00
renovate[bot] 40780fadc5 Update docker.io/metio/matrix-alertmanager-receiver Docker tag to v2026.5.20 2026-05-20 14:02:49 +03:00
renovate[bot] 5c9ff37962 Update dependency prek to v0.4.1 2026-05-20 09:18:29 +03:00
github-actions[bot] d4dffcc58c Automatic translations update 2026-05-20 09:14:22 +03:00
11 changed files with 49 additions and 41 deletions
+3 -2
View File
@@ -140,15 +140,16 @@ The S3 backend ships with native multipart upload, so no goofys/rclone sidecar i
### RocksDB and cache tuning
Tuwunel embeds RocksDB. The defaults (`rocksdb_compression_algo: zstd`) suit most deployments. For high-throughput servers you may want to enable direct I/O, raise parallelism, and bump the cache modifier:
Tuwunel embeds RocksDB. The defaults (`rocksdb_compression_algo: zstd`) suit most deployments. For high-throughput servers you may want to enable direct I/O, raise parallelism, and configure a backup path:
```yaml
matrix_tuwunel_config_rocksdb_direct_io: true
matrix_tuwunel_config_rocksdb_parallelism_threads: 8
matrix_tuwunel_config_cache_capacity_modifier: 2.0
matrix_tuwunel_config_database_backup_path: /var/lib/tuwunel/backups
```
`matrix_tuwunel_config_cache_capacity_modifier` is left empty by default, so Tuwunel picks a value (`1.0` since v1.7.0, with rebalanced per-cache sizes that already raise memory use). Set it to `2.0` only on small hosts with four or fewer cores; on larger machines the default is recommended.
If you run on ZFS, the [Tuwunel maintenance guide](https://matrix-construct.github.io/tuwunel/maintenance.html#zfs) lists the dataset properties (`recordsize`, `primarycache`, `compression`, `atime`, `logbias`) and config flags (`rocksdb_direct_io`, `rocksdb_allow_fallocate`) you need to adjust to avoid severe write amplification.
To enable Sentry crash reporting, set `matrix_tuwunel_config_sentry_enabled: true`.
+1 -1
View File
@@ -1,6 +1,6 @@
alabaster==1.0.0
babel==2.18.0
certifi==2026.4.22
certifi==2026.5.20
charset-normalizer==3.4.7
click==8.4.0
docutils==0.22.4
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-13 10:32+0000\n"
"POT-Creation-Date: 2026-05-20 02:45+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,7 +25,7 @@ msgid "The playbook can install and configure the [matrix-synapse-ldap3](https:/
msgstr ""
#: ../../../docs/configuring-playbook-ldap-auth.md:14
msgid "See the project's [documentation](https://github.com/matrix-org/matrix-synapse-ldap3/blob/main/README.rst) to learn what it does and why it might be useful to you."
msgid "See the project's [documentation](https://github.com/matrix-org/matrix-synapse-ldap3/blob/main/README.md) to learn what it does and why it might be useful to you."
msgstr ""
#: ../../../docs/configuring-playbook-ldap-auth.md:16
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-05-19 07:40+0000\n"
"POT-Creation-Date: 2026-05-21 19:21+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -161,105 +161,109 @@ msgid "RocksDB and cache tuning"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:143
msgid "Tuwunel embeds RocksDB. The defaults (`rocksdb_compression_algo: zstd`) suit most deployments. For high-throughput servers you may want to enable direct I/O, raise parallelism, and bump the cache modifier:"
msgid "Tuwunel embeds RocksDB. The defaults (`rocksdb_compression_algo: zstd`) suit most deployments. For high-throughput servers you may want to enable direct I/O, raise parallelism, and configure a backup path:"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:152
#: ../../../docs/configuring-playbook-tuwunel.md:151
msgid "`matrix_tuwunel_config_cache_capacity_modifier` is left empty by default, so Tuwunel picks a value (`1.0` since v1.7.0, with rebalanced per-cache sizes that already raise memory use). Set it to `2.0` only on small hosts with four or fewer cores; on larger machines the default is recommended."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:153
msgid "If you run on ZFS, the [Tuwunel maintenance guide](https://matrix-construct.github.io/tuwunel/maintenance.html#zfs) lists the dataset properties (`recordsize`, `primarycache`, `compression`, `atime`, `logbias`) and config flags (`rocksdb_direct_io`, `rocksdb_allow_fallocate`) you need to adjust to avoid severe write amplification."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:154
#: ../../../docs/configuring-playbook-tuwunel.md:155
msgid "To enable Sentry crash reporting, set `matrix_tuwunel_config_sentry_enabled: true`."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:156
#: ../../../docs/configuring-playbook-tuwunel.md:157
msgid "Federation gating"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:158
#: ../../../docs/configuring-playbook-tuwunel.md:159
msgid "Tuwunel accepts regular-expression patterns at every level of remote-server filtering:"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:169
#: ../../../docs/configuring-playbook-tuwunel.md:170
msgid "Tuwunel additionally implements [MSC4284 policy servers](https://github.com/matrix-org/matrix-spec-proposals/pull/4284) for room-level federation gating. The policy itself lives in room state, but enforcement is opt-in at the server level:"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:176
#: ../../../docs/configuring-playbook-tuwunel.md:177
msgid "When enabled, rooms with a valid `m.room.policy` state event have outgoing events signed by the configured policy server before federation. Transient network or timeout failures fail open (with a warn log), so a policy-server outage will not silently take the room offline."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:178
#: ../../../docs/configuring-playbook-tuwunel.md:179
msgid "Default room version"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:180
#: ../../../docs/configuring-playbook-tuwunel.md:181
msgid "The role sets `default_room_version: '12'`, so newly created rooms default to Matrix [room version 12](https://github.com/matrix-org/matrix-spec-proposals/pull/4289) (\"Hydra\"). Override `matrix_tuwunel_config_default_room_version` if you need an earlier version for client compatibility."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:182
#: ../../../docs/configuring-playbook-tuwunel.md:183
msgid "Creating the first user account"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:184
#: ../../../docs/configuring-playbook-tuwunel.md:185
msgid "Unlike Synapse and Dendrite, Tuwunel does not register users from the command line or via the playbook. On first startup it logs a one-time-use registration token to its journal:"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:191
#: ../../../docs/configuring-playbook-tuwunel.md:192
msgid "Use the token to create your first account from any client that supports token-gated registration (e.g. [Element Web](configuring-playbook-client-element-web.md)). The account is auto-promoted to admin and invited to the admin room together with the `@conduit:<server_name>` server bot. The bot keeps the legacy `conduit` localpart due to the project's lineage from Conduit."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:193
#: ../../../docs/configuring-playbook-tuwunel.md:194
msgid "Configuring bridges and appservices"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:195
#: ../../../docs/configuring-playbook-tuwunel.md:196
msgid "The playbook does not auto-register appservices for Tuwunel. After your bridge has produced its `registration.yaml` (e.g. `/matrix/mautrix-signal/bridge/registration.yaml`), register it manually by sending the contents to the admin room, prefixed with `!admin appservices register` and wrapped in a fenced code block:"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:216
#: ../../../docs/configuring-playbook-tuwunel.md:217
msgid "Registrations stored this way are persisted in the database and survive restarts. Re-running the command with the same `id` replaces the existing entry. See [Application services](https://matrix-construct.github.io/tuwunel/appservices.html) for the full reference and admin commands."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:218
#: ../../../docs/configuring-playbook-tuwunel.md:219
msgid "Migrating from conduwuit"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:220
#: ../../../docs/configuring-playbook-tuwunel.md:221
msgid "Tuwunel is a \"binary swap\" for conduwuit; it reads conduwuit's RocksDB layout directly, so migration is a data move, not an export/import."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:222
#: ../../../docs/configuring-playbook-tuwunel.md:223
msgid "Set `matrix_homeserver_implementation: tuwunel` on `vars.yml` and remove any `matrix_conduwuit_*` overrides."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:223
#: ../../../docs/configuring-playbook-tuwunel.md:224
msgid "Run a full installation so that the new service is created and the old one removed (e.g. `just setup-all`)."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:224
#: ../../../docs/configuring-playbook-tuwunel.md:225
msgid "Run `just run-tags tuwunel-migrate-from-conduwuit`."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:226
#: ../../../docs/configuring-playbook-tuwunel.md:227
msgid "The migration stops `matrix-conduwuit.service`, copies `/matrix/conduwuit` into `/matrix/tuwunel`, renames the config file, and starts `matrix-tuwunel.service`. The freshly generated tuwunel data directory is preserved alongside as `/matrix/tuwunel_old` until you remove it manually."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:229
#: ../../../docs/configuring-playbook-tuwunel.md:230
msgid "Migrating from any other Conduit derivative (Conduit itself, Continuwuity, or any other fork) is **not supported** and will corrupt your database. All Conduit forks share the same linear database version with no awareness of each other; switching between them produces unrecoverable damage. See the [upstream migration table](https://matrix-construct.github.io/tuwunel/#migrating-to-tuwunel)."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:231
#: ../../../docs/configuring-playbook-tuwunel.md:232
msgid "Troubleshooting"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:233
#: ../../../docs/configuring-playbook-tuwunel.md:234
msgid "As with all other services, the logs are available via [systemd-journald](https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html):"
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:239
#: ../../../docs/configuring-playbook-tuwunel.md:240
msgid "Logging verbosity is controlled by `matrix_tuwunel_config_log` in [`tracing-subscriber` env-filter syntax](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html). The default (`info,state_res=warn`) is reasonable for production; for debugging, try `debug` or scope it tighter, e.g. `info,tuwunel_service::sending=debug`."
msgstr ""
#: ../../../docs/configuring-playbook-tuwunel.md:241
#: ../../../docs/configuring-playbook-tuwunel.md:242
msgid "For RocksDB-level issues, online backups, and offline backup procedures, see the [Tuwunel maintenance guide](https://matrix-construct.github.io/tuwunel/maintenance.html). For protocol-compliance state across MSCs, the spec, and Complement, the project's [compliance dashboard](https://matrix-construct.github.io/tuwunel/development/compliance.html) is the authoritative tracker."
msgstr ""
+1 -1
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
[tools]
prek = "0.4.0"
prek = "0.4.1"
[settings]
yes = true
+2 -2
View File
@@ -39,7 +39,7 @@
version: v0.5.1-5
name: hydrogen
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-jitsi.git
version: v10888-1
version: v10978-0
name: jitsi
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-livekit-server.git
version: v1.12.0-0
@@ -93,5 +93,5 @@
version: v2.10.0-7
name: traefik_certs_dumper
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-valkey.git
version: v9.0.4-0
version: v9.1.0-0
name: valkey
@@ -11,7 +11,7 @@
matrix_alertmanager_receiver_enabled: true
# renovate: datasource=docker depName=docker.io/metio/matrix-alertmanager-receiver
matrix_alertmanager_receiver_version: 2026.5.13
matrix_alertmanager_receiver_version: 2026.5.20
matrix_alertmanager_receiver_scheme: https
@@ -17,7 +17,7 @@ matrix_bot_baibot_container_repo_version: "{{ 'main' if matrix_bot_baibot_versio
matrix_bot_baibot_container_src_files_path: "{{ matrix_base_data_path }}/baibot/container-src"
# renovate: datasource=docker depName=ghcr.io/etkecc/baibot
matrix_bot_baibot_version: v1.19.1
matrix_bot_baibot_version: v1.19.2
matrix_bot_baibot_container_image: "{{ matrix_bot_baibot_container_image_registry_prefix }}etkecc/baibot:{{ matrix_bot_baibot_version }}"
matrix_bot_baibot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_baibot_container_image_self_build else matrix_bot_baibot_container_image_registry_prefix_upstream }}"
matrix_bot_baibot_container_image_registry_prefix_upstream: "{{ matrix_bot_baibot_container_image_registry_prefix_upstream_default }}"
@@ -23,6 +23,9 @@ matrix_bot_maubot_initial_password: ''
matrix_bot_maubot_scheme: https
matrix_bot_maubot_hostname: ''
# The path at which maubot is exposed.
# This value must either be `/` or not end with a slash (e.g. `/_matrix/maubot`).
matrix_bot_maubot_path_prefix: /_matrix/maubot
matrix_bot_maubot_container_image_self_build: false
@@ -58,9 +61,9 @@ matrix_bot_maubot_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/d
matrix_bot_maubot_customized_container_src_files_path: "{{ matrix_bot_maubot_base_path }}/customized-docker-src"
matrix_bot_maubot_bot_server_public_url: "{{ matrix_bot_maubot_scheme }}://{{ matrix_bot_maubot_hostname }}"
matrix_bot_maubot_bot_server_base_path: "{{ matrix_bot_maubot_path_prefix }}/v1"
matrix_bot_maubot_bot_server_base_path: "{{ '' if matrix_bot_maubot_path_prefix == '/' else matrix_bot_maubot_path_prefix }}/v1"
matrix_bot_maubot_bot_server_ui_base_path: "{{ matrix_bot_maubot_path_prefix }}"
matrix_bot_maubot_bot_server_plugin_base_path: "{{ matrix_bot_maubot_path_prefix }}/plugin/"
matrix_bot_maubot_bot_server_plugin_base_path: "{{ '' if matrix_bot_maubot_path_prefix == '/' else matrix_bot_maubot_path_prefix }}/plugin/"
matrix_bot_maubot_bot_server_appservice_base_path: "{{ matrix_bot_maubot_bot_server_base_path }}"
matrix_bot_maubot_proxy_management_interface: true
@@ -21,7 +21,7 @@ matrix_element_call_enabled: false
matrix_rtc_enabled: "{{ matrix_element_call_enabled }}"
# renovate: datasource=docker depName=ghcr.io/element-hq/element-call
matrix_element_call_version: v0.19.3
matrix_element_call_version: v0.19.4
matrix_element_call_scheme: https
@@ -13,7 +13,7 @@ matrix_tuwunel_enabled: true
matrix_tuwunel_hostname: ''
# renovate: datasource=docker depName=ghcr.io/matrix-construct/tuwunel
matrix_tuwunel_version: v1.6.2
matrix_tuwunel_version: v1.7.0
matrix_tuwunel_container_image: "{{ matrix_tuwunel_container_image_registry_prefix }}matrix-construct/tuwunel:{{ matrix_tuwunel_container_image_tag }}"
matrix_tuwunel_container_image_tag: "{{ matrix_tuwunel_version }}"