From 9049a82945cf8c9593cd98fd6b50658d184d27c5 Mon Sep 17 00:00:00 2001 From: Aine <97398200+aine-etke@users.noreply.github.com> Date: Fri, 3 Apr 2026 15:26:18 +0100 Subject: [PATCH] Synapse Admin is Ketesa now! (#5113) * Synapse Admin is Ketesa now! * i18n changes * add automatic migration * fix migration version in vars * add a note about routing for OIDC Auth * mention v1.0.0 announcement blog post * Update docs/container-images.md Co-authored-by: Suguru Hirahara * Update CHANGELOG.md Co-authored-by: Suguru Hirahara --------- Co-authored-by: Suguru Hirahara --- CHANGELOG.md | 18 + README.md | 2 +- docs/configuring-playbook-bot-baibot.md | 2 +- docs/configuring-playbook-bot-buscarron.md | 2 +- docs/configuring-playbook-bot-draupnir.md | 4 +- docs/configuring-playbook-bot-honoroit.md | 2 +- ...ng-playbook-bot-matrix-registration-bot.md | 2 +- ...guring-playbook-bot-matrix-reminder-bot.md | 2 +- docs/configuring-playbook-bot-maubot.md | 2 +- docs/configuring-playbook-bot-mjolnir.md | 4 +- .../configuring-playbook-bridge-postmoogle.md | 2 +- docs/configuring-playbook-element-admin.md | 2 +- docs/configuring-playbook-ketesa.md | 100 + ...-playbook-matrix-authentication-service.md | 2 +- docs/configuring-playbook-synapse-admin.md | 93 - docs/configuring-playbook-synapse.md | 6 +- docs/configuring-playbook.md | 2 +- docs/container-images.md | 2 +- docs/registering-users.md | 5 +- docs/self-building.md | 2 +- examples/vars.yml | 2 +- group_vars/matrix_servers | 49 +- i18n/locales/bg/LC_MESSAGES/CHANGELOG.po | 8533 ++++++++++------- i18n/locales/bg/LC_MESSAGES/README.po | 312 +- i18n/locales/bg/LC_MESSAGES/docs/README.po | 90 +- .../docs/configuring-playbook-bot-baibot.po | 286 +- .../configuring-playbook-bot-buscarron.po | 82 +- .../docs/configuring-playbook-bot-draupnir.po | 323 +- .../docs/configuring-playbook-bot-honoroit.po | 90 +- ...ng-playbook-bot-matrix-registration-bot.po | 118 +- ...guring-playbook-bot-matrix-reminder-bot.po | 90 +- .../docs/configuring-playbook-bot-maubot.po | 120 +- .../docs/configuring-playbook-bot-mjolnir.po | 154 +- .../configuring-playbook-bridge-postmoogle.po | 82 +- .../configuring-playbook-element-admin.po | 118 + .../docs/configuring-playbook-ketesa.po | 166 + ...-playbook-matrix-authentication-service.po | 322 +- .../docs/configuring-playbook-synapse.po | 234 +- .../LC_MESSAGES/docs/configuring-playbook.po | 486 +- .../bg/LC_MESSAGES/docs/container-images.po | 398 +- .../bg/LC_MESSAGES/docs/registering-users.po | 139 +- .../bg/LC_MESSAGES/docs/self-building.po | 140 +- i18n/locales/jp/LC_MESSAGES/CHANGELOG.po | 8533 ++++++++++------- i18n/locales/jp/LC_MESSAGES/README.po | 298 +- i18n/locales/jp/LC_MESSAGES/docs/README.po | 90 +- .../docs/configuring-playbook-bot-baibot.po | 286 +- .../configuring-playbook-bot-buscarron.po | 82 +- .../docs/configuring-playbook-bot-draupnir.po | 323 +- .../docs/configuring-playbook-bot-honoroit.po | 90 +- ...ng-playbook-bot-matrix-registration-bot.po | 118 +- ...guring-playbook-bot-matrix-reminder-bot.po | 90 +- .../docs/configuring-playbook-bot-maubot.po | 120 +- .../docs/configuring-playbook-bot-mjolnir.po | 154 +- .../configuring-playbook-bridge-postmoogle.po | 82 +- .../configuring-playbook-element-admin.po | 117 + .../docs/configuring-playbook-ketesa.po | 165 + ...-playbook-matrix-authentication-service.po | 322 +- .../docs/configuring-playbook-synapse.po | 234 +- .../LC_MESSAGES/docs/configuring-playbook.po | 486 +- .../jp/LC_MESSAGES/docs/container-images.po | 398 +- .../jp/LC_MESSAGES/docs/registering-users.po | 139 +- .../jp/LC_MESSAGES/docs/self-building.po | 140 +- i18n/translation-templates/CHANGELOG.pot | 7466 +++++++------- i18n/translation-templates/README.pot | 120 +- .../docs/configuring-playbook-bot-baibot.pot | 230 +- .../configuring-playbook-bot-buscarron.pot | 4 +- .../configuring-playbook-bot-draupnir.pot | 6 +- .../configuring-playbook-bot-honoroit.pot | 4 +- ...g-playbook-bot-matrix-registration-bot.pot | 4 +- ...uring-playbook-bot-matrix-reminder-bot.pot | 4 +- .../docs/configuring-playbook-bot-maubot.pot | 4 +- .../docs/configuring-playbook-bot-mjolnir.pot | 6 +- ...configuring-playbook-bridge-postmoogle.pot | 4 +- .../configuring-playbook-element-admin.pot | 4 +- .../docs/configuring-playbook-ketesa.pot | 161 + ...playbook-matrix-authentication-service.pot | 58 +- .../docs/configuring-playbook-synapse.pot | 100 +- .../docs/configuring-playbook.pot | 118 +- .../docs/container-images.pot | 68 +- .../docs/registering-users.pot | 56 +- .../docs/self-building.pot | 18 +- roles/custom/matrix-ketesa/defaults/main.yml | 259 + .../tasks/main.yml | 13 +- .../matrix-ketesa/tasks/setup_install.yml | 130 + .../matrix-ketesa/tasks/setup_uninstall.yml | 30 + .../matrix-ketesa/tasks/validate_config.yml | 58 + .../custom/matrix-ketesa/templates/labels.j2 | 59 + .../systemd/matrix-ketesa.service.j2} | 40 +- .../systemd/matrix-ketesa.service.j2.license | 5 + .../matrix-static-files/defaults/main.yml | 16 +- .../public/.well-known/matrix/client.j2 | 5 +- .../matrix-synapse-admin/defaults/main.yml | 260 - .../tasks/setup_install.yml | 102 - .../tasks/setup_uninstall.yml | 29 - .../tasks/validate_config.yml | 57 - .../matrix-synapse-admin/templates/labels.j2 | 58 - .../matrix-synapse-admin.service.j2.license | 4 - .../defaults/main.yml | 7 +- .../tasks/validate_config.yml | 20 + setup.yml | 2 +- 100 files changed, 19316 insertions(+), 15130 deletions(-) create mode 100644 docs/configuring-playbook-ketesa.md delete mode 100644 docs/configuring-playbook-synapse-admin.md create mode 100644 i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-element-admin.po create mode 100644 i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-ketesa.po create mode 100644 i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-element-admin.po create mode 100644 i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-ketesa.po create mode 100644 i18n/translation-templates/docs/configuring-playbook-ketesa.pot create mode 100644 roles/custom/matrix-ketesa/defaults/main.yml rename roles/custom/{matrix-synapse-admin => matrix-ketesa}/tasks/main.yml (67%) create mode 100644 roles/custom/matrix-ketesa/tasks/setup_install.yml create mode 100644 roles/custom/matrix-ketesa/tasks/setup_uninstall.yml create mode 100644 roles/custom/matrix-ketesa/tasks/validate_config.yml create mode 100644 roles/custom/matrix-ketesa/templates/labels.j2 rename roles/custom/{matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 => matrix-ketesa/templates/systemd/matrix-ketesa.service.j2} (52%) create mode 100644 roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2.license delete mode 100644 roles/custom/matrix-synapse-admin/defaults/main.yml delete mode 100644 roles/custom/matrix-synapse-admin/tasks/setup_install.yml delete mode 100644 roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml delete mode 100644 roles/custom/matrix-synapse-admin/tasks/validate_config.yml delete mode 100644 roles/custom/matrix-synapse-admin/templates/labels.j2 delete mode 100644 roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license diff --git a/CHANGELOG.md b/CHANGELOG.md index d76b220ab..f53b9e7d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +# 2026-04-03 + +## (BC Break) Synapse Admin (fork by etke.cc) is now Ketesa + +Synapse Admin has been rebranded to **[Ketesa](https://github.com/etkecc/ketesa)** — a landmark release that introduces a new identity, a full UI redesign, mobile-first layout, and deep Matrix Authentication Service (MAS) integration. For the full story behind the rename and a tour of what's new, see the [Ketesa v1.0.0 announcement](https://etke.cc/blog/introducing-ketesa/). + +Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables. + +The `matrix-synapse-admin` role has been **renamed** to `matrix-ketesa`. All `matrix_synapse_admin_*` variables must be **renamed** to `matrix_ketesa_*` in your `vars.yml`. + +Additionally, the **Docker image** changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. The default path prefix remains `/synapse-admin` for backward compatibility — updating to `/ketesa` is recommended but not required. + +The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed. + +The playbook handles reverse-proxy routing for subpath deployments (e.g. `/ketesa`), including MAS-enabled setups — though OIDC auth flows on real servers still have some rough edges. Feedback is appreciated in [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc). + +See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details. + # 2026-04-02 ## (BC Break) Draupnir for all Self Service Provisioning is now disabled by default diff --git a/README.md b/README.md index c859b2026..bc0e581e8 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,7 @@ 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 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) | ❌ | Web UI tool for administrating users and rooms on your Matrix server | [Link](docs/configuring-playbook-synapse-admin.md) | +| [Ketesa](https://github.com/etkecc/ketesa) | ❌ | Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more | [Link](docs/configuring-playbook-ketesa.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) | | [rageshake](https://github.com/matrix-org/rageshake) | ❌ | Bug report server | [Link](docs/configuring-playbook-rageshake.md) | diff --git a/docs/configuring-playbook-bot-baibot.md b/docs/configuring-playbook-bot-baibot.md index 38e1cc51d..829563ec7 100644 --- a/docs/configuring-playbook-bot-baibot.md +++ b/docs/configuring-playbook-bot-baibot.md @@ -414,7 +414,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. -- If you change the bot password (`matrix_bot_baibot_config_user_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_baibot_config_user_password` to let the bot know its new password. (This note applies to password authentication mode.) +- If you change the bot password (`matrix_bot_baibot_config_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_baibot_config_user_password` to let the bot know its new password. (This note applies to password authentication mode.) ## Usage diff --git a/docs/configuring-playbook-bot-buscarron.md b/docs/configuring-playbook-bot-buscarron.md index 969c1c93d..186cd3646 100644 --- a/docs/configuring-playbook-bot-buscarron.md +++ b/docs/configuring-playbook-bot-buscarron.md @@ -89,7 +89,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. -- If you change the bot password (`matrix_bot_buscarron_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_buscarron_password` to let the bot know its new password. +- If you change the bot password (`matrix_bot_buscarron_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_buscarron_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-draupnir.md b/docs/configuring-playbook-bot-draupnir.md index 83945f8f7..2175320b8 100644 --- a/docs/configuring-playbook-bot-draupnir.md +++ b/docs/configuring-playbook-bot-draupnir.md @@ -102,7 +102,7 @@ This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synap **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). +The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md). #### Add the configuration @@ -212,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. -- 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. +- 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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-honoroit.md b/docs/configuring-playbook-bot-honoroit.md index 967ea0050..6325ba935 100644 --- a/docs/configuring-playbook-bot-honoroit.md +++ b/docs/configuring-playbook-bot-honoroit.md @@ -78,7 +78,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. -- If you change the bot password (`matrix_bot_honoroit_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_honoroit_password` to let the bot know its new password. +- If you change the bot password (`matrix_bot_honoroit_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_honoroit_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-matrix-registration-bot.md b/docs/configuring-playbook-bot-matrix-registration-bot.md index 706ea5991..6563190b3 100644 --- a/docs/configuring-playbook-bot-matrix-registration-bot.md +++ b/docs/configuring-playbook-bot-matrix-registration-bot.md @@ -71,7 +71,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. -- If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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_matrix_registration_bot_bot_password` to let the bot know its new password. +- If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_registration_bot_bot_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-matrix-reminder-bot.md b/docs/configuring-playbook-bot-matrix-reminder-bot.md index 9661ed6fa..4302c7266 100644 --- a/docs/configuring-playbook-bot-matrix-reminder-bot.md +++ b/docs/configuring-playbook-bot-matrix-reminder-bot.md @@ -57,7 +57,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. -- If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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_matrix_reminder_bot_matrix_user_password` to let the bot know its new password. +- If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_reminder_bot_matrix_user_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-maubot.md b/docs/configuring-playbook-bot-maubot.md index 367a3aaac..2ddc1c2c6 100644 --- a/docs/configuring-playbook-bot-maubot.md +++ b/docs/configuring-playbook-bot-maubot.md @@ -103,7 +103,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. -- If you change the bot password (`matrix_bot_maubot_initial_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_maubot_initial_password` to let the bot know its new password. +- If you change the bot password (`matrix_bot_maubot_initial_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_maubot_initial_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-bot-mjolnir.md b/docs/configuring-playbook-bot-mjolnir.md index 5455ffe47..54d1baf70 100644 --- a/docs/configuring-playbook-bot-mjolnir.md +++ b/docs/configuring-playbook-bot-mjolnir.md @@ -46,7 +46,7 @@ This can be done using Synapse's [Admin APIs](https://element-hq.github.io/synap **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). +The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md). #### Add the configuration @@ -198,7 +198,7 @@ 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. -- 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. +- 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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password. ## Usage diff --git a/docs/configuring-playbook-bridge-postmoogle.md b/docs/configuring-playbook-bridge-postmoogle.md index 6a21043a7..772f18b6e 100644 --- a/docs/configuring-playbook-bridge-postmoogle.md +++ b/docs/configuring-playbook-bridge-postmoogle.md @@ -87,7 +87,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. -- If you change the bridge's bot password (`matrix_postmoogle_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_postmoogle_password` to let the bot know its new password. +- If you change the bridge's bot password (`matrix_postmoogle_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_postmoogle_password` to let the bot know its new password. ## Usage diff --git a/docs/configuring-playbook-element-admin.md b/docs/configuring-playbook-element-admin.md index a0785853b..164f077c5 100644 --- a/docs/configuring-playbook-element-admin.md +++ b/docs/configuring-playbook-element-admin.md @@ -13,7 +13,7 @@ Element Admin is a web-based administration panel for Synapse and [Matrix Authen See the project's [documentation](https://github.com/element-hq/element-admin) to learn more. -💡 **Note**: This project is still very young and doesn't have many features. For now, it's recommended to use [Synapse Admin](./configuring-playbook-synapse-admin.md) instead. Deployments that use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) can use Element Admin for user-management (something that Synapse Admin can't do), while continuing to use Synapse Admin for all other purposes. +💡 **Note**: This project is still very young and doesn't have many features. [Ketesa](./configuring-playbook-ketesa.md) is the fully-featured alternative — it covers all Synapse and MAS Admin APIs, including complete user management, session management, and MAS policy data. Element Admin remains a valid choice if you prefer its interface. ## Prerequisites diff --git a/docs/configuring-playbook-ketesa.md b/docs/configuring-playbook-ketesa.md new file mode 100644 index 000000000..9fed83987 --- /dev/null +++ b/docs/configuring-playbook-ketesa.md @@ -0,0 +1,100 @@ + + +# Setting up Ketesa (optional) + +The playbook can install and configure [Ketesa](https://github.com/etkecc/ketesa) for you. + +Ketesa is a fully-featured admin interface for Matrix homeservers — manage users, rooms, media, sessions, and more from one clean, responsive web UI. It is the evolution of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin): what began as a fork has grown into its own independent project with a redesigned interface, comprehensive Synapse and MAS API coverage, and multi-language support. See the [Ketesa v1.0.0 announcement](https://etke.cc/blog/introducing-ketesa/) for a full overview of what's new. + +>[!NOTE] +> +> - Ketesa does not work with other homeserver implementations than Synapse due to API's incompatibility. +> - The latest version of Ketesa is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting. +> - This playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). Please note that it's currently less feature-rich than Ketesa and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md). + +## Adjusting DNS records (optional) + +By default, this playbook installs Ketesa on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin) — the legacy path is kept for backward compatibility. 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-ketesa-url-optional) for details about DNS configuration. + +## Adjusting the playbook configuration + +To enable Ketesa, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: + +```yaml +matrix_ketesa_enabled: true +``` + +**Note**: Ketesa requires Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) to function. Access to them is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, for additional security, we normally leave them unexposed, following [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). Because Ketesa needs these APIs to function, when installing Ketesa, the playbook **automatically** exposes the Synapse Admin API publicly for you. Depending on the homeserver implementation you're using (Synapse, Dendrite), this is equivalent to: + +- for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` +- for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true` + +By default, Ketesa installation will be [restricted to only work with one homeserver](https://github.com/etkecc/ketesa/blob/main/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_ketesa_config_restrictBaseUrl` variable. + +### Adjusting the Ketesa URL (optional) + +By tweaking the `matrix_ketesa_hostname` and `matrix_ketesa_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. + +We recommend updating the path prefix to `/ketesa` to align with the new branding, while the default `/synapse-admin` is kept for backward compatibility: + +```yaml +matrix_ketesa_path_prefix: /ketesa +``` + +Or to change the hostname entirely: + +```yaml +# Change the default hostname and path prefix +matrix_ketesa_hostname: admin.example.com +matrix_ketesa_path_prefix: / +``` + +If you've changed the default hostname, you may need to create a CNAME record for the Ketesa domain (`admin.example.com`), which targets `matrix.example.com`. + +When setting, replace `example.com` with your own. + +### Extending the configuration + +There are some additional things you may wish to configure about the component. + +Take a look at: + +- `roles/custom/matrix-ketesa/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_ketesa_configuration_extension_json` variable + +## 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: + + +```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 + +After installation, Ketesa will be accessible at: `https://matrix.example.com/synapse-admin/` (or `/ketesa/` if you updated the path prefix as recommended) + +To use Ketesa, you need to have [registered at least one administrator account](registering-users.md) on your server. + +## 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-ketesa`. + +If you have questions, you can join this community room and feel free to ask: [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc) diff --git a/docs/configuring-playbook-matrix-authentication-service.md b/docs/configuring-playbook-matrix-authentication-service.md index 92140d127..d993e0d3e 100644 --- a/docs/configuring-playbook-matrix-authentication-service.md +++ b/docs/configuring-playbook-matrix-authentication-service.md @@ -51,7 +51,7 @@ This section details what you can expect when switching to the Matrix Authentica - ❌ **Synapse password providers will need to be disabled**. You can no longer use [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc. When the authentication flow is handled by MAS (not by Synapse anymore), it doesn't make sense to extend the Synapse authentication flow with additional modules. Many bridges used to rely on shared-secret-auth for doing double-puppeting (impersonating other users), but most (at least the mautrix bridges) nowadays use [Appservice Double Puppet](./configuring-playbook-appservice-double-puppet.md) as a better alternative. Older/maintained bridges may still rely on shared-secret-auth, as do other services like [matrix-corporal](./configuring-playbook-matrix-corporal.md). -- ❌ Certain **tools like [Synapse Admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. Synapse Admin already supports OIDC auth, browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which Synapse Admin cannot interact with yet. You may be interested in using [Element Admin](./configuring-playbook-element-admin.md) for these purposes. +- ✅ **[Ketesa](./configuring-playbook-ketesa.md) has full MAS integration**. Ketesa supports OIDC auth, user management, all session types (browser, OAuth2, compatibility), linked email addresses, upstream OAuth provider links, MAS policy data, and user creation through MAS. It is the recommended tool for managing homeservers running MAS. - ❌ **Some services experience issues when authenticating via MAS**: diff --git a/docs/configuring-playbook-synapse-admin.md b/docs/configuring-playbook-synapse-admin.md deleted file mode 100644 index 475bce71d..000000000 --- a/docs/configuring-playbook-synapse-admin.md +++ /dev/null @@ -1,93 +0,0 @@ - - -# Setting up Synapse Admin (optional) - -The playbook can install and configure Synapse Admin for you. - -Synapse Admin is a web UI tool you can use to **administrate users, rooms, media, etc. on your Matrix homeserver**. This playbook is configured to install [etkecc/synapse-admin](https://github.com/etkecc/synapse-admin), which is a [feature-rich](https://github.com/etkecc/synapse-admin#fork-differences) fork of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin). - ->[!NOTE] -> -> - Synapse Admin does not work with other homeserver implementations than Synapse due to API's incompatibility. -> - The latest version of Synapse Admin is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting. -> - This playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). Please note that it's currently less feature-rich than Synapse Admin and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md). - -## Adjusting DNS records (optional) - -By default, this playbook installs Synapse Admin on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin). This makes it easy to install it, because it **doesn't require additional DNS records to be set up**. If that's okay, you can skip this section. - -If you wish to adjust it, see the section [below](#adjusting-the-synapse-admin-url-optional) for details about DNS configuration. - -## Adjusting the playbook configuration - -To enable Synapse Admin, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file: - -```yaml -matrix_synapse_admin_enabled: true -``` - -**Note**: Synapse Admin requires Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) to function. Access to them is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, for additional security, we normally leave them unexposed, following [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). Because Synapse Admin needs these APIs to function, when installing Synapse Admin, the playbook **automatically** exposes the Synapse Admin API publicly for you. Depending on the homeserver implementation you're using (Synapse, Dendrite), this is equivalent to: - -- for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true` -- for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true` - -By default, synapse-admin installation will be [restricted to only work with one homeserver](https://github.com/etkecc/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_synapse_admin_config_restrictBaseUrl` variable. - -### Adjusting the Synapse Admin URL (optional) - -By tweaking the `matrix_synapse_admin_hostname` and `matrix_synapse_admin_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one. - -Example additional configuration for your `vars.yml` file: - -```yaml -# Change the default hostname and path prefix -matrix_synapse_admin_hostname: admin.example.com -matrix_synapse_admin_path_prefix: / -``` - -If you've changed the default hostname, you may need to create a CNAME record for the Synapse Admin domain (`admin.example.com`), which targets `matrix.example.com`. - -When setting, replace `example.com` with your own. - -### Extending the configuration - -There are some additional things you may wish to configure about the component. - -Take a look at: - -- `roles/custom/matrix-synapse-admin/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_synapse_admin_configuration_extension_json` variable - -## 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: - - -```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 - -After installation, Synapse Admin will be accessible at: `https://matrix.example.com/synapse-admin/` - -To use Synapse Admin, you need to have [registered at least one administrator account](registering-users.md) on your server. - -## 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-synapse-admin`. - -If you have questions, you can join this community room and feel free to ask: [#synapse-admin:etke.cc](https://matrix.to/#/#synapse-admin:etke.cc) diff --git a/docs/configuring-playbook-synapse.md b/docs/configuring-playbook-synapse.md index f56ec4aea..c5a9e7533 100644 --- a/docs/configuring-playbook-synapse.md +++ b/docs/configuring-playbook-synapse.md @@ -196,11 +196,11 @@ The shortcut commands with the [`just` program](just.md) are also available: `ju ## Usage -### Synapse Admin +### Ketesa -With [Synapse Admin](configuring-playbook-synapse-admin.md), certain Synapse administration tasks (managing users and rooms, etc.) can be performed via a web user-interace. +[Ketesa](configuring-playbook-ketesa.md) is a fully-featured web UI for administrating your homeserver — managing users, rooms, media, sessions, and more. -The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md). +The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md). ### Monitoring Synapse Metrics with Prometheus and Grafana diff --git a/docs/configuring-playbook.md b/docs/configuring-playbook.md index 963af9c54..112aacbf9 100644 --- a/docs/configuring-playbook.md +++ b/docs/configuring-playbook.md @@ -102,7 +102,7 @@ Extend and modify how users are authenticated on your homeserver. - [Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) -- [Setting up Synapse Admin](configuring-playbook-synapse-admin.md) +- [Setting up Ketesa](configuring-playbook-ketesa.md) - [Setting up matrix-registration](configuring-playbook-matrix-registration.md) diff --git a/docs/container-images.md b/docs/container-images.md index f4fd9b62f..7c356cf07 100644 --- a/docs/container-images.md +++ b/docs/container-images.md @@ -134,7 +134,7 @@ Services that help you in administrating and monitoring your Matrix installation | ------- | --------------- | -------- | ----------- | | [matrix-alertmanager-receiver](configuring-playbook-alertmanager-receiver.md) | [metio/matrix-alertmanager-receiver](https://hub.docker.com/r/metio/matrix-alertmanager-receiver) | ❌ | Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) client | | [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) | [element-hq/matrix-authentication-service](https://ghcr.io/element-hq/matrix-authentication-service) | ❌ | OAuth 2.0 and OpenID Provider server | -| [synapse-admin](configuring-playbook-synapse-admin.md) | [etke.cc/synapse-admin](https://ghcr.io/etkecc/synapse-admin) | ❌ | Web UI tool for administrating users and rooms on your Matrix server | +| [Ketesa](configuring-playbook-ketesa.md) | [etkecc/ketesa](https://ghcr.io/etkecc/ketesa) | ❌ | Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [prom/prometheus](https://hub.docker.com/r/prom/prometheus/) | ❌ | [Prometheus](https://prometheus.io) time-series database server | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [prom/node-exporter](https://hub.docker.com/r/prom/node-exporter/) | ❌ | Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter | | [Metrics and Graphs](configuring-playbook-prometheus-grafana.md) | [grafana/grafana](https://hub.docker.com/r/grafana/grafana/) | ❌ | Graphing tool that works well with the above two images. Our playbook also adds two dashboards for [Synapse](https://github.com/element-hq/synapse/tree/master/contrib/grafana) and [Node Exporter](https://github.com/rfrail3/grafana-dashboards) | diff --git a/docs/registering-users.md b/docs/registering-users.md index aeecbd04b..f3b50a6ef 100644 --- a/docs/registering-users.md +++ b/docs/registering-users.md @@ -95,10 +95,7 @@ This `register-user` script actually invokes the `mas-cli manage register-user` ## Managing users via a Web UI -To manage users more easily (via a web user-interace), you can install [Synapse Admin](configuring-playbook-synapse-admin.md). - -> [!WARNING] -> If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information. +To manage users and your homeserver more easily (via a web interface), you can install [Ketesa](configuring-playbook-ketesa.md) — a fully-featured admin UI covering users, rooms, media, sessions, and MAS management. ## Letting certain users register on your private server diff --git a/docs/self-building.md b/docs/self-building.md index 0d38e5f5a..dceaf678d 100644 --- a/docs/self-building.md +++ b/docs/self-building.md @@ -26,7 +26,7 @@ Note that **not all components support self-building yet**. Possibly outdated list of roles where self-building the Docker image is currently possible: - `matrix-synapse` -- `matrix-synapse-admin` +- `matrix-ketesa` - `matrix-client-element` - `hydrogen` - `cinny` diff --git a/examples/vars.yml b/examples/vars.yml index 656986c0b..9133da761 100644 --- a/examples/vars.yml +++ b/examples/vars.yml @@ -2,7 +2,7 @@ # This variable acknowledges that you've reviewed breaking changes up to this version. # The playbook will fail if this is outdated, guiding you through what changed. # See the changelog: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md -matrix_playbook_migration_validated_version: v2026.04.02.0 +matrix_playbook_migration_validated_version: v2026.04.03.0 # The bare domain name which represents your Matrix identity. # Matrix user IDs for your server will be of the form (`@alice:example.com`). diff --git a/group_vars/matrix_servers b/group_vars/matrix_servers index 5ddb45812..0822b9278 100755 --- a/group_vars/matrix_servers +++ b/group_vars/matrix_servers @@ -862,11 +862,11 @@ devture_systemd_service_manager_services_list_auto: | }] if matrix_synapse_auto_compressor_enabled else []) + ([{ - 'name': 'matrix-synapse-admin.service', + 'name': 'matrix-ketesa.service', 'priority': 4000, - 'restart_necessary': (matrix_synapse_admin_restart_necessary | bool), - 'groups': ['matrix', 'synapse-admin'], - }] if matrix_synapse_admin_enabled else []) + 'restart_necessary': (matrix_ketesa_restart_necessary | bool), + 'groups': ['matrix', 'ketesa'], + }] if matrix_ketesa_enabled else []) + ([{ 'name': (matrix_synapse_usage_exporter_identifier + '.service'), @@ -4789,7 +4789,7 @@ matrix_synapse_container_labels_matrix_labels_enabled: "{{ not matrix_synapse_wo matrix_synapse_container_labels_public_client_root_redirection_enabled: "{{ matrix_synapse_container_labels_public_client_root_redirection_url != '' }}" matrix_synapse_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}" -matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled or matrix_element_admin_enabled }}" +matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_ketesa_enabled or matrix_element_admin_enabled }}" matrix_synapse_container_labels_internal_client_synapse_admin_api_enabled: "{{ (matrix_bot_draupnir_enabled and matrix_bot_draupnir_admin_api_enabled) }}" matrix_synapse_container_labels_internal_client_synapse_admin_api_traefik_entrypoints: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" @@ -5000,33 +5000,33 @@ matrix_synapse_auto_compressor_systemd_required_services_list_auto: | ###################################################################### # -# matrix-synapse-admin +# matrix-ketesa # ###################################################################### -matrix_synapse_admin_enabled: false +matrix_ketesa_enabled: false -matrix_synapse_admin_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_synapse_admin_container_image_registry_prefix_upstream_default }}" +matrix_ketesa_container_image_registry_prefix_upstream: "{{ matrix_container_global_registry_prefix_override if matrix_container_global_registry_prefix_override else matrix_ketesa_container_image_registry_prefix_upstream_default }}" -matrix_synapse_admin_container_uid: "{{ matrix_user_uid }}" -matrix_synapse_admin_container_gid: "{{ matrix_user_gid }}" +matrix_ketesa_container_uid: "{{ matrix_user_uid }}" +matrix_ketesa_container_gid: "{{ matrix_user_gid }}" -matrix_synapse_admin_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8766') if matrix_playbook_service_host_bind_interface_prefix else '' }}" +matrix_ketesa_container_http_host_bind_port: "{{ (matrix_playbook_service_host_bind_interface_prefix ~ '8766') if matrix_playbook_service_host_bind_interface_prefix else '' }}" -matrix_synapse_admin_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" +matrix_ketesa_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}" -matrix_synapse_admin_container_network: "{{ matrix_addons_container_network }}" +matrix_ketesa_container_network: "{{ matrix_addons_container_network }}" -matrix_synapse_admin_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" +matrix_ketesa_container_additional_networks: "{{ [matrix_playbook_reverse_proxyable_services_additional_network] if matrix_playbook_reverse_proxyable_services_additional_network else [] }}" -matrix_synapse_admin_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" -matrix_synapse_admin_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" -matrix_synapse_admin_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" -matrix_synapse_admin_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" +matrix_ketesa_container_labels_traefik_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" +matrix_ketesa_container_labels_traefik_docker_network: "{{ matrix_playbook_reverse_proxyable_services_additional_network }}" +matrix_ketesa_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" +matrix_ketesa_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -matrix_synapse_admin_config_externalAuthProvider: "{{ matrix_authentication_service_enabled | default(false) or matrix_synapse_ext_password_provider_ldap_enabled | default(false) }}" +matrix_ketesa_config_externalAuthProvider: "{{ matrix_authentication_service_enabled | default(false) or matrix_synapse_ext_password_provider_ldap_enabled | default(false) }}" -matrix_synapse_admin_config_asManagedUsers_auto: | +matrix_ketesa_config_asManagedUsers_auto: | {{ ([ '^@'+(matrix_alertmanager_receiver_config_matrix_user_id_localpart | default('') | regex_escape) +':'+(matrix_domain | regex_escape)+'$', @@ -5176,7 +5176,7 @@ matrix_synapse_admin_config_asManagedUsers_auto: | ###################################################################### # -# /matrix-synapse-admin +# /matrix-ketesa # ###################################################################### @@ -5641,7 +5641,7 @@ matrix_dendrite_container_labels_traefik_docker_network: "{{ matrix_playbook_rev matrix_dendrite_container_labels_traefik_entrypoints: "{{ traefik_entrypoint_primary }}" matrix_dendrite_container_labels_traefik_tls_certResolver: "{{ traefik_certResolver_primary }}" -matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled }}" +matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: "{{ matrix_ketesa_enabled }}" matrix_dendrite_container_labels_public_client_root_redirection_enabled: "{{ matrix_dendrite_container_labels_public_client_root_redirection_url != '' }}" matrix_dendrite_container_labels_public_client_root_redirection_url: "{{ (('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element) if matrix_client_element_enabled else '' }}" @@ -5956,9 +5956,8 @@ matrix_static_files_file_matrix_client_property_org_matrix_msc2965_authenticatio matrix_static_files_file_matrix_client_property_m_tile_server_entries_enabled: "{{ matrix_client_element_location_sharing_enabled }}" matrix_static_files_file_matrix_client_property_m_tile_server_map_style_url: "{{ ('https://' if matrix_playbook_ssl_enabled else 'http://') + matrix_server_fqn_element }}/map_style.json" -# We set this regardless of whether synapse-admin is enabled, because people may wish to use a hosted (externally) synapse-admin installation and still have it auto-configured. -# See: https://github.com/etkecc/synapse-admin/pull/126 -matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: "{{ matrix_synapse_admin_configuration if matrix_homeserver_implementation == 'synapse' else {} }}" +# We set this regardless of whether Ketesa is enabled, because people may wish to use a hosted (externally) Ketesa installation and still have it auto-configured. +matrix_static_files_file_matrix_client_property_cc_etke_ketesa_auto: "{{ matrix_ketesa_configuration if matrix_homeserver_implementation == 'synapse' else {} }}" matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled: "{{ matrix_livekit_jwt_service_enabled }}" matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_auto: |- diff --git a/i18n/locales/bg/LC_MESSAGES/CHANGELOG.po b/i18n/locales/bg/LC_MESSAGES/CHANGELOG.po index 23a80c042..f6d5b736f 100644 --- a/i18n/locales/bg/LC_MESSAGES/CHANGELOG.po +++ b/i18n/locales/bg/LC_MESSAGES/CHANGELOG.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,7052 +19,8207 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../../CHANGELOG.md:1 -msgid "2025-01-27" +msgid "2026-04-03" msgstr "" #: ../../../CHANGELOG.md:3 -msgid "Redis and KeyDB are no longer part of the playbook" +msgid "(BC Break) Synapse Admin is now Ketesa" msgstr "" #: ../../../CHANGELOG.md:5 -msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly definining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." +msgid "Synapse Admin has been rebranded to **[Ketesa](https://github.com/etkecc/ketesa)** — a landmark release that introduces a new identity, a full UI redesign, mobile-first layout, and deep Matrix Authentication Service (MAS) integration." msgstr "" #: ../../../CHANGELOG.md:7 -msgid "The playbook has gone through several iterations of memorystore implementations:" +msgid "Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables." msgstr "" #: ../../../CHANGELOG.md:9 -msgid "It initially used Redis, auto-installing it when needed by features/services" -msgstr "" - -#: ../../../CHANGELOG.md:10 -msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" +msgid "The `matrix-synapse-admin` role has been **renamed** to `matrix-ketesa`. All `matrix_synapse_admin_*` variables must be **renamed** to `matrix_ketesa_*` in your `vars.yml`." msgstr "" #: ../../../CHANGELOG.md:11 -msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" +msgid "Additionally, the **Docker image** changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. The default path prefix remains `/synapse-admin` for backward compatibility — updating to `/ketesa` is recommended but not required." msgstr "" #: ../../../CHANGELOG.md:13 -msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgid "The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed." msgstr "" #: ../../../CHANGELOG.md:15 -msgid "removing Redis and KeyDB support entirely" +msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details." msgstr "" -#: ../../../CHANGELOG.md:16 -msgid "using Valkey as the sole Redis-compatible memorystore implementation" +#: ../../../CHANGELOG.md:17 +msgid "2026-04-02" msgstr "" -#: ../../../CHANGELOG.md:18 -msgid "To update your configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:20 -msgid "**Most users** don't need to do anything" +#: ../../../CHANGELOG.md:19 +msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default" msgstr "" #: ../../../CHANGELOG.md:21 -msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" +msgid "💡 If you don't use [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md), then this breaking change does not concern you.." msgstr "" -#: ../../../CHANGELOG.md:24 -msgid "2025-01-19" +#: ../../../CHANGELOG.md:23 +msgid "[Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) now ships with `allowSelfServiceProvisioning: false` as default upstream and in this playbook." msgstr "" -#: ../../../CHANGELOG.md:26 -msgid "conduwuit support" +#: ../../../CHANGELOG.md:25 +msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in." msgstr "" -#: ../../../CHANGELOG.md:28 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." +#: ../../../CHANGELOG.md:27 +msgid "Manual provisioning by administrators is now the recommended approach. You do not want to enable Self Service Provisioning unless you have additional custom safeguards like those used by asgard.chat in place." msgstr "" -#: ../../../CHANGELOG.md:30 -msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." -msgstr "" - -#: ../../../CHANGELOG.md:32 -msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:34 -msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." +#: ../../../CHANGELOG.md:29 +msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:" msgstr "" #: ../../../CHANGELOG.md:36 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." +msgid "2026-03-23" msgstr "" -#: ../../../CHANGELOG.md:39 -msgid "2025-01-14" +#: ../../../CHANGELOG.md:38 +msgid "Migration validation system introduced" msgstr "" -#: ../../../CHANGELOG.md:41 -msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +#: ../../../CHANGELOG.md:40 +msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage." msgstr "" -#: ../../../CHANGELOG.md:43 -msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +#: ../../../CHANGELOG.md:42 +msgid "Now, the playbook includes a migration validation system that ensures you're aware of breaking changes before they affect your deployment. You're now forced to acknowledge each breaking change, unless you wish to live dangerously (see below)." msgstr "" #: ../../../CHANGELOG.md:45 -msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." +msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced." msgstr "" #: ../../../CHANGELOG.md:47 -msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." +msgid "**New users** who started from the [example `vars.yml`](examples/vars.yml) file already have this variable set and do not need to do anything." msgstr "" #: ../../../CHANGELOG.md:49 -msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." +msgid "**Existing users** will need to add the following to their `vars.yml` file after reviewing all changelog entries up to now:" msgstr "" -#: ../../../CHANGELOG.md:51 -msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:55 +msgid "Going forward, whenever a breaking change is introduced the playbook will:" +msgstr "" + +#: ../../../CHANGELOG.md:57 +msgid "bump its expected version value (`matrix_playbook_migration_expected_version`), causing a discrepancy with what you validated (`matrix_playbook_migration_validated_version`)" msgstr "" #: ../../../CHANGELOG.md:59 -msgid "2024-11-26" +msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries" msgstr "" #: ../../../CHANGELOG.md:61 -msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" +msgid "After reviewing and adapting your setup, you simply update the variable to the new version." msgstr "" #: ../../../CHANGELOG.md:63 -msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." -msgstr "" - -#: ../../../CHANGELOG.md:65 -msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." -msgstr "" - -#: ../../../CHANGELOG.md:67 -msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." +msgid "If you'd like to live dangerously and skip these checks (not recommended), you can set this once and be done with it:" msgstr "" #: ../../../CHANGELOG.md:69 -msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." +msgid "2026-03-19" msgstr "" #: ../../../CHANGELOG.md:71 -msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." +msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres" msgstr "" #: ../../../CHANGELOG.md:73 -msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." +msgid "When [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) uses the playbook-managed Postgres service, it now connects to it via a [UNIX socket](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" #: ../../../CHANGELOG.md:75 -msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." +msgid "This follows the same approach [applied to Synapse](#synapse-now-prefers-unix-sockets-for-playbook-managed-postgres-and-valkey) and reduces unnecessary container-network wiring, keeping local IPC off the network stack." msgstr "" -#: ../../../CHANGELOG.md:78 -msgid "2024-11-23" +#: ../../../CHANGELOG.md:77 +msgid "If you use an external Postgres server for MAS, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:80 -msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" +#: ../../../CHANGELOG.md:79 ../../../CHANGELOG.md:95 +msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:82 -msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." +#: ../../../CHANGELOG.md:85 +msgid "2026-03-17" msgstr "" -#: ../../../CHANGELOG.md:84 -msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." +#: ../../../CHANGELOG.md:87 +msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey" msgstr "" -#: ../../../CHANGELOG.md:86 -msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." +#: ../../../CHANGELOG.md:89 +msgid "When Synapse uses the playbook-managed Postgres and Valkey services, it now connects to them via [UNIX sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" -#: ../../../CHANGELOG.md:88 -msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." +#: ../../../CHANGELOG.md:91 +msgid "This reduces unnecessary container-network wiring and keeps local IPC off the network stack, which is a bit simpler and slightly more secure." msgstr "" -#: ../../../CHANGELOG.md:90 -msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." +#: ../../../CHANGELOG.md:93 +msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:92 -msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." +#: ../../../CHANGELOG.md:102 +msgid "2026-03-01" msgstr "" -#: ../../../CHANGELOG.md:94 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." +#: ../../../CHANGELOG.md:104 +msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" msgstr "" -#: ../../../CHANGELOG.md:96 ../../../CHANGELOG.md:436 -msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:106 +msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" msgstr "" -#: ../../../CHANGELOG.md:107 -msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:108 +msgid "the Synapse `s3_storage_provider` module configuration" +msgstr "" + +#: ../../../CHANGELOG.md:109 +msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" +msgstr "" + +#: ../../../CHANGELOG.md:111 +msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." +msgstr "" + +#: ../../../CHANGELOG.md:113 +msgid "**Affects**: users of [synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) who have configured a non-empty `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` value." +msgstr "" + +#: ../../../CHANGELOG.md:115 +msgid "If your bucket data was uploaded without the prefix before this fix, enabling proper prefix usage can make existing objects appear missing until data is migrated/copied to the prefixed key namespace." msgstr "" #: ../../../CHANGELOG.md:117 -msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." +msgid "2026-02-26" msgstr "" -#: ../../../CHANGELOG.md:120 -msgid "2024-11-14" +#: ../../../CHANGELOG.md:119 +msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:122 -msgid "HTTP-compression support for Traefik-based setups" +#: ../../../CHANGELOG.md:121 +msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." msgstr "" -#: ../../../CHANGELOG.md:124 -msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." +#: ../../../CHANGELOG.md:123 +msgid "This is not a user-facing change and does not change variable names (`matrix_synapse_reverse_proxy_companion_*` remain the same). The split looked clean on paper, but in practice both parts are tightly coupled through worker routing, tags (`setup-synapse`/`install-synapse`), and lifecycle ordering, so keeping them separate added coordination overhead with little practical benefit." msgstr "" -#: ../../../CHANGELOG.md:126 -msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +#: ../../../CHANGELOG.md:125 +msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." msgstr "" -#: ../../../CHANGELOG.md:128 -msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +#: ../../../CHANGELOG.md:127 +msgid "With this change, Synapse and its reverse-proxy companion are managed in one role (`matrix-synapse`) while still keeping companion logic in dedicated task/template subdirectories for maintainability." msgstr "" -#: ../../../CHANGELOG.md:130 -msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +#: ../../../CHANGELOG.md:129 +msgid "2026-02-21" msgstr "" -#: ../../../CHANGELOG.md:132 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +#: ../../../CHANGELOG.md:131 +msgid "(BC Break) coturn is no longer auto-enabled by default" msgstr "" -#: ../../../CHANGELOG.md:134 -msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +#: ../../../CHANGELOG.md:133 +msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." msgstr "" #: ../../../CHANGELOG.md:135 -msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgid "This reduces resources and attach surface for deployments which:" msgstr "" -#: ../../../CHANGELOG.md:136 -msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +#: ../../../CHANGELOG.md:137 +msgid "either don't need calls at all" msgstr "" #: ../../../CHANGELOG.md:138 -msgid "Timeout adjustments for Traefik-based setups" +msgid "or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack." msgstr "" #: ../../../CHANGELOG.md:140 -msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +msgid "Coturn is still auto-enabled when [Jitsi](./docs/configuring-playbook-jitsi.md) is enabled (`jitsi_enabled: true`), because Jitsi still depends on TURN for legacy Matrix integration." msgstr "" #: ../../../CHANGELOG.md:142 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." +msgid "Additionally, Coturn (when enabled) now defaults to using automatic IP detection of your server's external IP address, instead of assuming your Ansible inventory (`ansible_host`) points to a public address and using it for configuring `coturn_turn_external_ip_address`." msgstr "" #: ../../../CHANGELOG.md:144 -msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." +msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:146 -msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." +#: ../../../CHANGELOG.md:153 +msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" msgstr "" -#: ../../../CHANGELOG.md:148 -msgid "Example of the default timeout values used by the playbook:" +#: ../../../CHANGELOG.md:155 +msgid "For deployments that use the playbook-managed Traefik reverse-proxy, LiveKit TURN over TCP is now SSL-terminated at Traefik and passed as plain TCP to LiveKit (`turn.external_tls = true`) by default." +msgstr "" + +#: ../../../CHANGELOG.md:157 +msgid "To disable this behavior, set `livekit_server_config_turn_external_tls: false` and the playbook will revert to the old behavior - using traefik-certs-dumper to extract SSL certificates out of Traefik and pass them to LiveKit for explicit SSL termination there." msgstr "" #: ../../../CHANGELOG.md:159 -msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." +msgid "If you are using `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), this change does **not** switch behavior automatically. That mode remains using certificate files in the container (Traefik certificates dumper flow) unless you explicitly set the TURN-Traefik mode variables to opt in." msgstr "" -#: ../../../CHANGELOG.md:162 -msgid "2024-11-08" +#: ../../../CHANGELOG.md:161 +msgid "2026-02-17" msgstr "" -#: ../../../CHANGELOG.md:164 -msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" +#: ../../../CHANGELOG.md:163 +msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:166 -msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." +#: ../../../CHANGELOG.md:165 +msgid "The role for prometheus-nginxlog-exporter has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:168 -msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." +#: ../../../CHANGELOG.md:167 +msgid "Along with the relocation, the `matrix_prometheus_nginxlog_exporter_` prefix on its variable names has been renamed to `prometheus_nginxlog_exporter_`, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:170 -msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:173 -msgid "2024-10-28" -msgstr "" - -#: ../../../CHANGELOG.md:175 -msgid "(BC Break) Postmoogle's variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:177 -msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." -msgstr "" - -#: ../../../CHANGELOG.md:179 -msgid "2024-10-19" -msgstr "" - -#: ../../../CHANGELOG.md:181 -msgid "Support for Matrix Authentication Service" -msgstr "" - -#: ../../../CHANGELOG.md:183 -msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." -msgstr "" - -#: ../../../CHANGELOG.md:185 -msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." -msgstr "" - -#: ../../../CHANGELOG.md:187 -msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." -msgstr "" - -#: ../../../CHANGELOG.md:189 -msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." -msgstr "" - -#: ../../../CHANGELOG.md:192 -msgid "2024-09-27" -msgstr "" - -#: ../../../CHANGELOG.md:194 -msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:196 -msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." -msgstr "" - -#: ../../../CHANGELOG.md:198 -msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." -msgstr "" - -#: ../../../CHANGELOG.md:200 -msgid "You need to do the following replacements:" -msgstr "" - -#: ../../../CHANGELOG.md:202 -msgid "`devture_postgres_` -> `postgres_`" -msgstr "" - -#: ../../../CHANGELOG.md:203 -msgid "`devture_traefik_` -> `traefik_`" -msgstr "" - -#: ../../../CHANGELOG.md:205 +#: ../../../CHANGELOG.md:169 ../../../CHANGELOG.md:231 +#: ../../../CHANGELOG.md:241 ../../../CHANGELOG.md:302 +#: ../../../CHANGELOG.md:324 ../../../CHANGELOG.md:859 msgid "As always, the playbook would let you know about this and point out any variables you may have missed." msgstr "" +#: ../../../CHANGELOG.md:171 +msgid "synapse-auto-invite-accept has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:173 +msgid "[synapse-auto-invite-accept](./docs/configuring-playbook-synapse-auto-accept-invite.md) has been removed from the playbook, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0)." +msgstr "" + +#: ../../../CHANGELOG.md:175 +msgid "See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:177 +msgid "If you're using any `matrix_synapse_ext_synapse_auto_accept_invite_*` variables, the playbook will let you know which one you'll need to remove from `vars.yml`." +msgstr "" + +#: ../../../CHANGELOG.md:179 +msgid "2026-02-16" +msgstr "" + +#: ../../../CHANGELOG.md:181 +msgid "matrix-appservice-slack has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:183 +msgid "[matrix-appservice-slack](./docs/configuring-playbook-bridge-appservice-slack.md) has been removed from the playbook, as it has been discontinued because the public Matrix.org Slack bridge has been decommissioned on January 14th, 2026." +msgstr "" + +#: ../../../CHANGELOG.md:185 +msgid "The playbook will let you know if you're using any `matrix_appservice_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bridge-appservice-slack.md#uninstalling-the-component-manually)." +msgstr "" + +#: ../../../CHANGELOG.md:187 +msgid "**Note**: Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](./docs/configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:189 +msgid "2026-02-13" +msgstr "" + +#: ../../../CHANGELOG.md:191 +msgid "Conditional service restart for `install-*` commands" +msgstr "" + +#: ../../../CHANGELOG.md:193 +msgid "When running `install-all` or `install-service` (whether via `just` or raw `ansible-playbook`), only services whose configuration or container image actually changed during the playbook run will now be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime — particularly for services like Traefik (the reverse proxy), which previously caused brief connectivity interruptions on every playbook run even when nothing changed." +msgstr "" + +#: ../../../CHANGELOG.md:195 +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." +msgstr "" + +#: ../../../CHANGELOG.md:197 +msgid "Currently, only Traefik tracks its own changes and benefits from conditional restart. All other services default to being restarted (the previous behavior). This is just the beginning — as more roles gain change-tracking support, playbook performance will improve and downtime will decrease dramatically, especially for `install-all` runs where most services haven't changed." +msgstr "" + +#: ../../../CHANGELOG.md:199 +msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" +msgstr "" + +#: ../../../CHANGELOG.md:201 +msgid "**Before**:" +msgstr "" + +#: ../../../CHANGELOG.md:202 +msgid "total time: ~56 seconds 🐌" +msgstr "" + +#: ../../../CHANGELOG.md:203 +msgid "Traefik restarted: yes (unnecessarily) ❌" +msgstr "" + +#: ../../../CHANGELOG.md:204 +msgid "dependent services restarted: yes, all of them ❌" +msgstr "" + +#: ../../../CHANGELOG.md:205 +msgid "**After**:" +msgstr "" + +#: ../../../CHANGELOG.md:206 +msgid "total time: ~27 seconds ⚡" +msgstr "" + +#: ../../../CHANGELOG.md:207 +msgid "Traefik restarted: no ✅" +msgstr "" + #: ../../../CHANGELOG.md:208 -msgid "2024-09-12" +msgid "dependent services restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:210 -msgid "Support for baibot" +msgid "This behavior can be overridden via `--extra-vars='devture_systemd_service_manager_conditional_restart_enabled=false'` to force unconditional restarts. See [Conditional service restart](docs/just.md#conditional-service-restart) for details." msgstr "" -#: ../../../CHANGELOG.md:212 -msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" +#: ../../../CHANGELOG.md:213 +msgid "2026-02-12" msgstr "" -#: ../../../CHANGELOG.md:214 -msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." +#: ../../../CHANGELOG.md:215 +msgid "Dimension integration manager has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:216 -msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." +#: ../../../CHANGELOG.md:217 +msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." msgstr "" -#: ../../../CHANGELOG.md:218 -msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +#: ../../../CHANGELOG.md:219 +msgid "The playbook will let you know if you're using any `matrix_dimension_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-dimension.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:220 -msgid "Switching synapse-admin to etke.cc's fork" +#: ../../../CHANGELOG.md:221 +msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:222 -msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +#: ../../../CHANGELOG.md:223 +msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:224 -msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +#: ../../../CHANGELOG.md:225 +msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:226 -msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +#: ../../../CHANGELOG.md:227 ../../../CHANGELOG.md:320 +msgid "You need to do the following replacement:" msgstr "" -#: ../../../CHANGELOG.md:228 -msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:229 +msgid "`matrix_client_hydrogen_` -> `hydrogen_`" msgstr "" -#: ../../../CHANGELOG.md:241 -msgid "2024-08-17" +#: ../../../CHANGELOG.md:233 +msgid "2026-02-11" +msgstr "" + +#: ../../../CHANGELOG.md:235 +msgid "(BC Break) coturn role has been relocated and variable names need adjustments" +msgstr "" + +#: ../../../CHANGELOG.md:237 +msgid "The role for coturn has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgstr "" + +#: ../../../CHANGELOG.md:239 +msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:243 -msgid "New appservice-double-puppet service for better double-puppeting" +msgid "conduwuit has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:245 -msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." msgstr "" #: ../../../CHANGELOG.md:247 -msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +msgid "The playbook will let you know if you're using any `matrix_conduwuit_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the service manually](./docs/configuring-playbook-conduwuit.md#uninstalling-the-service-manually)." msgstr "" #: ../../../CHANGELOG.md:249 -msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details." msgstr "" #: ../../../CHANGELOG.md:251 -msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." +msgid "2026-02-09" msgstr "" #: ../../../CHANGELOG.md:253 -msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" +msgstr "" + +#: ../../../CHANGELOG.md:255 +msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +msgstr "" + +#: ../../../CHANGELOG.md:257 +msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)." msgstr "" #: ../../../CHANGELOG.md:259 -msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." +msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use." msgstr "" #: ../../../CHANGELOG.md:261 -msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgid "**For existing installations**, retrieve your current values from the server:" msgstr "" -#: ../../../CHANGELOG.md:264 -msgid "2024-08-15" +#: ../../../CHANGELOG.md:267 +msgid "Then add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:266 -msgid "matrix-media-repo now configured for Authenticated Media" +#: ../../../CHANGELOG.md:276 +msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it." msgstr "" -#: ../../../CHANGELOG.md:268 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +#: ../../../CHANGELOG.md:278 +msgid "2026-02-08" msgstr "" -#: ../../../CHANGELOG.md:270 -msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." +#: ../../../CHANGELOG.md:280 +msgid "Zulip bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:272 -msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." +#: ../../../CHANGELOG.md:282 +msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context." msgstr "" -#: ../../../CHANGELOG.md:274 -msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:284 +msgid "Switched to faster secret derivation for service passwords" msgstr "" -#: ../../../CHANGELOG.md:277 -msgid "2024-08-08" +#: ../../../CHANGELOG.md:286 +msgid "We've switched the method used for deriving service passwords (database passwords, appservice tokens, etc.) from the `matrix_homeserver_generic_secret_key` variable." msgstr "" -#: ../../../CHANGELOG.md:279 -msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +#: ../../../CHANGELOG.md:288 +msgid "The old method used `password_hash('sha512', rounds=655555)` (655,555 rounds of SHA-512 hashing), which was designed for protecting low-entropy human passwords against brute-force attacks. For deriving secrets from an already high-entropy secret key, this many rounds provide no additional security - the secret key's entropy is what protects the derived passwords, not the computational cost of hashing." msgstr "" -#: ../../../CHANGELOG.md:281 -msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +#: ../../../CHANGELOG.md:290 +msgid "The new method uses a single-round `hash('sha512')` with a unique salt per service. This is equally secure for this use case (SHA-512 remains preimage-resistant; brute-forcing a high-entropy key is infeasible regardless of rounds), while being dramatically faster." msgstr "" -#: ../../../CHANGELOG.md:283 -msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +#: ../../../CHANGELOG.md:292 +msgid "On a fast mini PC, evaluating `postgres_managed_databases` (which references multiple database passwords) dropped from **~10.7 seconds to ~0.6 seconds**. The Postgres role evaluates this variable multiple times during a run, so the cumulative savings are significant. All other roles that reference derived passwords also benefit." msgstr "" -#: ../../../CHANGELOG.md:285 -msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:294 +msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change." msgstr "" -#: ../../../CHANGELOG.md:291 -msgid "2024-07-25" +#: ../../../CHANGELOG.md:296 +msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:293 -msgid "synapse-usage-exporter support" -msgstr "" - -#: ../../../CHANGELOG.md:295 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." -msgstr "" - -#: ../../../CHANGELOG.md:297 -msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +#: ../../../CHANGELOG.md:298 +msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:300 -msgid "2024-07-06" -msgstr "" - -#: ../../../CHANGELOG.md:302 -msgid "matrix-alertmanager-receiver support" +msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:304 -msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +msgid "ma1sd has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:306 -msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." msgstr "" #: ../../../CHANGELOG.md:308 -msgid "Traefik v3 and HTTP/3 are here now" +msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)." msgstr "" #: ../../../CHANGELOG.md:310 -msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." +msgid "Please note that some of the functions can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./docs/configuring-playbook-ldap-auth.md) instead." msgstr "" #: ../../../CHANGELOG.md:312 -msgid "Traefik v3" +msgid "2026-02-07" msgstr "" #: ../../../CHANGELOG.md:314 -msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:316 -msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:318 -msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." -msgstr "" - -#: ../../../CHANGELOG.md:320 -msgid "**Most people using the playbook should not have to do any changes**." +msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:322 -msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." -msgstr "" - -#: ../../../CHANGELOG.md:324 -msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." +msgid "`matrix_client_cinny_` -> `cinny_`" msgstr "" #: ../../../CHANGELOG.md:326 -msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." +msgid "The Sliding Sync proxy has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:328 -msgid "HTTP/3 is enabled by default" +msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)." msgstr "" #: ../../../CHANGELOG.md:330 -msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)." msgstr "" #: ../../../CHANGELOG.md:332 -msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +msgid "2026-02-04" msgstr "" #: ../../../CHANGELOG.md:334 -msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" msgstr "" #: ../../../CHANGELOG.md:336 -msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." +#, python-format +msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities." msgstr "" #: ../../../CHANGELOG.md:338 -msgid "To **disable HTTP/3**, you can use the following configuration:" +msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" msgstr "" -#: ../../../CHANGELOG.md:352 -msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +#: ../../../CHANGELOG.md:345 +msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details." msgstr "" -#: ../../../CHANGELOG.md:365 -msgid "2024-07-01" +#: ../../../CHANGELOG.md:347 +msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" msgstr "" -#: ../../../CHANGELOG.md:367 -msgid "synapse-admin is now restricted to your homeserver's URL by default" +#: ../../../CHANGELOG.md:349 +msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))." msgstr "" -#: ../../../CHANGELOG.md:369 -msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." +#: ../../../CHANGELOG.md:351 +msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." msgstr "" -#: ../../../CHANGELOG.md:371 -msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +#: ../../../CHANGELOG.md:353 +msgid "The new implementation calls Synapse's `/whoami` endpoint to resolve access tokens to usernames, enabling proper user-level sticky routing regardless of the authentication system in use (native Synapse auth, MAS, etc.). Results are cached to minimize overhead." msgstr "" -#: ../../../CHANGELOG.md:373 -msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +#: ../../../CHANGELOG.md:355 +msgid "This change:" msgstr "" -#: ../../../CHANGELOG.md:381 -msgid "2024-06-25" +#: ../../../CHANGELOG.md:356 +msgid "**Automatically enables** when sync workers are configured (no action required)" msgstr "" -#: ../../../CHANGELOG.md:383 -msgid "The URL-prefix for Hookshot generic webhooks has changed" +#: ../../../CHANGELOG.md:357 +msgid "**Works universally** with any authentication system" msgstr "" -#: ../../../CHANGELOG.md:385 -msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +#: ../../../CHANGELOG.md:358 +msgid "**Replaces the old implementation** entirely to keep the codebase simple" msgstr "" -#: ../../../CHANGELOG.md:387 -msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +#: ../../../CHANGELOG.md:359 +msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" msgstr "" -#: ../../../CHANGELOG.md:389 -msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." +#: ../../../CHANGELOG.md:361 +msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" msgstr "" -#: ../../../CHANGELOG.md:391 -msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." +#: ../../../CHANGELOG.md:372 +msgid "2025-12-09" msgstr "" -#: ../../../CHANGELOG.md:393 -msgid "When generating new webhooks, you should start seeing the new URLs being used." +#: ../../../CHANGELOG.md:374 +msgid "Traefik Cert Dumper upgrade" msgstr "" -#: ../../../CHANGELOG.md:395 -msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." +#: ../../../CHANGELOG.md:376 +msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration." msgstr "" -#: ../../../CHANGELOG.md:397 -msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +#: ../../../CHANGELOG.md:378 +msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration." msgstr "" -#: ../../../CHANGELOG.md:400 -msgid "2024-06-22" +#: ../../../CHANGELOG.md:380 +msgid "2025-11-23" +msgstr "" + +#: ../../../CHANGELOG.md:382 +msgid "Matrix.to support" +msgstr "" + +#: ../../../CHANGELOG.md:384 +msgid "The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to)." +msgstr "" + +#: ../../../CHANGELOG.md:386 +msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:388 +msgid "2025-11-09" +msgstr "" + +#: ../../../CHANGELOG.md:390 +msgid "matrix-appservice-webhooks has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:392 +msgid "[matrix-appservice-webhooks](./docs/configuring-playbook-bridge-appservice-webhooks.md) has been removed from the playbook, as it has been deprecated since more than several years." +msgstr "" + +#: ../../../CHANGELOG.md:394 +msgid "The playbook will let you know if you're using any `matrix_appservice_webhooks_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-appservice-webhooks.md#uninstalling-the-bridge-manually)." +msgstr "" + +#: ../../../CHANGELOG.md:396 +msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:398 +msgid "[mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) have been removed from the playbook, as they have been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, integrated to the playbook at [2024-02-19](#2024-02-19)." +msgstr "" + +#: ../../../CHANGELOG.md:400 ../../../CHANGELOG.md:432 +msgid "The playbook will let you know if you're using any variables for those bridges:" msgstr "" #: ../../../CHANGELOG.md:402 -msgid "The maubot user is now managed by the playbook" +msgid "`matrix_mautrix_facebook_*`" msgstr "" -#: ../../../CHANGELOG.md:404 -msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +#: ../../../CHANGELOG.md:403 +msgid "`matrix_mautrix_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:406 -msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +#: ../../../CHANGELOG.md:405 ../../../CHANGELOG.md:439 +msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" +msgstr "" + +#: ../../../CHANGELOG.md:407 +msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:408 -msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." +msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:411 -msgid "2024-06-03" +#: ../../../CHANGELOG.md:410 +msgid "2025-11-08" msgstr "" -#: ../../../CHANGELOG.md:413 -msgid "WeChat bridging support" +#: ../../../CHANGELOG.md:412 +msgid "MatrixZulipBridge support" msgstr "" -#: ../../../CHANGELOG.md:415 -msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." +#: ../../../CHANGELOG.md:414 +msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)." msgstr "" -#: ../../../CHANGELOG.md:417 -msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +#: ../../../CHANGELOG.md:416 +msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:418 +msgid "2025-11-07" msgstr "" #: ../../../CHANGELOG.md:420 -msgid "2024-03-26" +msgid "The matrix-chatgpt-bot has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:422 -msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024." msgstr "" #: ../../../CHANGELOG.md:424 -msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)." msgstr "" #: ../../../CHANGELOG.md:426 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." +msgid "2025-11-05" msgstr "" #: ../../../CHANGELOG.md:428 -msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:430 -msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." -msgstr "" - -#: ../../../CHANGELOG.md:432 -msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context." msgstr "" #: ../../../CHANGELOG.md:434 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgid "`matrix_mx_puppet_discord_*`" msgstr "" -#: ../../../CHANGELOG.md:445 -msgid "2024-03-24" +#: ../../../CHANGELOG.md:435 +msgid "`matrix_mx_puppet_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:447 -msgid "Initial work on IPv6 support" +#: ../../../CHANGELOG.md:436 +msgid "`matrix_mx_puppet_slack_*`" msgstr "" -#: ../../../CHANGELOG.md:449 -msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." +#: ../../../CHANGELOG.md:437 +msgid "`matrix_mx_puppet_twitter_*`" msgstr "" -#: ../../../CHANGELOG.md:451 -msgid "It should be noted that:" +#: ../../../CHANGELOG.md:441 +msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:453 -msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" +#: ../../../CHANGELOG.md:442 +msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:443 +msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:444 +msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:446 +msgid "2025-11-04" +msgstr "" + +#: ../../../CHANGELOG.md:448 +msgid "The Go Skype bridge has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:450 +msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025." +msgstr "" + +#: ../../../CHANGELOG.md:452 +msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)." msgstr "" #: ../../../CHANGELOG.md:454 -msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgid "2025-10-02" msgstr "" -#: ../../../CHANGELOG.md:455 -msgid "this is all very new and untested" +#: ../../../CHANGELOG.md:456 +msgid "Element Admin support" msgstr "" -#: ../../../CHANGELOG.md:457 -msgid "Pantalaimon support" +#: ../../../CHANGELOG.md:458 +msgid "The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md)." msgstr "" -#: ../../../CHANGELOG.md:459 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +#: ../../../CHANGELOG.md:460 +msgid "Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time." msgstr "" -#: ../../../CHANGELOG.md:461 -msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +#: ../../../CHANGELOG.md:462 +msgid "Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form)." msgstr "" -#: ../../../CHANGELOG.md:464 -msgid "2024-03-05" +#: ../../../CHANGELOG.md:465 +msgid "2025-04-26" msgstr "" -#: ../../../CHANGELOG.md:466 -msgid "Support for Draupnir-for-all" +#: ../../../CHANGELOG.md:467 +msgid "Continuwuity support" msgstr "" -#: ../../../CHANGELOG.md:468 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +#: ../../../CHANGELOG.md:469 +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." msgstr "" -#: ../../../CHANGELOG.md:470 -msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +#: ../../../CHANGELOG.md:471 +msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path." msgstr "" -#: ../../../CHANGELOG.md:472 -msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +#: ../../../CHANGELOG.md:473 ../../../CHANGELOG.md:686 +msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" #: ../../../CHANGELOG.md:475 -msgid "2024-02-19" +msgid "People that used to run conduwuit, may wish to:" msgstr "" #: ../../../CHANGELOG.md:477 -msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" msgstr "" -#: ../../../CHANGELOG.md:479 -msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." +#: ../../../CHANGELOG.md:478 +msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" msgstr "" -#: ../../../CHANGELOG.md:481 -msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." +#: ../../../CHANGELOG.md:480 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss." msgstr "" #: ../../../CHANGELOG.md:483 -msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" +msgid "2025-04-09" msgstr "" #: ../../../CHANGELOG.md:485 -msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgid "Element Call frontend installation is now optional" msgstr "" #: ../../../CHANGELOG.md:487 -msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**." msgstr "" #: ../../../CHANGELOG.md:489 -msgid "The documentation pages contain more information on how to migrate." +msgid "💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client)." msgstr "" -#: ../../../CHANGELOG.md:492 -msgid "2024-02-14" +#: ../../../CHANGELOG.md:491 +msgid "The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack)." msgstr "" -#: ../../../CHANGELOG.md:494 -msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +#: ../../../CHANGELOG.md:493 +msgid "If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by:" msgstr "" -#: ../../../CHANGELOG.md:496 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." -msgstr "" - -#: ../../../CHANGELOG.md:498 -msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." -msgstr "" - -#: ../../../CHANGELOG.md:500 -msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" +#: ../../../CHANGELOG.md:495 +msgid "Adjusting your `vars.yml` configuration like this:" msgstr "" #: ../../../CHANGELOG.md:502 -msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" -msgstr "" - -#: ../../../CHANGELOG.md:503 -msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" +msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" msgstr "" #: ../../../CHANGELOG.md:504 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +msgid "Getting rid of the `call.element.example.com` DNS record" msgstr "" -#: ../../../CHANGELOG.md:506 -msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +#: ../../../CHANGELOG.md:507 +msgid "2025-03-15" msgstr "" -#: ../../../CHANGELOG.md:508 -msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +#: ../../../CHANGELOG.md:509 +msgid "Element Call support" msgstr "" #: ../../../CHANGELOG.md:511 -msgid "2024-01-31" +msgid "The playbook now supports [Element Call](https://github.com/element-hq/element-call) as an optional feature. Thanks to [wjbeckett](https://github.com/wjbeckett) for getting us started via [PR#3562](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562)." msgstr "" #: ../../../CHANGELOG.md:513 -msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions." msgstr "" #: ../../../CHANGELOG.md:515 -msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." +msgid "💡 For now, Element Call is only supported with the [Synapse](docs/configuring-playbook-synapse.md) homeserver (with [federation](docs/configuring-playbook-federation.md) enabled) and [Element Web](docs/configuring-playbook-client-element-web.md) and Element X mobile clients. See the [Prerequisites](docs/configuring-playbook-element-call.md#prerequisites) section of the [Element Call documentation](docs/configuring-playbook-element-call.md) for more details." msgstr "" #: ../../../CHANGELOG.md:517 -msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." +msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:519 -msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:520 +msgid "2025-03-08" msgstr "" #: ../../../CHANGELOG.md:522 -msgid "2024-01-20" +msgid "6️⃣ IPv6 support enablement recommended by default" msgstr "" #: ../../../CHANGELOG.md:524 -msgid "Support for more efficient (specialized) Synapse workers" +msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet." msgstr "" #: ../../../CHANGELOG.md:526 -msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." msgstr "" #: ../../../CHANGELOG.md:528 -msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" msgstr "" #: ../../../CHANGELOG.md:530 -msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgid "enabling IPv6 support for the Docker container networks:" +msgstr "" + +#: ../../../CHANGELOG.md:531 +msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" msgstr "" #: ../../../CHANGELOG.md:532 -msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +msgid "stop all services (`just stop-all`)" msgstr "" -#: ../../../CHANGELOG.md:535 -msgid "2024-01-17" +#: ../../../CHANGELOG.md:533 +msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" msgstr "" -#: ../../../CHANGELOG.md:537 -msgid "Switching to Element's AGPLv3-licensed Synapse release" +#: ../../../CHANGELOG.md:534 +msgid "re-run the playbook fully: `just install-all`" msgstr "" -#: ../../../CHANGELOG.md:539 -msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +#: ../../../CHANGELOG.md:536 +msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" msgstr "" -#: ../../../CHANGELOG.md:541 -msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +#: ../../../CHANGELOG.md:538 +msgid "2025-02-26" +msgstr "" + +#: ../../../CHANGELOG.md:540 +msgid "🪦 Bye-bye, Email2Matrix" msgstr "" #: ../../../CHANGELOG.md:542 -msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today." msgstr "" #: ../../../CHANGELOG.md:544 -msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration." msgstr "" -#: ../../../CHANGELOG.md:546 -msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +#: ../../../CHANGELOG.md:547 +msgid "2025-02-23" msgstr "" -#: ../../../CHANGELOG.md:548 -msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." +#: ../../../CHANGELOG.md:549 +msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" msgstr "" -#: ../../../CHANGELOG.md:550 -msgid "**What does this mean to you?**" +#: ../../../CHANGELOG.md:551 +msgid "Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks." msgstr "" -#: ../../../CHANGELOG.md:552 -msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." -msgstr "" - -#: ../../../CHANGELOG.md:554 -msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +#: ../../../CHANGELOG.md:553 +msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**." msgstr "" #: ../../../CHANGELOG.md:556 -msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgid "In light of this new information, you have 2 options:" msgstr "" #: ../../../CHANGELOG.md:558 -msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by intruducing a new Ansible variable. You can do it like this:" +msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" +msgstr "" + +#: ../../../CHANGELOG.md:560 +msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." +msgstr "" + +#: ../../../CHANGELOG.md:562 +msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" +msgstr "" + +#: ../../../CHANGELOG.md:564 +msgid "Consider closing the STUN/UDP port with the following configuration:" msgstr "" #: ../../../CHANGELOG.md:570 -msgid "Notes:" +msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" msgstr "" #: ../../../CHANGELOG.md:572 -msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +msgid "2025-02-21" msgstr "" #: ../../../CHANGELOG.md:574 -msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" msgstr "" #: ../../../CHANGELOG.md:576 -msgid "2024-01-16" +msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`." msgstr "" #: ../../../CHANGELOG.md:578 -msgid "`Draupnir` has been relicensed to AFL-3.0" +msgid "This variable did **2 different things at once**:" msgstr "" #: ../../../CHANGELOG.md:580 -msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +msgid "ensured that container networks were created with IPv6 being enabled" msgstr "" -#: ../../../CHANGELOG.md:582 -msgid "2024-01-15" +#: ../../../CHANGELOG.md:581 +msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)" +msgstr "" + +#: ../../../CHANGELOG.md:583 +msgid "Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:" msgstr "" #: ../../../CHANGELOG.md:584 -msgid "Goodbye, `matrix-nginx-proxy` 🪦" +msgid "`ip6tables` defaults to `true` for everyone" msgstr "" -#: ../../../CHANGELOG.md:586 -msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." +#: ../../../CHANGELOG.md:585 +msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" msgstr "" -#: ../../../CHANGELOG.md:588 -msgid "Backstory on `matrix-nginx-proxy`" +#: ../../../CHANGELOG.md:587 +msgid "In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`." msgstr "" #: ../../../CHANGELOG.md:590 -msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." +msgid "This change affects you like this:" msgstr "" #: ../../../CHANGELOG.md:592 -msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." +msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" +msgstr "" + +#: ../../../CHANGELOG.md:593 +msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" msgstr "" #: ../../../CHANGELOG.md:594 -msgid "To us, `matrix-nginx-proxy` was:" +msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected." msgstr "" -#: ../../../CHANGELOG.md:596 -msgid "an [nginx](https://nginx.org/)-based reverse-proxy" -msgstr "" - -#: ../../../CHANGELOG.md:597 -msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" -msgstr "" - -#: ../../../CHANGELOG.md:598 -msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" -msgstr "" - -#: ../../../CHANGELOG.md:599 -msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" -msgstr "" - -#: ../../../CHANGELOG.md:600 -msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" -msgstr "" - -#: ../../../CHANGELOG.md:601 -msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" -msgstr "" - -#: ../../../CHANGELOG.md:602 -msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" -msgstr "" - -#: ../../../CHANGELOG.md:604 -msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +#: ../../../CHANGELOG.md:595 +msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:" msgstr "" #: ../../../CHANGELOG.md:606 -msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +msgid "Support for bridging to Bluesky via mautrix-bluesky" msgstr "" #: ../../../CHANGELOG.md:608 -msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)." msgstr "" #: ../../../CHANGELOG.md:610 -msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:612 -msgid "Going Traefik-native and cutting out all middlemen" +#: ../../../CHANGELOG.md:613 +msgid "2025-02-19" msgstr "" -#: ../../../CHANGELOG.md:614 -msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +#: ../../../CHANGELOG.md:615 +msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" msgstr "" -#: ../../../CHANGELOG.md:616 -msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +#: ../../../CHANGELOG.md:617 +msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)." msgstr "" -#: ../../../CHANGELOG.md:618 -msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +#: ../../../CHANGELOG.md:619 +msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem." msgstr "" -#: ../../../CHANGELOG.md:620 -msgid "Traefik now has an extra job" +#: ../../../CHANGELOG.md:621 +msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." msgstr "" -#: ../../../CHANGELOG.md:622 -msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +#: ../../../CHANGELOG.md:623 +msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." msgstr "" -#: ../../../CHANGELOG.md:624 -msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +#: ../../../CHANGELOG.md:625 +msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:626 -msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." -msgstr "" - -#: ../../../CHANGELOG.md:628 -msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." -msgstr "" - -#: ../../../CHANGELOG.md:630 -msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." -msgstr "" - -#: ../../../CHANGELOG.md:632 -msgid "Traefik serving this second purpose has a few downsides:" -msgstr "" - -#: ../../../CHANGELOG.md:634 -msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +#: ../../../CHANGELOG.md:631 +msgid "[!WARNING] People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)." msgstr "" #: ../../../CHANGELOG.md:635 -msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +msgid "2025-02-17" msgstr "" #: ../../../CHANGELOG.md:637 -msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgid "FluffyChat Web support" msgstr "" #: ../../../CHANGELOG.md:639 -msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host." msgstr "" #: ../../../CHANGELOG.md:641 -msgid "**People runnning their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:643 -msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +#: ../../../CHANGELOG.md:644 +msgid "2025-02-03" msgstr "" -#: ../../../CHANGELOG.md:645 -msgid "People managing their own Traefik instance need to do minor changes" +#: ../../../CHANGELOG.md:646 +msgid "The mautrix-hangouts bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:647 -msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." +#: ../../../CHANGELOG.md:648 +msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025." msgstr "" -#: ../../../CHANGELOG.md:649 -msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." +#: ../../../CHANGELOG.md:650 +msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." msgstr "" -#: ../../../CHANGELOG.md:651 -msgid "People fronting Traefik with another reverse proxy need to do minor changes" -msgstr "" - -#: ../../../CHANGELOG.md:653 -msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +#: ../../../CHANGELOG.md:652 +msgid "The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually)." msgstr "" #: ../../../CHANGELOG.md:655 -msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +msgid "2025-01-27" msgstr "" #: ../../../CHANGELOG.md:657 -msgid "Supported reverse proxy types are now fewer" +msgid "Redis and KeyDB are no longer part of the playbook" msgstr "" #: ../../../CHANGELOG.md:659 -msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." +msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." msgstr "" #: ../../../CHANGELOG.md:661 -msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgid "The playbook has gone through several iterations of memorystore implementations:" msgstr "" #: ../../../CHANGELOG.md:663 -msgid "The complexity of this is too high, so we only support 3 values right now:" +msgid "It initially used Redis, auto-installing it when needed by features/services" +msgstr "" + +#: ../../../CHANGELOG.md:664 +msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" msgstr "" #: ../../../CHANGELOG.md:665 -msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" -msgstr "" - -#: ../../../CHANGELOG.md:666 -msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" msgstr "" #: ../../../CHANGELOG.md:667 -msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgid "To reduce configuration complexity and maintenance overhead, we are now:" msgstr "" #: ../../../CHANGELOG.md:669 -msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgid "removing Redis and KeyDB support entirely" msgstr "" -#: ../../../CHANGELOG.md:671 -msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +#: ../../../CHANGELOG.md:670 +msgid "using Valkey as the sole Redis-compatible memorystore implementation" msgstr "" -#: ../../../CHANGELOG.md:673 -msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +#: ../../../CHANGELOG.md:672 +msgid "To update your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:674 +msgid "**Most users** don't need to do anything" msgstr "" #: ../../../CHANGELOG.md:675 -msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" -msgstr "" - -#: ../../../CHANGELOG.md:676 -msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" msgstr "" #: ../../../CHANGELOG.md:678 -msgid "Container networking changes" +msgid "2025-01-19" msgstr "" #: ../../../CHANGELOG.md:680 -msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +msgid "conduwuit support" msgstr "" #: ../../../CHANGELOG.md:682 -msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." msgstr "" #: ../../../CHANGELOG.md:684 -msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." -msgstr "" - -#: ../../../CHANGELOG.md:686 -msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." msgstr "" #: ../../../CHANGELOG.md:688 -msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." msgstr "" #: ../../../CHANGELOG.md:690 -msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." msgstr "" -#: ../../../CHANGELOG.md:692 -msgid "Metrics exposure changes" +#: ../../../CHANGELOG.md:693 +msgid "2025-01-14" msgstr "" -#: ../../../CHANGELOG.md:694 -msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +#: ../../../CHANGELOG.md:695 +msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" msgstr "" -#: ../../../CHANGELOG.md:696 -msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +#: ../../../CHANGELOG.md:697 +msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." msgstr "" -#: ../../../CHANGELOG.md:698 -msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +#: ../../../CHANGELOG.md:699 +msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." msgstr "" -#: ../../../CHANGELOG.md:700 -msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." +#: ../../../CHANGELOG.md:701 +msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." msgstr "" -#: ../../../CHANGELOG.md:702 -msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +#: ../../../CHANGELOG.md:703 +msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." msgstr "" -#: ../../../CHANGELOG.md:704 -msgid "Matrix static files" +#: ../../../CHANGELOG.md:705 +msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:706 -msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +#: ../../../CHANGELOG.md:713 +msgid "2024-11-26" msgstr "" -#: ../../../CHANGELOG.md:708 -msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +#: ../../../CHANGELOG.md:715 +msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" msgstr "" -#: ../../../CHANGELOG.md:710 -msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +#: ../../../CHANGELOG.md:717 +msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." msgstr "" -#: ../../../CHANGELOG.md:712 -msgid "A note on performance" +#: ../../../CHANGELOG.md:719 +msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." msgstr "" -#: ../../../CHANGELOG.md:714 -msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +#: ../../../CHANGELOG.md:721 +msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." msgstr "" -#: ../../../CHANGELOG.md:716 -msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +#: ../../../CHANGELOG.md:723 +msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." msgstr "" -#: ../../../CHANGELOG.md:718 -msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +#: ../../../CHANGELOG.md:725 +msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." msgstr "" -#: ../../../CHANGELOG.md:720 -msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +#: ../../../CHANGELOG.md:727 +msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." msgstr "" -#: ../../../CHANGELOG.md:722 -msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." -msgstr "" - -#: ../../../CHANGELOG.md:724 -msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." -msgstr "" - -#: ../../../CHANGELOG.md:726 -msgid "Migration procedure" -msgstr "" - -#: ../../../CHANGELOG.md:728 -msgid "The updated playbook will automatically perform some migration tasks for you:" -msgstr "" - -#: ../../../CHANGELOG.md:730 -msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." +#: ../../../CHANGELOG.md:729 +msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." msgstr "" #: ../../../CHANGELOG.md:732 -msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." +msgid "2024-11-23" msgstr "" #: ../../../CHANGELOG.md:734 -msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." +msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" msgstr "" #: ../../../CHANGELOG.md:736 -msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." msgstr "" #: ../../../CHANGELOG.md:738 -msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." msgstr "" #: ../../../CHANGELOG.md:740 -msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." msgstr "" #: ../../../CHANGELOG.md:742 -msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." msgstr "" #: ../../../CHANGELOG.md:744 -msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." msgstr "" #: ../../../CHANGELOG.md:746 -msgid "Conclusion" +msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." msgstr "" #: ../../../CHANGELOG.md:748 -msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." msgstr "" -#: ../../../CHANGELOG.md:750 -msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" -msgstr "" - -#: ../../../CHANGELOG.md:753 -msgid "2024-01-14" -msgstr "" - -#: ../../../CHANGELOG.md:755 -msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" -msgstr "" - -#: ../../../CHANGELOG.md:757 -msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." -msgstr "" - -#: ../../../CHANGELOG.md:759 -msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." +#: ../../../CHANGELOG.md:750 ../../../CHANGELOG.md:1090 +msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:761 -msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:763 -msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." +#: ../../../CHANGELOG.md:771 +msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." msgstr "" -#: ../../../CHANGELOG.md:765 -msgid "Adapt your configuration as seen below:" +#: ../../../CHANGELOG.md:774 +msgid "2024-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:776 +msgid "HTTP-compression support for Traefik-based setups" +msgstr "" + +#: ../../../CHANGELOG.md:778 +msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." +msgstr "" + +#: ../../../CHANGELOG.md:780 +msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +msgstr "" + +#: ../../../CHANGELOG.md:782 +msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +msgstr "" + +#: ../../../CHANGELOG.md:784 +msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +msgstr "" + +#: ../../../CHANGELOG.md:786 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +msgstr "" + +#: ../../../CHANGELOG.md:788 +msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +msgstr "" + +#: ../../../CHANGELOG.md:789 +msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgstr "" + +#: ../../../CHANGELOG.md:790 +msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +msgstr "" + +#: ../../../CHANGELOG.md:792 +msgid "Timeout adjustments for Traefik-based setups" +msgstr "" + +#: ../../../CHANGELOG.md:794 +msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +msgstr "" + +#: ../../../CHANGELOG.md:796 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." msgstr "" #: ../../../CHANGELOG.md:798 -msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." msgstr "" -#: ../../../CHANGELOG.md:801 -msgid "2024-01-13" +#: ../../../CHANGELOG.md:800 +msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." msgstr "" -#: ../../../CHANGELOG.md:803 -msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" -msgstr "" - -#: ../../../CHANGELOG.md:805 -msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." -msgstr "" - -#: ../../../CHANGELOG.md:807 -msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." -msgstr "" - -#: ../../../CHANGELOG.md:809 -msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." -msgstr "" - -#: ../../../CHANGELOG.md:811 -msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +#: ../../../CHANGELOG.md:802 +msgid "Example of the default timeout values used by the playbook:" msgstr "" #: ../../../CHANGELOG.md:813 -msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." +msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." msgstr "" -#: ../../../CHANGELOG.md:815 -msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +#: ../../../CHANGELOG.md:816 +msgid "2024-11-08" msgstr "" -#: ../../../CHANGELOG.md:817 -msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +#: ../../../CHANGELOG.md:818 +msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" msgstr "" -#: ../../../CHANGELOG.md:819 -msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +#: ../../../CHANGELOG.md:820 +msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." msgstr "" -#: ../../../CHANGELOG.md:821 -msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +#: ../../../CHANGELOG.md:822 +msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." msgstr "" #: ../../../CHANGELOG.md:824 -msgid "2024-01-05" +msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" msgstr "" -#: ../../../CHANGELOG.md:826 -msgid "matrix-mailer has been replaced by the exim-relay external role" +#: ../../../CHANGELOG.md:827 +msgid "2024-10-28" msgstr "" -#: ../../../CHANGELOG.md:828 ../../../CHANGELOG.md:1468 -msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +#: ../../../CHANGELOG.md:829 +msgid "(BC Break) Postmoogle's variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:830 -msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +#: ../../../CHANGELOG.md:831 +msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." msgstr "" -#: ../../../CHANGELOG.md:832 -msgid "To migrate:" -msgstr "" - -#: ../../../CHANGELOG.md:834 -msgid "pull the playbook changes, as usual" +#: ../../../CHANGELOG.md:833 +msgid "2024-10-19" msgstr "" #: ../../../CHANGELOG.md:835 -msgid "update your roles (run `just roles` or `make roles`)" -msgstr "" - -#: ../../../CHANGELOG.md:836 -msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgid "Support for Matrix Authentication Service" msgstr "" #: ../../../CHANGELOG.md:837 -msgid "re-run the playbook (`install-all` or `setup-all`)" +msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" #: ../../../CHANGELOG.md:839 -msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." msgstr "" -#: ../../../CHANGELOG.md:842 -msgid "2024-01-02" +#: ../../../CHANGELOG.md:841 +msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." msgstr "" -#: ../../../CHANGELOG.md:844 -msgid "mautrix-signal now powered by the new Go-based bridge" +#: ../../../CHANGELOG.md:843 +msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." msgstr "" #: ../../../CHANGELOG.md:846 -msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +msgid "2024-09-27" msgstr "" #: ../../../CHANGELOG.md:848 -msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:850 -msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:853 -msgid "2023-10-23" +#: ../../../CHANGELOG.md:852 +msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:855 -msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +#: ../../../CHANGELOG.md:854 +msgid "You need to do the following replacements:" +msgstr "" + +#: ../../../CHANGELOG.md:856 +msgid "`devture_postgres_` -> `postgres_`" msgstr "" #: ../../../CHANGELOG.md:857 +msgid "`devture_traefik_` -> `traefik_`" +msgstr "" + +#: ../../../CHANGELOG.md:862 +msgid "2024-09-12" +msgstr "" + +#: ../../../CHANGELOG.md:864 +msgid "Support for baibot" +msgstr "" + +#: ../../../CHANGELOG.md:866 +msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" +msgstr "" + +#: ../../../CHANGELOG.md:868 +msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." +msgstr "" + +#: ../../../CHANGELOG.md:870 +msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." +msgstr "" + +#: ../../../CHANGELOG.md:872 +msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:874 +msgid "Switching synapse-admin to etke.cc's fork" +msgstr "" + +#: ../../../CHANGELOG.md:876 +msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +msgstr "" + +#: ../../../CHANGELOG.md:878 +msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +msgstr "" + +#: ../../../CHANGELOG.md:880 +msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +msgstr "" + +#: ../../../CHANGELOG.md:882 +msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:895 +msgid "2024-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:897 +msgid "New appservice-double-puppet service for better double-puppeting" +msgstr "" + +#: ../../../CHANGELOG.md:899 +msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +msgstr "" + +#: ../../../CHANGELOG.md:901 +msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +msgstr "" + +#: ../../../CHANGELOG.md:903 +msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +msgstr "" + +#: ../../../CHANGELOG.md:905 +msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." +msgstr "" + +#: ../../../CHANGELOG.md:907 +msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:913 +msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." +msgstr "" + +#: ../../../CHANGELOG.md:915 +msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgstr "" + +#: ../../../CHANGELOG.md:918 +msgid "2024-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:920 +msgid "matrix-media-repo now configured for Authenticated Media" +msgstr "" + +#: ../../../CHANGELOG.md:922 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +msgstr "" + +#: ../../../CHANGELOG.md:924 +msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." +msgstr "" + +#: ../../../CHANGELOG.md:926 +msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." +msgstr "" + +#: ../../../CHANGELOG.md:928 +msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:931 +msgid "2024-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:933 +msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +msgstr "" + +#: ../../../CHANGELOG.md:935 +msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +msgstr "" + +#: ../../../CHANGELOG.md:937 +msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +msgstr "" + +#: ../../../CHANGELOG.md:939 +msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:945 +msgid "2024-07-25" +msgstr "" + +#: ../../../CHANGELOG.md:947 +msgid "synapse-usage-exporter support" +msgstr "" + +#: ../../../CHANGELOG.md:949 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." +msgstr "" + +#: ../../../CHANGELOG.md:951 +msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:954 +msgid "2024-07-06" +msgstr "" + +#: ../../../CHANGELOG.md:956 +msgid "matrix-alertmanager-receiver support" +msgstr "" + +#: ../../../CHANGELOG.md:958 +msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +msgstr "" + +#: ../../../CHANGELOG.md:960 +msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +msgstr "" + +#: ../../../CHANGELOG.md:962 +msgid "Traefik v3 and HTTP/3 are here now" +msgstr "" + +#: ../../../CHANGELOG.md:964 +msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." +msgstr "" + +#: ../../../CHANGELOG.md:966 +msgid "Traefik v3" +msgstr "" + +#: ../../../CHANGELOG.md:968 +msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgstr "" + +#: ../../../CHANGELOG.md:970 +msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +msgstr "" + +#: ../../../CHANGELOG.md:972 +msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." +msgstr "" + +#: ../../../CHANGELOG.md:974 +msgid "**Most people using the playbook should not have to do any changes**." +msgstr "" + +#: ../../../CHANGELOG.md:976 +msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgstr "" + +#: ../../../CHANGELOG.md:978 +msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." +msgstr "" + +#: ../../../CHANGELOG.md:980 +msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." +msgstr "" + +#: ../../../CHANGELOG.md:982 +msgid "HTTP/3 is enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:984 +msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +msgstr "" + +#: ../../../CHANGELOG.md:986 +msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +msgstr "" + +#: ../../../CHANGELOG.md:988 +msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +msgstr "" + +#: ../../../CHANGELOG.md:990 +msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." +msgstr "" + +#: ../../../CHANGELOG.md:992 +msgid "To **disable HTTP/3**, you can use the following configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:1006 +msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +msgstr "" + +#: ../../../CHANGELOG.md:1019 +msgid "2024-07-01" +msgstr "" + +#: ../../../CHANGELOG.md:1021 +msgid "synapse-admin is now restricted to your homeserver's URL by default" +msgstr "" + +#: ../../../CHANGELOG.md:1023 +msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." +msgstr "" + +#: ../../../CHANGELOG.md:1025 +msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +msgstr "" + +#: ../../../CHANGELOG.md:1027 +msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:1035 +msgid "2024-06-25" +msgstr "" + +#: ../../../CHANGELOG.md:1037 +msgid "The URL-prefix for Hookshot generic webhooks has changed" +msgstr "" + +#: ../../../CHANGELOG.md:1039 +msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +msgstr "" + +#: ../../../CHANGELOG.md:1041 +msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +msgstr "" + +#: ../../../CHANGELOG.md:1043 +msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." +msgstr "" + +#: ../../../CHANGELOG.md:1045 +msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." +msgstr "" + +#: ../../../CHANGELOG.md:1047 +msgid "When generating new webhooks, you should start seeing the new URLs being used." +msgstr "" + +#: ../../../CHANGELOG.md:1049 +msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." +msgstr "" + +#: ../../../CHANGELOG.md:1051 +msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +msgstr "" + +#: ../../../CHANGELOG.md:1054 +msgid "2024-06-22" +msgstr "" + +#: ../../../CHANGELOG.md:1056 +msgid "The maubot user is now managed by the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:1058 +msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1060 +msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +msgstr "" + +#: ../../../CHANGELOG.md:1062 +msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." +msgstr "" + +#: ../../../CHANGELOG.md:1065 +msgid "2024-06-03" +msgstr "" + +#: ../../../CHANGELOG.md:1067 +msgid "WeChat bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:1069 +msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:1071 +msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +msgstr "" + +#: ../../../CHANGELOG.md:1074 +msgid "2024-03-26" +msgstr "" + +#: ../../../CHANGELOG.md:1076 +msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +msgstr "" + +#: ../../../CHANGELOG.md:1078 +msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgstr "" + +#: ../../../CHANGELOG.md:1080 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." +msgstr "" + +#: ../../../CHANGELOG.md:1082 +msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." +msgstr "" + +#: ../../../CHANGELOG.md:1084 +msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." +msgstr "" + +#: ../../../CHANGELOG.md:1086 +msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgstr "" + +#: ../../../CHANGELOG.md:1088 +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgstr "" + +#: ../../../CHANGELOG.md:1099 +msgid "2024-03-24" +msgstr "" + +#: ../../../CHANGELOG.md:1101 +msgid "Initial work on IPv6 support" +msgstr "" + +#: ../../../CHANGELOG.md:1103 +msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." +msgstr "" + +#: ../../../CHANGELOG.md:1105 +msgid "It should be noted that:" +msgstr "" + +#: ../../../CHANGELOG.md:1107 +msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" +msgstr "" + +#: ../../../CHANGELOG.md:1108 +msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgstr "" + +#: ../../../CHANGELOG.md:1109 +msgid "this is all very new and untested" +msgstr "" + +#: ../../../CHANGELOG.md:1111 +msgid "Pantalaimon support" +msgstr "" + +#: ../../../CHANGELOG.md:1113 +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +msgstr "" + +#: ../../../CHANGELOG.md:1115 +msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:1118 +msgid "2024-03-05" +msgstr "" + +#: ../../../CHANGELOG.md:1120 +msgid "Support for Draupnir-for-all" +msgstr "" + +#: ../../../CHANGELOG.md:1122 +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +msgstr "" + +#: ../../../CHANGELOG.md:1124 +msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1126 +msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +msgstr "" + +#: ../../../CHANGELOG.md:1129 +msgid "2024-02-19" +msgstr "" + +#: ../../../CHANGELOG.md:1131 +msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +msgstr "" + +#: ../../../CHANGELOG.md:1133 +msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:1135 +msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." +msgstr "" + +#: ../../../CHANGELOG.md:1137 +msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" +msgstr "" + +#: ../../../CHANGELOG.md:1139 +msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1141 +msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1143 +msgid "The documentation pages contain more information on how to migrate." +msgstr "" + +#: ../../../CHANGELOG.md:1146 +msgid "2024-02-14" +msgstr "" + +#: ../../../CHANGELOG.md:1148 +msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:1150 +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." +msgstr "" + +#: ../../../CHANGELOG.md:1152 +msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." +msgstr "" + +#: ../../../CHANGELOG.md:1154 +msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" +msgstr "" + +#: ../../../CHANGELOG.md:1156 +msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" +msgstr "" + +#: ../../../CHANGELOG.md:1157 +msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" +msgstr "" + +#: ../../../CHANGELOG.md:1158 +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +msgstr "" + +#: ../../../CHANGELOG.md:1160 +msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +msgstr "" + +#: ../../../CHANGELOG.md:1162 +msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +msgstr "" + +#: ../../../CHANGELOG.md:1165 +msgid "2024-01-31" +msgstr "" + +#: ../../../CHANGELOG.md:1167 +msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +msgstr "" + +#: ../../../CHANGELOG.md:1169 +msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1171 +msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." +msgstr "" + +#: ../../../CHANGELOG.md:1173 +msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1176 +msgid "2024-01-20" +msgstr "" + +#: ../../../CHANGELOG.md:1178 +msgid "Support for more efficient (specialized) Synapse workers" +msgstr "" + +#: ../../../CHANGELOG.md:1180 +msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgstr "" + +#: ../../../CHANGELOG.md:1182 +msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgstr "" + +#: ../../../CHANGELOG.md:1184 +msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgstr "" + +#: ../../../CHANGELOG.md:1186 +msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +msgstr "" + +#: ../../../CHANGELOG.md:1189 +msgid "2024-01-17" +msgstr "" + +#: ../../../CHANGELOG.md:1191 +msgid "Switching to Element's AGPLv3-licensed Synapse release" +msgstr "" + +#: ../../../CHANGELOG.md:1193 +msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +msgstr "" + +#: ../../../CHANGELOG.md:1195 +msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +msgstr "" + +#: ../../../CHANGELOG.md:1196 +msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +msgstr "" + +#: ../../../CHANGELOG.md:1198 +msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +msgstr "" + +#: ../../../CHANGELOG.md:1200 +msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +msgstr "" + +#: ../../../CHANGELOG.md:1202 +msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." +msgstr "" + +#: ../../../CHANGELOG.md:1204 +msgid "**What does this mean to you?**" +msgstr "" + +#: ../../../CHANGELOG.md:1206 +msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:1208 +msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +msgstr "" + +#: ../../../CHANGELOG.md:1210 +msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgstr "" + +#: ../../../CHANGELOG.md:1212 +msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:" +msgstr "" + +#: ../../../CHANGELOG.md:1224 +msgid "Notes:" +msgstr "" + +#: ../../../CHANGELOG.md:1226 +msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +msgstr "" + +#: ../../../CHANGELOG.md:1228 +msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +msgstr "" + +#: ../../../CHANGELOG.md:1230 +msgid "2024-01-16" +msgstr "" + +#: ../../../CHANGELOG.md:1232 +msgid "`Draupnir` has been relicensed to AFL-3.0" +msgstr "" + +#: ../../../CHANGELOG.md:1234 +msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +msgstr "" + +#: ../../../CHANGELOG.md:1236 +msgid "2024-01-15" +msgstr "" + +#: ../../../CHANGELOG.md:1238 +msgid "Goodbye, `matrix-nginx-proxy` 🪦" +msgstr "" + +#: ../../../CHANGELOG.md:1240 +msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." +msgstr "" + +#: ../../../CHANGELOG.md:1242 +msgid "Backstory on `matrix-nginx-proxy`" +msgstr "" + +#: ../../../CHANGELOG.md:1244 +msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." +msgstr "" + +#: ../../../CHANGELOG.md:1246 +msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." +msgstr "" + +#: ../../../CHANGELOG.md:1248 +msgid "To us, `matrix-nginx-proxy` was:" +msgstr "" + +#: ../../../CHANGELOG.md:1250 +msgid "an [nginx](https://nginx.org/)-based reverse-proxy" +msgstr "" + +#: ../../../CHANGELOG.md:1251 +msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1252 +msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" +msgstr "" + +#: ../../../CHANGELOG.md:1253 +msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" +msgstr "" + +#: ../../../CHANGELOG.md:1254 +msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" +msgstr "" + +#: ../../../CHANGELOG.md:1255 +msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" +msgstr "" + +#: ../../../CHANGELOG.md:1256 +msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" +msgstr "" + +#: ../../../CHANGELOG.md:1258 +msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +msgstr "" + +#: ../../../CHANGELOG.md:1260 +msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +msgstr "" + +#: ../../../CHANGELOG.md:1262 +msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +msgstr "" + +#: ../../../CHANGELOG.md:1264 +msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +msgstr "" + +#: ../../../CHANGELOG.md:1266 +msgid "Going Traefik-native and cutting out all middlemen" +msgstr "" + +#: ../../../CHANGELOG.md:1268 +msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +msgstr "" + +#: ../../../CHANGELOG.md:1270 +msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +msgstr "" + +#: ../../../CHANGELOG.md:1272 +msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +msgstr "" + +#: ../../../CHANGELOG.md:1274 +msgid "Traefik now has an extra job" +msgstr "" + +#: ../../../CHANGELOG.md:1276 +msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +msgstr "" + +#: ../../../CHANGELOG.md:1278 +msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +msgstr "" + +#: ../../../CHANGELOG.md:1280 +msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." +msgstr "" + +#: ../../../CHANGELOG.md:1282 +msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." +msgstr "" + +#: ../../../CHANGELOG.md:1284 +msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." +msgstr "" + +#: ../../../CHANGELOG.md:1286 +msgid "Traefik serving this second purpose has a few downsides:" +msgstr "" + +#: ../../../CHANGELOG.md:1288 +msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +msgstr "" + +#: ../../../CHANGELOG.md:1289 +msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +msgstr "" + +#: ../../../CHANGELOG.md:1291 +msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgstr "" + +#: ../../../CHANGELOG.md:1293 +msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +msgstr "" + +#: ../../../CHANGELOG.md:1295 +msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +msgstr "" + +#: ../../../CHANGELOG.md:1297 +msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +msgstr "" + +#: ../../../CHANGELOG.md:1299 +msgid "People managing their own Traefik instance need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1301 +msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." +msgstr "" + +#: ../../../CHANGELOG.md:1303 +msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." +msgstr "" + +#: ../../../CHANGELOG.md:1305 +msgid "People fronting Traefik with another reverse proxy need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1307 +msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +msgstr "" + +#: ../../../CHANGELOG.md:1309 +msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +msgstr "" + +#: ../../../CHANGELOG.md:1311 +msgid "Supported reverse proxy types are now fewer" +msgstr "" + +#: ../../../CHANGELOG.md:1313 +msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." +msgstr "" + +#: ../../../CHANGELOG.md:1315 +msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgstr "" + +#: ../../../CHANGELOG.md:1317 +msgid "The complexity of this is too high, so we only support 3 values right now:" +msgstr "" + +#: ../../../CHANGELOG.md:1319 +msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" +msgstr "" + +#: ../../../CHANGELOG.md:1320 +msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgstr "" + +#: ../../../CHANGELOG.md:1321 +msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgstr "" + +#: ../../../CHANGELOG.md:1323 +msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgstr "" + +#: ../../../CHANGELOG.md:1325 +msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +msgstr "" + +#: ../../../CHANGELOG.md:1327 +msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:1329 +msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" +msgstr "" + +#: ../../../CHANGELOG.md:1330 +msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgstr "" + +#: ../../../CHANGELOG.md:1332 +msgid "Container networking changes" +msgstr "" + +#: ../../../CHANGELOG.md:1334 +msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +msgstr "" + +#: ../../../CHANGELOG.md:1336 +msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgstr "" + +#: ../../../CHANGELOG.md:1338 +msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." +msgstr "" + +#: ../../../CHANGELOG.md:1340 +msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +msgstr "" + +#: ../../../CHANGELOG.md:1342 +msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +msgstr "" + +#: ../../../CHANGELOG.md:1344 +msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +msgstr "" + +#: ../../../CHANGELOG.md:1346 +msgid "Metrics exposure changes" +msgstr "" + +#: ../../../CHANGELOG.md:1348 +msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +msgstr "" + +#: ../../../CHANGELOG.md:1350 +msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +msgstr "" + +#: ../../../CHANGELOG.md:1352 +msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +msgstr "" + +#: ../../../CHANGELOG.md:1354 +msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." +msgstr "" + +#: ../../../CHANGELOG.md:1356 +msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +msgstr "" + +#: ../../../CHANGELOG.md:1358 +msgid "Matrix static files" +msgstr "" + +#: ../../../CHANGELOG.md:1360 +msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +msgstr "" + +#: ../../../CHANGELOG.md:1362 +msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +msgstr "" + +#: ../../../CHANGELOG.md:1364 +msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +msgstr "" + +#: ../../../CHANGELOG.md:1366 +msgid "A note on performance" +msgstr "" + +#: ../../../CHANGELOG.md:1368 +msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +msgstr "" + +#: ../../../CHANGELOG.md:1370 +msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +msgstr "" + +#: ../../../CHANGELOG.md:1372 +msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +msgstr "" + +#: ../../../CHANGELOG.md:1374 +msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +msgstr "" + +#: ../../../CHANGELOG.md:1376 +msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." +msgstr "" + +#: ../../../CHANGELOG.md:1378 +msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." +msgstr "" + +#: ../../../CHANGELOG.md:1380 +msgid "Migration procedure" +msgstr "" + +#: ../../../CHANGELOG.md:1382 +msgid "The updated playbook will automatically perform some migration tasks for you:" +msgstr "" + +#: ../../../CHANGELOG.md:1384 +msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." +msgstr "" + +#: ../../../CHANGELOG.md:1386 +msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." +msgstr "" + +#: ../../../CHANGELOG.md:1388 +msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." +msgstr "" + +#: ../../../CHANGELOG.md:1390 +msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1392 +msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1394 +msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1396 +msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +msgstr "" + +#: ../../../CHANGELOG.md:1398 +msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +msgstr "" + +#: ../../../CHANGELOG.md:1400 +msgid "Conclusion" +msgstr "" + +#: ../../../CHANGELOG.md:1402 +msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +msgstr "" + +#: ../../../CHANGELOG.md:1404 +msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" +msgstr "" + +#: ../../../CHANGELOG.md:1407 +msgid "2024-01-14" +msgstr "" + +#: ../../../CHANGELOG.md:1409 +msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" +msgstr "" + +#: ../../../CHANGELOG.md:1411 +msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:1413 +msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." +msgstr "" + +#: ../../../CHANGELOG.md:1415 +msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +msgstr "" + +#: ../../../CHANGELOG.md:1417 +msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." +msgstr "" + +#: ../../../CHANGELOG.md:1419 +msgid "Adapt your configuration as seen below:" +msgstr "" + +#: ../../../CHANGELOG.md:1452 +msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgstr "" + +#: ../../../CHANGELOG.md:1455 +msgid "2024-01-13" +msgstr "" + +#: ../../../CHANGELOG.md:1457 +msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" +msgstr "" + +#: ../../../CHANGELOG.md:1459 +msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." +msgstr "" + +#: ../../../CHANGELOG.md:1461 +msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." +msgstr "" + +#: ../../../CHANGELOG.md:1463 +msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." +msgstr "" + +#: ../../../CHANGELOG.md:1465 +msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +msgstr "" + +#: ../../../CHANGELOG.md:1467 +msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." +msgstr "" + +#: ../../../CHANGELOG.md:1469 +msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +msgstr "" + +#: ../../../CHANGELOG.md:1471 +msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +msgstr "" + +#: ../../../CHANGELOG.md:1473 +msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +msgstr "" + +#: ../../../CHANGELOG.md:1475 +msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +msgstr "" + +#: ../../../CHANGELOG.md:1478 +msgid "2024-01-05" +msgstr "" + +#: ../../../CHANGELOG.md:1480 +msgid "matrix-mailer has been replaced by the exim-relay external role" +msgstr "" + +#: ../../../CHANGELOG.md:1482 ../../../CHANGELOG.md:2120 +msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +msgstr "" + +#: ../../../CHANGELOG.md:1484 +msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +msgstr "" + +#: ../../../CHANGELOG.md:1486 +msgid "To migrate:" +msgstr "" + +#: ../../../CHANGELOG.md:1488 +msgid "pull the playbook changes, as usual" +msgstr "" + +#: ../../../CHANGELOG.md:1489 +msgid "update your roles (run `just roles` or `make roles`)" +msgstr "" + +#: ../../../CHANGELOG.md:1490 +msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgstr "" + +#: ../../../CHANGELOG.md:1491 +msgid "re-run the playbook (`install-all` or `setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:1493 +msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +msgstr "" + +#: ../../../CHANGELOG.md:1496 +msgid "2024-01-02" +msgstr "" + +#: ../../../CHANGELOG.md:1498 +msgid "mautrix-signal now powered by the new Go-based bridge" +msgstr "" + +#: ../../../CHANGELOG.md:1500 +msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +msgstr "" + +#: ../../../CHANGELOG.md:1502 +msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +msgstr "" + +#: ../../../CHANGELOG.md:1504 +msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +msgstr "" + +#: ../../../CHANGELOG.md:1507 +msgid "2023-10-23" +msgstr "" + +#: ../../../CHANGELOG.md:1509 +msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:1511 msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected." msgstr "" -#: ../../../CHANGELOG.md:859 +#: ../../../CHANGELOG.md:1513 msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default." msgstr "" -#: ../../../CHANGELOG.md:861 +#: ../../../CHANGELOG.md:1515 msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)." msgstr "" -#: ../../../CHANGELOG.md:863 +#: ../../../CHANGELOG.md:1517 msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member." msgstr "" -#: ../../../CHANGELOG.md:865 +#: ../../../CHANGELOG.md:1519 msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:867 +#: ../../../CHANGELOG.md:1521 msgid "The **historical reasoning** behind this change is as follows:" msgstr "" -#: ../../../CHANGELOG.md:869 +#: ../../../CHANGELOG.md:1523 msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:871 +#: ../../../CHANGELOG.md:1525 msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense." msgstr "" -#: ../../../CHANGELOG.md:873 +#: ../../../CHANGELOG.md:1527 #, python-format msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful." msgstr "" -#: ../../../CHANGELOG.md:875 +#: ../../../CHANGELOG.md:1529 msgid "Here are **actions you may wish to take** as a result of this change:" msgstr "" -#: ../../../CHANGELOG.md:877 +#: ../../../CHANGELOG.md:1531 msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery." msgstr "" -#: ../../../CHANGELOG.md:879 +#: ../../../CHANGELOG.md:1533 msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them." msgstr "" -#: ../../../CHANGELOG.md:881 +#: ../../../CHANGELOG.md:1535 msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures." msgstr "" -#: ../../../CHANGELOG.md:884 +#: ../../../CHANGELOG.md:1538 msgid "2023-10-18" msgstr "" -#: ../../../CHANGELOG.md:886 +#: ../../../CHANGELOG.md:1540 msgid "Postgres parameters are automatically tuned now" msgstr "" -#: ../../../CHANGELOG.md:888 +#: ../../../CHANGELOG.md:1542 msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." msgstr "" -#: ../../../CHANGELOG.md:890 +#: ../../../CHANGELOG.md:1544 msgid "From now on, the [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) automatically tunes your Postgres configuration with the same [calculation logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) that powers https://pgtune.leopard.in.ua/." msgstr "" -#: ../../../CHANGELOG.md:892 +#: ../../../CHANGELOG.md:1546 msgid "Our [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) documentation page has details about how you can turn auto-tuning off or adjust the automatically-determined Postgres configuration parameters manually." msgstr "" -#: ../../../CHANGELOG.md:894 +#: ../../../CHANGELOG.md:1548 msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers." msgstr "" -#: ../../../CHANGELOG.md:897 +#: ../../../CHANGELOG.md:1551 msgid "2023-08-31" msgstr "" -#: ../../../CHANGELOG.md:899 +#: ../../../CHANGELOG.md:1553 msgid "SchildiChat Web support" msgstr "" -#: ../../../CHANGELOG.md:901 +#: ../../../CHANGELOG.md:1555 msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client." msgstr "" -#: ../../../CHANGELOG.md:903 +#: ../../../CHANGELOG.md:1557 msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:906 +#: ../../../CHANGELOG.md:1560 msgid "2023-08-23" msgstr "" -#: ../../../CHANGELOG.md:908 +#: ../../../CHANGELOG.md:1562 msgid "mautrix-wsproxy support" msgstr "" -#: ../../../CHANGELOG.md:910 +#: ../../../CHANGELOG.md:1564 msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)." msgstr "" -#: ../../../CHANGELOG.md:912 +#: ../../../CHANGELOG.md:1566 msgid "See our [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](docs/configuring-playbook-bridge-mautrix-wsproxy.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:915 +#: ../../../CHANGELOG.md:1569 msgid "2023-07-24" msgstr "" -#: ../../../CHANGELOG.md:917 +#: ../../../CHANGELOG.md:1571 msgid "matrix-registration-bot usage changed" msgstr "" -#: ../../../CHANGELOG.md:919 +#: ../../../CHANGELOG.md:1573 msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot." msgstr "" -#: ../../../CHANGELOG.md:921 +#: ../../../CHANGELOG.md:1575 msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings" msgstr "" -#: ../../../CHANGELOG.md:923 +#: ../../../CHANGELOG.md:1577 msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" msgstr "" -#: ../../../CHANGELOG.md:924 +#: ../../../CHANGELOG.md:1578 msgid "`matrix_bot_matrix_registration_bot_api_token`" msgstr "" -#: ../../../CHANGELOG.md:927 +#: ../../../CHANGELOG.md:1581 msgid "2023-07-21" msgstr "" -#: ../../../CHANGELOG.md:929 +#: ../../../CHANGELOG.md:1583 msgid "mautrix-gmessages support" msgstr "" -#: ../../../CHANGELOG.md:931 +#: ../../../CHANGELOG.md:1585 msgid "Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playbook now supports bridging to [Google Messages](https://messages.google.com/) via the [mautrix-gmessages](https://github.com/mautrix/gmessages) bridge. See our [Setting up Mautrix Google Messages bridging](docs/configuring-playbook-bridge-mautrix-gmessages.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:934 +#: ../../../CHANGELOG.md:1588 msgid "2023-07-17" msgstr "" -#: ../../../CHANGELOG.md:936 +#: ../../../CHANGELOG.md:1590 msgid "matrix-media-repo support" msgstr "" -#: ../../../CHANGELOG.md:938 +#: ../../../CHANGELOG.md:1592 msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features." msgstr "" -#: ../../../CHANGELOG.md:940 +#: ../../../CHANGELOG.md:1594 msgid "To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:943 +#: ../../../CHANGELOG.md:1597 msgid "2023-05-25" msgstr "" -#: ../../../CHANGELOG.md:945 +#: ../../../CHANGELOG.md:1599 msgid "Enabling `forget_rooms_on_leave` by default for Synapse" msgstr "" -#: ../../../CHANGELOG.md:947 +#: ../../../CHANGELOG.md:1601 msgid "With the [Synapse v1.84.0 update](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698), we've also **changed the default value** of the `forget_rooms_on_leave` setting of Synapse to a value of `true`. This way, **when you leave a room, Synapse will now forget it automatically**." msgstr "" -#: ../../../CHANGELOG.md:949 +#: ../../../CHANGELOG.md:1603 msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." msgstr "" -#: ../../../CHANGELOG.md:951 +#: ../../../CHANGELOG.md:1605 msgid "**We go against the upstream default** ([somewhat controversially](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700)) in an effort to make Synapse leaner and potentially do what we believe most users would expect their homeserver to be doing." msgstr "" -#: ../../../CHANGELOG.md:953 +#: ../../../CHANGELOG.md:1607 msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`" msgstr "" -#: ../../../CHANGELOG.md:956 +#: ../../../CHANGELOG.md:1610 msgid "2023-04-03" msgstr "" -#: ../../../CHANGELOG.md:958 +#: ../../../CHANGELOG.md:1612 msgid "The matrix-jitsi role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:960 +#: ../../../CHANGELOG.md:1614 msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:962 +#: ../../../CHANGELOG.md:1616 msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:964 +#: ../../../CHANGELOG.md:1618 msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" msgstr "" -#: ../../../CHANGELOG.md:966 +#: ../../../CHANGELOG.md:1620 msgid "**native Traefik support** has been added" msgstr "" -#: ../../../CHANGELOG.md:967 +#: ../../../CHANGELOG.md:1621 msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)" msgstr "" -#: ../../../CHANGELOG.md:969 +#: ../../../CHANGELOG.md:1623 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." msgstr "" -#: ../../../CHANGELOG.md:971 +#: ../../../CHANGELOG.md:1625 msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:973 +#: ../../../CHANGELOG.md:1627 msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:974 +#: ../../../CHANGELOG.md:1628 msgid "`matrix_jitsi_` -> `jitsi_`" msgstr "" -#: ../../../CHANGELOG.md:975 ../../../CHANGELOG.md:1002 +#: ../../../CHANGELOG.md:1629 ../../../CHANGELOG.md:1656 msgid "some other internal variables have changed, but the playbook will tell you about them" msgstr "" -#: ../../../CHANGELOG.md:977 +#: ../../../CHANGELOG.md:1631 msgid "2023-03-22" msgstr "" -#: ../../../CHANGELOG.md:979 +#: ../../../CHANGELOG.md:1633 msgid "ntfy Web App is disabled by default" msgstr "" -#: ../../../CHANGELOG.md:981 +#: ../../../CHANGELOG.md:1635 msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))." msgstr "" -#: ../../../CHANGELOG.md:983 +#: ../../../CHANGELOG.md:1637 msgid "This change was already applied a while before this entry, but as some users were reporting the missing web app, this entry was added (see [#2529](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2529))." msgstr "" -#: ../../../CHANGELOG.md:986 +#: ../../../CHANGELOG.md:1640 msgid "2023-03-21" msgstr "" -#: ../../../CHANGELOG.md:988 +#: ../../../CHANGELOG.md:1642 msgid "The matrix-prometheus role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:990 +#: ../../../CHANGELOG.md:1644 msgid "**TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:992 +#: ../../../CHANGELOG.md:1646 msgid "The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:994 +#: ../../../CHANGELOG.md:1648 msgid "Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know." msgstr "" -#: ../../../CHANGELOG.md:996 +#: ../../../CHANGELOG.md:1650 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." msgstr "" -#: ../../../CHANGELOG.md:998 +#: ../../../CHANGELOG.md:1652 msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:1000 +#: ../../../CHANGELOG.md:1654 msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1001 +#: ../../../CHANGELOG.md:1655 msgid "`matrix_prometheus_` -> `prometheus_`" msgstr "" -#: ../../../CHANGELOG.md:1005 +#: ../../../CHANGELOG.md:1659 msgid "2023-03-12" msgstr "" -#: ../../../CHANGELOG.md:1007 +#: ../../../CHANGELOG.md:1661 msgid "synapse-auto-compressor support" msgstr "" -#: ../../../CHANGELOG.md:1009 +#: ../../../CHANGELOG.md:1663 msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically." msgstr "" -#: ../../../CHANGELOG.md:1011 +#: ../../../CHANGELOG.md:1665 msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:" msgstr "" -#: ../../../CHANGELOG.md:1013 +#: ../../../CHANGELOG.md:1667 msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" msgstr "" -#: ../../../CHANGELOG.md:1014 +#: ../../../CHANGELOG.md:1668 msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" msgstr "" -#: ../../../CHANGELOG.md:1016 +#: ../../../CHANGELOG.md:1670 msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations." msgstr "" -#: ../../../CHANGELOG.md:1018 +#: ../../../CHANGELOG.md:1672 msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1021 +#: ../../../CHANGELOG.md:1675 msgid "2023-03-07" msgstr "" -#: ../../../CHANGELOG.md:1023 +#: ../../../CHANGELOG.md:1677 msgid "Sliding Sync proxy (Element X) support" msgstr "" -#: ../../../CHANGELOG.md:1025 +#: ../../../CHANGELOG.md:1679 msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)." msgstr "" -#: ../../../CHANGELOG.md:1027 +#: ../../../CHANGELOG.md:1681 msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support." msgstr "" -#: ../../../CHANGELOG.md:1029 +#: ../../../CHANGELOG.md:1683 msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:1032 +#: ../../../CHANGELOG.md:1686 msgid "2023-03-02" msgstr "" -#: ../../../CHANGELOG.md:1034 +#: ../../../CHANGELOG.md:1688 msgid "The matrix-etherpad role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1036 +#: ../../../CHANGELOG.md:1690 msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1038 +#: ../../../CHANGELOG.md:1692 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." msgstr "" -#: ../../../CHANGELOG.md:1040 +#: ../../../CHANGELOG.md:1694 msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:1042 +#: ../../../CHANGELOG.md:1696 msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" msgstr "" -#: ../../../CHANGELOG.md:1044 +#: ../../../CHANGELOG.md:1698 msgid "Replace `matrix_etherpad_mode: dimension` with:" msgstr "" -#: ../../../CHANGELOG.md:1045 +#: ../../../CHANGELOG.md:1699 msgid "for `matrix-nginx-proxy` users:" msgstr "" -#: ../../../CHANGELOG.md:1046 +#: ../../../CHANGELOG.md:1700 msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" msgstr "" -#: ../../../CHANGELOG.md:1047 +#: ../../../CHANGELOG.md:1701 msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" msgstr "" -#: ../../../CHANGELOG.md:1048 +#: ../../../CHANGELOG.md:1702 msgid "for Traefik users:" msgstr "" -#: ../../../CHANGELOG.md:1049 +#: ../../../CHANGELOG.md:1703 msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" msgstr "" -#: ../../../CHANGELOG.md:1051 +#: ../../../CHANGELOG.md:1705 msgid "Rename all other variables:" msgstr "" -#: ../../../CHANGELOG.md:1052 +#: ../../../CHANGELOG.md:1706 msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1053 +#: ../../../CHANGELOG.md:1707 msgid "`matrix_etherpad_` -> `etherpad_`" msgstr "" -#: ../../../CHANGELOG.md:1055 +#: ../../../CHANGELOG.md:1709 msgid "Along with this relocation, the new role also:" msgstr "" -#: ../../../CHANGELOG.md:1057 +#: ../../../CHANGELOG.md:1711 msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" msgstr "" -#: ../../../CHANGELOG.md:1058 +#: ../../../CHANGELOG.md:1712 msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" msgstr "" -#: ../../../CHANGELOG.md:1061 +#: ../../../CHANGELOG.md:1715 msgid "2023-02-26" msgstr "" -#: ../../../CHANGELOG.md:1063 +#: ../../../CHANGELOG.md:1717 msgid "Traefik is the default reverse-proxy now" msgstr "" -#: ../../../CHANGELOG.md:1065 +#: ../../../CHANGELOG.md:1719 msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed." msgstr "" -#: ../../../CHANGELOG.md:1067 +#: ../../../CHANGELOG.md:1721 msgid "As mentioned 2 weeks ago in [(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support](#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support), the playbook is moving to Traefik as its default SSL-terminating reverse-proxy." msgstr "" -#: ../../../CHANGELOG.md:1069 +#: ../../../CHANGELOG.md:1723 msgid "Until now, we've been doing the migration gradually and keeping full backward compatibility. New installations were defaulting to `matrix-nginx-proxy` (just like before), while existing installations were allowed to remain on `matrix-nginx-proxy` as well. This makes things very difficult for us, because we need to maintain and think about lots of different setups:" msgstr "" -#: ../../../CHANGELOG.md:1071 +#: ../../../CHANGELOG.md:1725 msgid "Traefik managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1072 +#: ../../../CHANGELOG.md:1726 msgid "Traefik managed by the user in another way" msgstr "" -#: ../../../CHANGELOG.md:1073 +#: ../../../CHANGELOG.md:1727 msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" msgstr "" -#: ../../../CHANGELOG.md:1074 +#: ../../../CHANGELOG.md:1728 msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" msgstr "" -#: ../../../CHANGELOG.md:1075 +#: ../../../CHANGELOG.md:1729 msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1076 +#: ../../../CHANGELOG.md:1730 msgid "`nginx` webserver operated by the user, running without a container on the same server" msgstr "" -#: ../../../CHANGELOG.md:1078 +#: ../../../CHANGELOG.md:1732 msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support." msgstr "" -#: ../../../CHANGELOG.md:1080 +#: ../../../CHANGELOG.md:1734 msgid "We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for." msgstr "" -#: ../../../CHANGELOG.md:1082 +#: ../../../CHANGELOG.md:1736 msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" msgstr "" -#: ../../../CHANGELOG.md:1084 +#: ../../../CHANGELOG.md:1738 msgid "Traefik is now the default reverse-proxy for new installations" msgstr "" -#: ../../../CHANGELOG.md:1085 +#: ../../../CHANGELOG.md:1739 msgid "All existing users need to explicitly choose their reverse-proxy type by defining the `matrix_playbook_reverse_proxy_type` variable in their `vars.yml` configuration file. We strongly encourage existing users to [switch the Traefik](#how-to-switch-an-existing-setup-to-traefik), as the nginx setup is bound to become more and more broken over time until it's ultimately removed" msgstr "" -#: ../../../CHANGELOG.md:1087 +#: ../../../CHANGELOG.md:1741 msgid "How do I switch my existing setup to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:1089 +#: ../../../CHANGELOG.md:1743 msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)." msgstr "" -#: ../../../CHANGELOG.md:1091 +#: ../../../CHANGELOG.md:1745 msgid "If you experience trouble:" msgstr "" -#: ../../../CHANGELOG.md:1093 +#: ../../../CHANGELOG.md:1747 msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy" msgstr "" -#: ../../../CHANGELOG.md:1094 +#: ../../../CHANGELOG.md:1748 msgid "Ask for help in our [support channels](README.md#support)" msgstr "" -#: ../../../CHANGELOG.md:1095 +#: ../../../CHANGELOG.md:1749 msgid "Try switching to Traefik again later" msgstr "" -#: ../../../CHANGELOG.md:1097 +#: ../../../CHANGELOG.md:1751 msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future." msgstr "" -#: ../../../CHANGELOG.md:1099 +#: ../../../CHANGELOG.md:1753 msgid "I already use my own Traefik server. How do I plug that in?" msgstr "" -#: ../../../CHANGELOG.md:1101 +#: ../../../CHANGELOG.md:1755 msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." msgstr "" -#: ../../../CHANGELOG.md:1103 +#: ../../../CHANGELOG.md:1757 msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:1105 +#: ../../../CHANGELOG.md:1759 msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." msgstr "" -#: ../../../CHANGELOG.md:1107 +#: ../../../CHANGELOG.md:1761 msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed." msgstr "" -#: ../../../CHANGELOG.md:1109 +#: ../../../CHANGELOG.md:1763 msgid "How do I remain on matrix-nginx-proxy?" msgstr "" -#: ../../../CHANGELOG.md:1111 +#: ../../../CHANGELOG.md:1765 msgid "Most new work and testing targets Traefik, so remaining on nginx is **not** \"the good old stable\" option, but rather the \"still available, but largely untested and likely to be broken very soon\" option." msgstr "" -#: ../../../CHANGELOG.md:1113 +#: ../../../CHANGELOG.md:1767 msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." msgstr "" -#: ../../../CHANGELOG.md:1115 +#: ../../../CHANGELOG.md:1769 msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly." msgstr "" -#: ../../../CHANGELOG.md:1117 +#: ../../../CHANGELOG.md:1771 msgid "How do I keep using my own other reverse-proxy?" msgstr "" -#: ../../../CHANGELOG.md:1119 +#: ../../../CHANGELOG.md:1773 msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." msgstr "" -#: ../../../CHANGELOG.md:1122 +#: ../../../CHANGELOG.md:1776 msgid "2023-02-25" msgstr "" -#: ../../../CHANGELOG.md:1124 +#: ../../../CHANGELOG.md:1778 msgid "rageshake support" msgstr "" -#: ../../../CHANGELOG.md:1126 +#: ../../../CHANGELOG.md:1780 msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." msgstr "" -#: ../../../CHANGELOG.md:1128 +#: ../../../CHANGELOG.md:1782 msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." msgstr "" -#: ../../../CHANGELOG.md:1131 +#: ../../../CHANGELOG.md:1785 msgid "2023-02-17" msgstr "" -#: ../../../CHANGELOG.md:1133 +#: ../../../CHANGELOG.md:1787 msgid "Synapse templates customization support" msgstr "" -#: ../../../CHANGELOG.md:1135 +#: ../../../CHANGELOG.md:1789 msgid "The playbook can now help you customize Synapse's templates." msgstr "" -#: ../../../CHANGELOG.md:1137 +#: ../../../CHANGELOG.md:1791 msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." msgstr "" -#: ../../../CHANGELOG.md:1139 +#: ../../../CHANGELOG.md:1793 msgid "The matrix-redis role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1141 +#: ../../../CHANGELOG.md:1795 msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1143 +#: ../../../CHANGELOG.md:1797 msgid "The `matrix-redis` role (which configures [Redis](https://redis.io/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-redis). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1145 +#: ../../../CHANGELOG.md:1799 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)." msgstr "" -#: ../../../CHANGELOG.md:1147 +#: ../../../CHANGELOG.md:1801 msgid "The matrix-ntfy role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1149 +#: ../../../CHANGELOG.md:1803 msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1151 +#: ../../../CHANGELOG.md:1805 msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1153 +#: ../../../CHANGELOG.md:1807 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)." msgstr "" -#: ../../../CHANGELOG.md:1156 +#: ../../../CHANGELOG.md:1810 msgid "2023-02-15" msgstr "" -#: ../../../CHANGELOG.md:1158 +#: ../../../CHANGELOG.md:1812 msgid "The matrix-grafana role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1160 +#: ../../../CHANGELOG.md:1814 msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1162 +#: ../../../CHANGELOG.md:1816 msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1164 +#: ../../../CHANGELOG.md:1818 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)." msgstr "" -#: ../../../CHANGELOG.md:1167 +#: ../../../CHANGELOG.md:1821 msgid "2023-02-13" msgstr "" -#: ../../../CHANGELOG.md:1169 +#: ../../../CHANGELOG.md:1823 msgid "The matrix-backup-borg role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1171 +#: ../../../CHANGELOG.md:1825 msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1173 +#: ../../../CHANGELOG.md:1827 msgid "Thanks to [moan0s](https://github.com/moan0s), the `matrix-backup-borg` role (which configures [BorgBackup](docs/configuring-playbook-backup-borg.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). This makes it possible to easily use it in other Ansible playbooks and will become part of [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) soon." msgstr "" -#: ../../../CHANGELOG.md:1175 +#: ../../../CHANGELOG.md:1829 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Borg's backup functionality or not. If you're making use of BorgBackup via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_backup_borg_` -> `backup_borg_`)." msgstr "" -#: ../../../CHANGELOG.md:1178 +#: ../../../CHANGELOG.md:1832 msgid "2023-02-12" msgstr "" -#: ../../../CHANGELOG.md:1180 +#: ../../../CHANGELOG.md:1834 msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" msgstr "" -#: ../../../CHANGELOG.md:1182 +#: ../../../CHANGELOG.md:1836 msgid "**TLDR**:" msgstr "" -#: ../../../CHANGELOG.md:1184 +#: ../../../CHANGELOG.md:1838 msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways." msgstr "" -#: ../../../CHANGELOG.md:1185 +#: ../../../CHANGELOG.md:1839 msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now." msgstr "" -#: ../../../CHANGELOG.md:1186 +#: ../../../CHANGELOG.md:1840 msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`" msgstr "" -#: ../../../CHANGELOG.md:1187 +#: ../../../CHANGELOG.md:1841 msgid "we now have **optional [Traefik](https://traefik.io/) support**, so you could easily host Matrix and other Traefik-native services in containers on the same server. Traefik support is still experimental (albeit, good enough) and will improve over time. It does work, but certain esoteric features may not be there yet." msgstr "" -#: ../../../CHANGELOG.md:1188 +#: ../../../CHANGELOG.md:1842 msgid "**Traefik will become the default reverse-proxy in the near future**. `matrix-nginx-proxy` will either remain as an option, or be completely removed to simplify the playbook" msgstr "" -#: ../../../CHANGELOG.md:1190 +#: ../../../CHANGELOG.md:1844 msgid "Motivation for redoing our reverse-proxy setup" msgstr "" -#: ../../../CHANGELOG.md:1192 +#: ../../../CHANGELOG.md:1846 msgid "The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**." msgstr "" -#: ../../../CHANGELOG.md:1194 +#: ../../../CHANGELOG.md:1848 msgid "We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**." msgstr "" -#: ../../../CHANGELOG.md:1196 +#: ../../../CHANGELOG.md:1850 msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else." msgstr "" -#: ../../../CHANGELOG.md:1198 +#: ../../../CHANGELOG.md:1852 msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook." msgstr "" -#: ../../../CHANGELOG.md:1200 +#: ../../../CHANGELOG.md:1854 msgid "Others still, wanted to run Matrix locally (no SSL certificates), regardless of which web server technology this relied on, and then **reverse-proxy from another machine on the network** which was doing SSL termination. These people were:" msgstr "" -#: ../../../CHANGELOG.md:1202 +#: ../../../CHANGELOG.md:1856 msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" msgstr "" -#: ../../../CHANGELOG.md:1203 +#: ../../../CHANGELOG.md:1857 msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." msgstr "" -#: ../../../CHANGELOG.md:1205 +#: ../../../CHANGELOG.md:1859 msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." msgstr "" -#: ../../../CHANGELOG.md:1207 +#: ../../../CHANGELOG.md:1861 msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)." msgstr "" -#: ../../../CHANGELOG.md:1209 +#: ../../../CHANGELOG.md:1863 msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" msgstr "" -#: ../../../CHANGELOG.md:1211 +#: ../../../CHANGELOG.md:1865 msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager" msgstr "" -#: ../../../CHANGELOG.md:1212 +#: ../../../CHANGELOG.md:1866 msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service" msgstr "" -#: ../../../CHANGELOG.md:1213 +#: ../../../CHANGELOG.md:1867 msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" msgstr "" -#: ../../../CHANGELOG.md:1215 +#: ../../../CHANGELOG.md:1869 msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy." msgstr "" -#: ../../../CHANGELOG.md:1217 +#: ../../../CHANGELOG.md:1871 msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`." msgstr "" -#: ../../../CHANGELOG.md:1219 +#: ../../../CHANGELOG.md:1873 msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with." msgstr "" -#: ../../../CHANGELOG.md:1221 +#: ../../../CHANGELOG.md:1875 msgid "How do these changes fix all these problems?" msgstr "" -#: ../../../CHANGELOG.md:1223 +#: ../../../CHANGELOG.md:1877 msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now." msgstr "" -#: ../../../CHANGELOG.md:1225 +#: ../../../CHANGELOG.md:1879 msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services." msgstr "" -#: ../../../CHANGELOG.md:1227 +#: ../../../CHANGELOG.md:1881 msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers." msgstr "" -#: ../../../CHANGELOG.md:1229 +#: ../../../CHANGELOG.md:1883 msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler." msgstr "" -#: ../../../CHANGELOG.md:1231 +#: ../../../CHANGELOG.md:1885 msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release." msgstr "" -#: ../../../CHANGELOG.md:1233 +#: ../../../CHANGELOG.md:1887 msgid "Traefik does not lock important functionality we'd like to use into [plus packages like nginx does](https://www.nginx.com/products/nginx/), leading us to resolve to configuration workarounds. The default Traefik package is good enough as it is." msgstr "" -#: ../../../CHANGELOG.md:1235 +#: ../../../CHANGELOG.md:1889 msgid "Where we're at right now?" msgstr "" -#: ../../../CHANGELOG.md:1237 +#: ../../../CHANGELOG.md:1891 msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." msgstr "" -#: ../../../CHANGELOG.md:1239 +#: ../../../CHANGELOG.md:1893 msgid "Unless we have some regression, **existing `matrix-nginx-proxy` users should be able to update their Matrix server and not observe any changes**. Their setup should still remain on nginx and everything should still work as expected." msgstr "" -#: ../../../CHANGELOG.md:1241 +#: ../../../CHANGELOG.md:1895 msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`." msgstr "" -#: ../../../CHANGELOG.md:1243 +#: ../../../CHANGELOG.md:1897 msgid "How do I explicitly switch to Traefik right now?" msgstr "" -#: ../../../CHANGELOG.md:1245 +#: ../../../CHANGELOG.md:1899 msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" msgstr "" -#: ../../../CHANGELOG.md:1253 +#: ../../../CHANGELOG.md:1905 msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed." msgstr "" -#: ../../../CHANGELOG.md:1255 +#: ../../../CHANGELOG.md:1907 msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble." msgstr "" -#: ../../../CHANGELOG.md:1257 +#: ../../../CHANGELOG.md:1909 msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often." msgstr "" -#: ../../../CHANGELOG.md:1259 +#: ../../../CHANGELOG.md:1911 msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time." msgstr "" -#: ../../../CHANGELOG.md:1261 +#: ../../../CHANGELOG.md:1913 msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool." msgstr "" -#: ../../../CHANGELOG.md:1263 +#: ../../../CHANGELOG.md:1915 msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience." msgstr "" -#: ../../../CHANGELOG.md:1265 +#: ../../../CHANGELOG.md:1917 msgid "Where we're going in the near future?" msgstr "" -#: ../../../CHANGELOG.md:1267 +#: ../../../CHANGELOG.md:1919 msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point." msgstr "" -#: ../../../CHANGELOG.md:1269 +#: ../../../CHANGELOG.md:1921 msgid "For now, `matrix-nginx-proxy` will stay around." msgstr "" -#: ../../../CHANGELOG.md:1271 +#: ../../../CHANGELOG.md:1923 msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight." msgstr "" -#: ../../../CHANGELOG.md:1273 +#: ../../../CHANGELOG.md:1925 msgid "As Traefik support becomes complete and proves to be stable for a while, especially as a playbook default, we will **most likely remove `matrix-nginx-proxy` completely**. It will likely be some months before this happens though. Keeping support for both Traefik and nginx in the playbook will be a burden, especially with most of us running Traefik in the future. The Traefik role should do everything nginx does in a better and cleaner way. Users who use their own `nginx` server on the Matrix server will be inconvenienced, as nothing will generate ready-to-include nginx configuration for them. Still, we hope it won't be too hard to migrate their setup to another way of doing things, like:" msgstr "" -#: ../../../CHANGELOG.md:1275 +#: ../../../CHANGELOG.md:1927 msgid "not using nginx anymore. A common reason for using nginx until now was that you were running other containers and you need your own nginx to reverse-proxy to all of them. Just switch them to Traefik as well." msgstr "" -#: ../../../CHANGELOG.md:1276 +#: ../../../CHANGELOG.md:1928 msgid "running Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and using some nginx configuration which reverse-proxies to Traefik (we should introduce examples for this in `examples/nginx`)." msgstr "" -#: ../../../CHANGELOG.md:1278 +#: ../../../CHANGELOG.md:1930 msgid "How do I help?" msgstr "" -#: ../../../CHANGELOG.md:1280 +#: ../../../CHANGELOG.md:1932 msgid "You can help by:" msgstr "" -#: ../../../CHANGELOG.md:1282 +#: ../../../CHANGELOG.md:1934 msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles" msgstr "" -#: ../../../CHANGELOG.md:1284 +#: ../../../CHANGELOG.md:1936 msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)." msgstr "" -#: ../../../CHANGELOG.md:1286 +#: ../../../CHANGELOG.md:1938 msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server" msgstr "" -#: ../../../CHANGELOG.md:1289 +#: ../../../CHANGELOG.md:1941 msgid "2023-02-10" msgstr "" -#: ../../../CHANGELOG.md:1291 +#: ../../../CHANGELOG.md:1943 msgid "Matrix Authentication Support for Jitsi" msgstr "" -#: ../../../CHANGELOG.md:1293 +#: ../../../CHANGELOG.md:1945 msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))." msgstr "" -#: ../../../CHANGELOG.md:1295 +#: ../../../CHANGELOG.md:1947 msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)." msgstr "" -#: ../../../CHANGELOG.md:1297 +#: ../../../CHANGELOG.md:1949 msgid "Draupnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:1299 +#: ../../../CHANGELOG.md:1951 msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer." msgstr "" -#: ../../../CHANGELOG.md:1301 +#: ../../../CHANGELOG.md:1953 msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." msgstr "" -#: ../../../CHANGELOG.md:1304 +#: ../../../CHANGELOG.md:1956 msgid "2023-02-05" msgstr "" -#: ../../../CHANGELOG.md:1306 +#: ../../../CHANGELOG.md:1958 msgid "The matrix-prometheus-postgres-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1308 +#: ../../../CHANGELOG.md:1960 msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1310 +#: ../../../CHANGELOG.md:1962 msgid "The `matrix-prometheus-postgres-exporter` role (which configures [Prometheus Postgres Exporter](https://github.com/prometheus-community/postgres_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter" msgstr "" -#: ../../../CHANGELOG.md:1312 +#: ../../../CHANGELOG.md:1964 msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1314 +#: ../../../CHANGELOG.md:1966 msgid "The `matrix-prometheus-services-proxy-connect` role has bee adjusted to help integrate the new `prometheus_postgres_exporter` role with our own services (`matrix-nginx-proxy`)" msgstr "" -#: ../../../CHANGELOG.md:1316 ../../../CHANGELOG.md:1358 +#: ../../../CHANGELOG.md:1968 ../../../CHANGELOG.md:2010 msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily." msgstr "" -#: ../../../CHANGELOG.md:1319 +#: ../../../CHANGELOG.md:1971 msgid "2023-01-26" msgstr "" -#: ../../../CHANGELOG.md:1321 +#: ../../../CHANGELOG.md:1973 msgid "coturn can now use host-networking" msgstr "" -#: ../../../CHANGELOG.md:1323 -msgid "Large coturn deployments (with a huge range of ports specified via `matrix_coturn_turn_udp_min_port` and `matrix_coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." -msgstr "" - -#: ../../../CHANGELOG.md:1325 -msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1331 -msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." -msgstr "" - -#: ../../../CHANGELOG.md:1333 -msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." -msgstr "" - -#: ../../../CHANGELOG.md:1335 -msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" -msgstr "" - -#: ../../../CHANGELOG.md:1337 -msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `matrix_coturn_denied_peer_ips` and remove some IP ranges from it." -msgstr "" - -#: ../../../CHANGELOG.md:1339 -msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." -msgstr "" - -#: ../../../CHANGELOG.md:1341 -msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `matrix_coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." -msgstr "" - -#: ../../../CHANGELOG.md:1343 -msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." -msgstr "" - -#: ../../../CHANGELOG.md:1346 -msgid "2023-01-21" -msgstr "" - -#: ../../../CHANGELOG.md:1348 -msgid "The matrix-prometheus-node-exporter role lives independently now" -msgstr "" - -#: ../../../CHANGELOG.md:1350 -msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." -msgstr "" - -#: ../../../CHANGELOG.md:1352 -msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" -msgstr "" - -#: ../../../CHANGELOG.md:1354 -msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." -msgstr "" - -#: ../../../CHANGELOG.md:1356 -msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" -msgstr "" - -#: ../../../CHANGELOG.md:1361 -msgid "2023-01-13" -msgstr "" - -#: ../../../CHANGELOG.md:1363 -msgid "Support for running commands via just" -msgstr "" - -#: ../../../CHANGELOG.md:1365 -msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." -msgstr "" - -#: ../../../CHANGELOG.md:1367 -msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." -msgstr "" - -#: ../../../CHANGELOG.md:1369 -msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" -msgstr "" - -#: ../../../CHANGELOG.md:1371 -msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" -msgstr "" - -#: ../../../CHANGELOG.md:1372 -msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" -msgstr "" - -#: ../../../CHANGELOG.md:1373 -msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" -msgstr "" - -#: ../../../CHANGELOG.md:1374 -msgid "`just start-all` — (re-)starts all services" -msgstr "" - -#: ../../../CHANGELOG.md:1375 -msgid "`just stop-group postgres` — to stop only the Postgres service" -msgstr "" - -#: ../../../CHANGELOG.md:1376 -msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" -msgstr "" - -#: ../../../CHANGELOG.md:1378 -msgid "Additional helpful commands and shortcuts may be defined in the future." -msgstr "" - -#: ../../../CHANGELOG.md:1380 -msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." -msgstr "" - -#: ../../../CHANGELOG.md:1383 -msgid "2023-01-11" -msgstr "" - -#: ../../../CHANGELOG.md:1385 -msgid "mautrix-slack support" -msgstr "" - -#: ../../../CHANGELOG.md:1387 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." -msgstr "" - -#: ../../../CHANGELOG.md:1389 -msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." -msgstr "" - -#: ../../../CHANGELOG.md:1392 -msgid "2023-01-10" -msgstr "" - -#: ../../../CHANGELOG.md:1394 -msgid "ChatGPT support" -msgstr "" - -#: ../../../CHANGELOG.md:1396 -msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." -msgstr "" - -#: ../../../CHANGELOG.md:1398 -msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1401 -msgid "2022-11-30" -msgstr "" - -#: ../../../CHANGELOG.md:1403 -msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" -msgstr "" - -#: ../../../CHANGELOG.md:1405 -msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." -msgstr "" - -#: ../../../CHANGELOG.md:1407 -msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." -msgstr "" - -#: ../../../CHANGELOG.md:1410 -msgid "2022-11-28" -msgstr "" - -#: ../../../CHANGELOG.md:1412 -msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" -msgstr "" - -#: ../../../CHANGELOG.md:1414 -msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." -msgstr "" - -#: ../../../CHANGELOG.md:1416 -msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." -msgstr "" - -#: ../../../CHANGELOG.md:1418 -msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" -msgstr "" - -#: ../../../CHANGELOG.md:1420 -msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" -msgstr "" - -#: ../../../CHANGELOG.md:1421 -msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" -msgstr "" - -#: ../../../CHANGELOG.md:1423 -msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." -msgstr "" - -#: ../../../CHANGELOG.md:1425 -msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." -msgstr "" - -#: ../../../CHANGELOG.md:1427 -msgid "The playbook no longer installs scripts to /usr/local/bin" -msgstr "" - -#: ../../../CHANGELOG.md:1429 -msgid "The locations of various scripts installed by the playbook have changed." -msgstr "" - -#: ../../../CHANGELOG.md:1431 -msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" -msgstr "" - -#: ../../../CHANGELOG.md:1433 -msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" -msgstr "" - -#: ../../../CHANGELOG.md:1434 -msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" -msgstr "" - -#: ../../../CHANGELOG.md:1435 -msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" -msgstr "" - -#: ../../../CHANGELOG.md:1436 -msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" -msgstr "" - -#: ../../../CHANGELOG.md:1439 -msgid "2022-11-25" -msgstr "" - -#: ../../../CHANGELOG.md:1441 -msgid "2x-5x performance improvements in playbook runtime" -msgstr "" - -#: ../../../CHANGELOG.md:1443 -msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." -msgstr "" - -#: ../../../CHANGELOG.md:1445 -msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." -msgstr "" - -#: ../../../CHANGELOG.md:1447 -msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." -msgstr "" - -#: ../../../CHANGELOG.md:1449 -msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" -msgstr "" - -#: ../../../CHANGELOG.md:1451 -msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." -msgstr "" - -#: ../../../CHANGELOG.md:1453 -msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." -msgstr "" - -#: ../../../CHANGELOG.md:1455 -msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." -msgstr "" - -#: ../../../CHANGELOG.md:1457 -msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." -msgstr "" - -#: ../../../CHANGELOG.md:1460 -msgid "2022-11-22" -msgstr "" - -#: ../../../CHANGELOG.md:1462 -msgid "Automatic `matrix_architecture` determination" -msgstr "" - -#: ../../../CHANGELOG.md:1464 -msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." -msgstr "" - -#: ../../../CHANGELOG.md:1466 -msgid "Docker and the Docker SDK for Python are now installed via external roles" -msgstr "" - -#: ../../../CHANGELOG.md:1470 -msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." -msgstr "" - -#: ../../../CHANGELOG.md:1472 -msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." -msgstr "" - -#: ../../../CHANGELOG.md:1474 -msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." -msgstr "" - -#: ../../../CHANGELOG.md:1476 -msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." -msgstr "" - -#: ../../../CHANGELOG.md:1479 -msgid "2022-11-20" -msgstr "" - -#: ../../../CHANGELOG.md:1481 -msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" -msgstr "" - -#: ../../../CHANGELOG.md:1483 -msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." -msgstr "" - -#: ../../../CHANGELOG.md:1485 -msgid "Background" -msgstr "" - -#: ../../../CHANGELOG.md:1487 -msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." -msgstr "" - -#: ../../../CHANGELOG.md:1489 -msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." -msgstr "" - -#: ../../../CHANGELOG.md:1491 -msgid "Solution" -msgstr "" - -#: ../../../CHANGELOG.md:1493 -msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" -msgstr "" - -#: ../../../CHANGELOG.md:1495 -msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" -msgstr "" - -#: ../../../CHANGELOG.md:1497 -msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" -msgstr "" - -#: ../../../CHANGELOG.md:1498 -msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" -msgstr "" - -#: ../../../CHANGELOG.md:1499 -msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" -msgstr "" - -#: ../../../CHANGELOG.md:1501 -msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" -msgstr "" - -#: ../../../CHANGELOG.md:1503 -msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" -msgstr "" - -#: ../../../CHANGELOG.md:1505 -msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1507 -msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." -msgstr "" - -#: ../../../CHANGELOG.md:1509 -msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." -msgstr "" - -#: ../../../CHANGELOG.md:1511 -msgid "Webserver configuration" -msgstr "" - -#: ../../../CHANGELOG.md:1513 -msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" -msgstr "" - -#: ../../../CHANGELOG.md:1515 -msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" -msgstr "" - -#: ../../../CHANGELOG.md:1517 -msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" -msgstr "" - -#: ../../../CHANGELOG.md:1519 -msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" -msgstr "" - -#: ../../../CHANGELOG.md:1521 -msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." -msgstr "" - -#: ../../../CHANGELOG.md:1524 -msgid "2022-11-05" -msgstr "" - -#: ../../../CHANGELOG.md:1526 -msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" -msgstr "" - -#: ../../../CHANGELOG.md:1528 -msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." -msgstr "" - -#: ../../../CHANGELOG.md:1530 -msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." -msgstr "" - -#: ../../../CHANGELOG.md:1532 -msgid "If you've already got both Etherpad and Dimension in use you could:" -msgstr "" - -#: ../../../CHANGELOG.md:1534 -msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." -msgstr "" - -#: ../../../CHANGELOG.md:1536 -msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" -msgstr "" - -#: ../../../CHANGELOG.md:1539 -msgid "2022-11-04" -msgstr "" - -#: ../../../CHANGELOG.md:1541 -msgid "The playbook now uses external roles for some things" -msgstr "" - -#: ../../../CHANGELOG.md:1543 -msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." -msgstr "" - -#: ../../../CHANGELOG.md:1545 -msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." -msgstr "" - -#: ../../../CHANGELOG.md:1547 -msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" -msgstr "" - -#: ../../../CHANGELOG.md:1549 -msgid "those that live within the playbook itself (`roles/custom/*`)" -msgstr "" - -#: ../../../CHANGELOG.md:1551 -msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." -msgstr "" - -#: ../../../CHANGELOG.md:1553 -msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." -msgstr "" - -#: ../../../CHANGELOG.md:1555 -msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:1557 -msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." -msgstr "" - -#: ../../../CHANGELOG.md:1560 -msgid "2022-10-14" -msgstr "" - -#: ../../../CHANGELOG.md:1562 -msgid "synapse-s3-storage-provider support" -msgstr "" - -#: ../../../CHANGELOG.md:1564 -msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" -msgstr "" - -#: ../../../CHANGELOG.md:1566 -msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." -msgstr "" - -#: ../../../CHANGELOG.md:1568 -msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." -msgstr "" - -#: ../../../CHANGELOG.md:1570 -msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." -msgstr "" - -#: ../../../CHANGELOG.md:1572 -msgid "Synapse container image customization support" -msgstr "" - -#: ../../../CHANGELOG.md:1574 -msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." -msgstr "" - -#: ../../../CHANGELOG.md:1576 -msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." -msgstr "" - -#: ../../../CHANGELOG.md:1578 -msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1589 -msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." -msgstr "" - -#: ../../../CHANGELOG.md:1591 -msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." -msgstr "" - -#: ../../../CHANGELOG.md:1594 -msgid "2022-10-02" -msgstr "" - -#: ../../../CHANGELOG.md:1596 -msgid "matrix-ldap-registration-proxy support" -msgstr "" - -#: ../../../CHANGELOG.md:1598 -msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." -msgstr "" - -#: ../../../CHANGELOG.md:1600 -msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1603 -msgid "2022-09-15" -msgstr "" - -#: ../../../CHANGELOG.md:1605 -msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" -msgstr "" - -#: ../../../CHANGELOG.md:1607 -msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" -msgstr "" - -#: ../../../CHANGELOG.md:1609 -msgid "we've added support for [Stream writers](#stream-writers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1610 -msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1611 -msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1612 -msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" -msgstr "" - -#: ../../../CHANGELOG.md:1613 -msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:1614 -msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:1615 -msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" -msgstr "" - -#: ../../../CHANGELOG.md:1616 -msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" -msgstr "" - -#: ../../../CHANGELOG.md:1618 -msgid "Stream writers support" -msgstr "" - -#: ../../../CHANGELOG.md:1620 -msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." -msgstr "" - -#: ../../../CHANGELOG.md:1622 -msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." -msgstr "" - -#: ../../../CHANGELOG.md:1624 -msgid "If you'd like to customize the number of workers we also make that possible using these variables:" -msgstr "" - -#: ../../../CHANGELOG.md:1637 -msgid "Multiple federation sender workers support" -msgstr "" - -#: ../../../CHANGELOG.md:1639 -msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." -msgstr "" - -#: ../../../CHANGELOG.md:1641 -msgid "Multiple pusher workers support" -msgstr "" - -#: ../../../CHANGELOG.md:1643 -msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." -msgstr "" - -#: ../../../CHANGELOG.md:1645 -msgid "Background tasks can run on a worker" -msgstr "" - -#: ../../../CHANGELOG.md:1647 -msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." -msgstr "" - -#: ../../../CHANGELOG.md:1649 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1651 -msgid "Appservice worker support is back" -msgstr "" - -#: ../../../CHANGELOG.md:1653 -msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." -msgstr "" - -#: ../../../CHANGELOG.md:1655 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." -msgstr "" - -#: ../../../CHANGELOG.md:1657 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1659 -msgid "User Directory worker support is back" -msgstr "" - -#: ../../../CHANGELOG.md:1661 -msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." -msgstr "" - -#: ../../../CHANGELOG.md:1663 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." -msgstr "" - -#: ../../../CHANGELOG.md:1665 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1667 -msgid "Using more than 1 media repository worker is now more reliable" -msgstr "" - -#: ../../../CHANGELOG.md:1669 -msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." -msgstr "" - -#: ../../../CHANGELOG.md:1671 -msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." -msgstr "" - -#: ../../../CHANGELOG.md:1673 -msgid "Potential Backward Incompatibilities after these Synapse worker changes" -msgstr "" - -#: ../../../CHANGELOG.md:1675 -msgid "Below we'll discuss **potential backward incompatibilities**." -msgstr "" - -#: ../../../CHANGELOG.md:1677 -msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." -msgstr "" - -#: ../../../CHANGELOG.md:1679 -msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." -msgstr "" - -#: ../../../CHANGELOG.md:1681 -msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." -msgstr "" - -#: ../../../CHANGELOG.md:1683 -msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." -msgstr "" - -#: ../../../CHANGELOG.md:1686 -msgid "2022-09-09" -msgstr "" - -#: ../../../CHANGELOG.md:1688 -msgid "Cactus Comments support" -msgstr "" - -#: ../../../CHANGELOG.md:1690 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." -msgstr "" - -#: ../../../CHANGELOG.md:1692 -msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1695 -msgid "2022-08-23" -msgstr "" - -#: ../../../CHANGELOG.md:1697 -msgid "Postmoogle email bridge support" -msgstr "" - -#: ../../../CHANGELOG.md:1699 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." -msgstr "" - -#: ../../../CHANGELOG.md:1701 -msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1704 -msgid "2022-08-10" -msgstr "" - -#: ../../../CHANGELOG.md:1706 -msgid "mautrix-whatsapp default configuration changes" -msgstr "" - -#: ../../../CHANGELOG.md:1708 -msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." -msgstr "" - -#: ../../../CHANGELOG.md:1710 -msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." -msgstr "" - -#: ../../../CHANGELOG.md:1712 -msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." -msgstr "" - -#: ../../../CHANGELOG.md:1715 -msgid "2022-08-09" -msgstr "" - -#: ../../../CHANGELOG.md:1717 -msgid "Conduit support" -msgstr "" - -#: ../../../CHANGELOG.md:1719 -msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." -msgstr "" - -#: ../../../CHANGELOG.md:1721 -msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:1723 -msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:1729 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." -msgstr "" - -#: ../../../CHANGELOG.md:1732 -msgid "2022-07-29" -msgstr "" - -#: ../../../CHANGELOG.md:1734 -msgid "mautrix-discord support" -msgstr "" - -#: ../../../CHANGELOG.md:1736 -msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." -msgstr "" - -#: ../../../CHANGELOG.md:1738 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." -msgstr "" - -#: ../../../CHANGELOG.md:1741 -msgid "2022-07-27" -msgstr "" - -#: ../../../CHANGELOG.md:1743 -msgid "matrix-appservice-kakaotalk support" -msgstr "" - -#: ../../../CHANGELOG.md:1745 -msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" -msgstr "" - -#: ../../../CHANGELOG.md:1747 -msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1750 -msgid "2022-07-20" -msgstr "" - -#: ../../../CHANGELOG.md:1752 -msgid "maubot support" -msgstr "" - -#: ../../../CHANGELOG.md:1754 -msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." -msgstr "" - -#: ../../../CHANGELOG.md:1756 -msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1759 -msgid "2022-07-14" -msgstr "" - -#: ../../../CHANGELOG.md:1761 -msgid "mx-puppet-skype removal" -msgstr "" - -#: ../../../CHANGELOG.md:1763 -msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." -msgstr "" - -#: ../../../CHANGELOG.md:1765 -msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" -msgstr "" - -#: ../../../CHANGELOG.md:1767 -msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" -msgstr "" - -#: ../../../CHANGELOG.md:1768 -msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1769 -msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1770 -msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1771 -msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" -msgstr "" - -#: ../../../CHANGELOG.md:1773 -msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." -msgstr "" - -#: ../../../CHANGELOG.md:1775 -msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." -msgstr "" - -#: ../../../CHANGELOG.md:1777 -msgid "signald (0.19.0+) upgrade requires data migration" -msgstr "" - -#: ../../../CHANGELOG.md:1779 -msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." -msgstr "" - -#: ../../../CHANGELOG.md:1781 -msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." -msgstr "" - -#: ../../../CHANGELOG.md:1783 -msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." -msgstr "" - -#: ../../../CHANGELOG.md:1785 -msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." -msgstr "" - -#: ../../../CHANGELOG.md:1787 -msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" -msgstr "" - -#: ../../../CHANGELOG.md:1790 -msgid "2022-07-05" -msgstr "" - -#: ../../../CHANGELOG.md:1792 -msgid "Ntfy push notifications support" -msgstr "" - -#: ../../../CHANGELOG.md:1794 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." -msgstr "" - -#: ../../../CHANGELOG.md:1796 -msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1799 -msgid "2022-06-23" -msgstr "" - -#: ../../../CHANGELOG.md:1801 -msgid "(Potential Backward Compatibility Break) Changes around metrics collection" -msgstr "" - -#: ../../../CHANGELOG.md:1803 -msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." -msgstr "" - -#: ../../../CHANGELOG.md:1805 -msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." -msgstr "" - -#: ../../../CHANGELOG.md:1807 -msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." -msgstr "" - -#: ../../../CHANGELOG.md:1809 -msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" -msgstr "" - -#: ../../../CHANGELOG.md:1810 -msgid "**Metrics may not be enabled by default anymore**:" -msgstr "" - -#: ../../../CHANGELOG.md:1811 -msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." -msgstr "" - -#: ../../../CHANGELOG.md:1812 -msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." -msgstr "" - -#: ../../../CHANGELOG.md:1813 -msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." -msgstr "" - -#: ../../../CHANGELOG.md:1814 -msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." -msgstr "" - -#: ../../../CHANGELOG.md:1816 -msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." -msgstr "" - -#: ../../../CHANGELOG.md:1818 -msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-postgres.md)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." -msgstr "" - -#: ../../../CHANGELOG.md:1820 -msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" -msgstr "" - -#: ../../../CHANGELOG.md:1822 -msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." -msgstr "" - -#: ../../../CHANGELOG.md:1823 -msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" -msgstr "" - -#: ../../../CHANGELOG.md:1824 -msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" -msgstr "" - -#: ../../../CHANGELOG.md:1825 -msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." -msgstr "" - -#: ../../../CHANGELOG.md:1827 -msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." -msgstr "" - -#: ../../../CHANGELOG.md:1829 -msgid "2022-06-13" -msgstr "" - -#: ../../../CHANGELOG.md:1831 -msgid "go-skype-bridge bridging support" -msgstr "" - -#: ../../../CHANGELOG.md:1833 -msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." -msgstr "" - -#: ../../../CHANGELOG.md:1835 -msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1837 -msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." -msgstr "" - -#: ../../../CHANGELOG.md:1840 -msgid "2022-06-09" -msgstr "" - -#: ../../../CHANGELOG.md:1842 -msgid "Running Ansible in a container can now happen on the Matrix server itself" -msgstr "" - -#: ../../../CHANGELOG.md:1844 -msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." -msgstr "" - -#: ../../../CHANGELOG.md:1847 -msgid "2022-05-31" -msgstr "" - -#: ../../../CHANGELOG.md:1849 -msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" -msgstr "" - -#: ../../../CHANGELOG.md:1851 -msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." -msgstr "" - -#: ../../../CHANGELOG.md:1853 -msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." -msgstr "" - -#: ../../../CHANGELOG.md:1855 -msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" -msgstr "" - -#: ../../../CHANGELOG.md:1857 -msgid "SSH into the Matrix server" -msgstr "" - -#: ../../../CHANGELOG.md:1858 -msgid "launch `/usr/local/bin/matrix-postgres-cli`" -msgstr "" - -#: ../../../CHANGELOG.md:1859 -msgid "switch to the `synapse` database: `\\c synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:1860 -msgid "run the following SQL query:" -msgstr "" - -#: ../../../CHANGELOG.md:1879 -msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" -msgstr "" - -#: ../../../CHANGELOG.md:1882 -msgid "2022-04-25" -msgstr "" - -#: ../../../CHANGELOG.md:1884 -msgid "Buscarron bot support" -msgstr "" - -#: ../../../CHANGELOG.md:1886 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" -msgstr "" - -#: ../../../CHANGELOG.md:1888 -msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1891 -msgid "2022-04-21" -msgstr "" - -#: ../../../CHANGELOG.md:1893 -msgid "matrix-registration-bot support" -msgstr "" - -#: ../../../CHANGELOG.md:1895 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." -msgstr "" - -#: ../../../CHANGELOG.md:1897 -msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1900 -msgid "2022-04-19" -msgstr "" - -#: ../../../CHANGELOG.md:1902 -msgid "BorgBackup support" -msgstr "" - -#: ../../../CHANGELOG.md:1904 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." -msgstr "" - -#: ../../../CHANGELOG.md:1906 -msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1908 -msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" -msgstr "" - -#: ../../../CHANGELOG.md:1910 -msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" -msgstr "" - -#: ../../../CHANGELOG.md:1912 -msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." -msgstr "" - -#: ../../../CHANGELOG.md:1914 -msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." -msgstr "" - -#: ../../../CHANGELOG.md:1916 -msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" -msgstr "" - -#: ../../../CHANGELOG.md:1918 -msgid "Pull the latest playbook changes" -msgstr "" - -#: ../../../CHANGELOG.md:1919 -msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" -msgstr "" - -#: ../../../CHANGELOG.md:1920 -msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:1921 -msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1922 -msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1923 -msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." -msgstr "" - -#: ../../../CHANGELOG.md:1924 -msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" -msgstr "" - -#: ../../../CHANGELOG.md:1927 -msgid "2022-04-14" -msgstr "" - -#: ../../../CHANGELOG.md:1929 -msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" -msgstr "" - -#: ../../../CHANGELOG.md:1931 -msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." -msgstr "" - -#: ../../../CHANGELOG.md:1933 -msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." -msgstr "" - -#: ../../../CHANGELOG.md:1935 -msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." -msgstr "" - -#: ../../../CHANGELOG.md:1937 -msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" -msgstr "" - -#: ../../../CHANGELOG.md:1940 -msgid "2022-03-17" -msgstr "" - -#: ../../../CHANGELOG.md:1942 -msgid "(Compatibility Break) ma1sd identity server no longer installed by default" -msgstr "" - -#: ../../../CHANGELOG.md:1944 -msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." -msgstr "" - -#: ../../../CHANGELOG.md:1946 -msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." -msgstr "" - -#: ../../../CHANGELOG.md:1948 -msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." -msgstr "" - -#: ../../../CHANGELOG.md:1950 -msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" -msgstr "" - -#: ../../../CHANGELOG.md:1957 -msgid "2022-02-12" -msgstr "" - -#: ../../../CHANGELOG.md:1959 -msgid "matrix_encryption_disabler support" -msgstr "" - -#: ../../../CHANGELOG.md:1961 -msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." -msgstr "" - -#: ../../../CHANGELOG.md:1963 -msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." -msgstr "" - -#: ../../../CHANGELOG.md:1966 -msgid "2022-02-01" -msgstr "" - -#: ../../../CHANGELOG.md:1968 -msgid "matrix-hookshot bridging support" -msgstr "" - -#: ../../../CHANGELOG.md:1970 -msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1973 -msgid "2022-01-31" -msgstr "" - #: ../../../CHANGELOG.md:1975 -msgid "ARM support for matrix-corporal" +msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." msgstr "" #: ../../../CHANGELOG.md:1977 -msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." +msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" msgstr "" -#: ../../../CHANGELOG.md:1980 -msgid "2022-01-07" +#: ../../../CHANGELOG.md:1983 +msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." msgstr "" -#: ../../../CHANGELOG.md:1982 -msgid "Dendrite support" +#: ../../../CHANGELOG.md:1985 +msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." msgstr "" -#: ../../../CHANGELOG.md:1984 -msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." +#: ../../../CHANGELOG.md:1987 +msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" msgstr "" -#: ../../../CHANGELOG.md:1986 -msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." +#: ../../../CHANGELOG.md:1989 +msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `coturn_denied_peer_ips` and remove some IP ranges from it." msgstr "" -#: ../../../CHANGELOG.md:1988 -msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" +#: ../../../CHANGELOG.md:1991 +msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." msgstr "" -#: ../../../CHANGELOG.md:1990 -msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." +#: ../../../CHANGELOG.md:1993 +msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." msgstr "" -#: ../../../CHANGELOG.md:1992 -msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." -msgstr "" - -#: ../../../CHANGELOG.md:1994 -msgid "Adapting the configuration for existing Synapse installations" -msgstr "" - -#: ../../../CHANGELOG.md:1996 -msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." +#: ../../../CHANGELOG.md:1995 +msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." msgstr "" #: ../../../CHANGELOG.md:1998 -msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" +msgid "2023-01-21" msgstr "" -#: ../../../CHANGELOG.md:2010 -msgid "Trying out Dendrite" +#: ../../../CHANGELOG.md:2000 +msgid "The matrix-prometheus-node-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:2012 -msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" +#: ../../../CHANGELOG.md:2002 +msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2018 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." +#: ../../../CHANGELOG.md:2004 +msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" msgstr "" -#: ../../../CHANGELOG.md:2020 -msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" +#: ../../../CHANGELOG.md:2006 +msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2022 -msgid "Honoroit bot support" +#: ../../../CHANGELOG.md:2008 +msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" +msgstr "" + +#: ../../../CHANGELOG.md:2013 +msgid "2023-01-13" +msgstr "" + +#: ../../../CHANGELOG.md:2015 +msgid "Support for running commands via just" +msgstr "" + +#: ../../../CHANGELOG.md:2017 +msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." +msgstr "" + +#: ../../../CHANGELOG.md:2019 +msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." +msgstr "" + +#: ../../../CHANGELOG.md:2021 +msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" +msgstr "" + +#: ../../../CHANGELOG.md:2023 +msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" msgstr "" #: ../../../CHANGELOG.md:2024 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." +msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" +msgstr "" + +#: ../../../CHANGELOG.md:2025 +msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" msgstr "" #: ../../../CHANGELOG.md:2026 -msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." +msgid "`just start-all` — (re-)starts all services" msgstr "" -#: ../../../CHANGELOG.md:2029 -msgid "2022-01-06" +#: ../../../CHANGELOG.md:2027 +msgid "`just stop-group postgres` — to stop only the Postgres service" msgstr "" -#: ../../../CHANGELOG.md:2031 -msgid "Cinny support" +#: ../../../CHANGELOG.md:2028 +msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" msgstr "" -#: ../../../CHANGELOG.md:2033 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." +#: ../../../CHANGELOG.md:2030 +msgid "Additional helpful commands and shortcuts may be defined in the future." +msgstr "" + +#: ../../../CHANGELOG.md:2032 +msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." msgstr "" #: ../../../CHANGELOG.md:2035 -msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." +msgid "2023-01-11" msgstr "" #: ../../../CHANGELOG.md:2037 -msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." +msgid "mautrix-slack support" msgstr "" -#: ../../../CHANGELOG.md:2040 -msgid "2021-12-22" +#: ../../../CHANGELOG.md:2039 +msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:2042 -msgid "Twitter bridging support via mautrix-twitter" +#: ../../../CHANGELOG.md:2041 +msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." msgstr "" #: ../../../CHANGELOG.md:2044 -msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +msgid "2023-01-10" msgstr "" -#: ../../../CHANGELOG.md:2047 -msgid "2021-12-14" +#: ../../../CHANGELOG.md:2046 +msgid "ChatGPT support" msgstr "" -#: ../../../CHANGELOG.md:2049 -msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +#: ../../../CHANGELOG.md:2048 +msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." msgstr "" -#: ../../../CHANGELOG.md:2051 -msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." +#: ../../../CHANGELOG.md:2050 +msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2053 -msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." +msgid "2022-11-30" msgstr "" -#: ../../../CHANGELOG.md:2056 -msgid "2021-11-11" +#: ../../../CHANGELOG.md:2055 +msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" msgstr "" -#: ../../../CHANGELOG.md:2058 -msgid "Dropped support for Postgres v9.6" +#: ../../../CHANGELOG.md:2057 +msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." msgstr "" -#: ../../../CHANGELOG.md:2060 -msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." +#: ../../../CHANGELOG.md:2059 +msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." msgstr "" #: ../../../CHANGELOG.md:2062 -msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." +msgid "2022-11-28" msgstr "" -#: ../../../CHANGELOG.md:2065 -msgid "2021-10-23" +#: ../../../CHANGELOG.md:2064 +msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" msgstr "" -#: ../../../CHANGELOG.md:2067 -msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +#: ../../../CHANGELOG.md:2066 +msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." msgstr "" -#: ../../../CHANGELOG.md:2069 -msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." +#: ../../../CHANGELOG.md:2068 +msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." msgstr "" -#: ../../../CHANGELOG.md:2071 -msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." +#: ../../../CHANGELOG.md:2070 +msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" msgstr "" -#: ../../../CHANGELOG.md:2074 -msgid "2021-08-23" +#: ../../../CHANGELOG.md:2072 +msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" msgstr "" -#: ../../../CHANGELOG.md:2076 -msgid "LinkedIn bridging support via beeper-linkedin" +#: ../../../CHANGELOG.md:2073 +msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" msgstr "" -#: ../../../CHANGELOG.md:2078 -msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." +#: ../../../CHANGELOG.md:2075 +msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." msgstr "" -#: ../../../CHANGELOG.md:2080 -msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +#: ../../../CHANGELOG.md:2077 +msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." msgstr "" -#: ../../../CHANGELOG.md:2082 -msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." +#: ../../../CHANGELOG.md:2079 +msgid "The playbook no longer installs scripts to /usr/local/bin" +msgstr "" + +#: ../../../CHANGELOG.md:2081 +msgid "The locations of various scripts installed by the playbook have changed." +msgstr "" + +#: ../../../CHANGELOG.md:2083 +msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" msgstr "" #: ../../../CHANGELOG.md:2085 -msgid "2021-08-20" +msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +msgstr "" + +#: ../../../CHANGELOG.md:2086 +msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" msgstr "" #: ../../../CHANGELOG.md:2087 -msgid "Sygnal upgraded — ARM support and no longer requires a database" +msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" msgstr "" -#: ../../../CHANGELOG.md:2089 -msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." +#: ../../../CHANGELOG.md:2088 +msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" msgstr "" #: ../../../CHANGELOG.md:2091 -msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." +msgid "2022-11-25" msgstr "" #: ../../../CHANGELOG.md:2093 -msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." +msgid "2x-5x performance improvements in playbook runtime" msgstr "" #: ../../../CHANGELOG.md:2095 -msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." +msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." msgstr "" -#: ../../../CHANGELOG.md:2098 -msgid "2021-05-21" +#: ../../../CHANGELOG.md:2097 +msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." msgstr "" -#: ../../../CHANGELOG.md:2100 -msgid "Hydrogen support" +#: ../../../CHANGELOG.md:2099 +msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." msgstr "" -#: ../../../CHANGELOG.md:2102 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." +#: ../../../CHANGELOG.md:2101 +msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" msgstr "" -#: ../../../CHANGELOG.md:2104 -msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." +#: ../../../CHANGELOG.md:2103 +msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." msgstr "" -#: ../../../CHANGELOG.md:2106 -msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." +#: ../../../CHANGELOG.md:2105 +msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." +msgstr "" + +#: ../../../CHANGELOG.md:2107 +msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:2109 -msgid "2021-05-19" +msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." msgstr "" -#: ../../../CHANGELOG.md:2111 -msgid "Heisenbridge support" +#: ../../../CHANGELOG.md:2112 +msgid "2022-11-22" msgstr "" -#: ../../../CHANGELOG.md:2113 -msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." +#: ../../../CHANGELOG.md:2114 +msgid "Automatic `matrix_architecture` determination" msgstr "" -#: ../../../CHANGELOG.md:2115 -msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." +#: ../../../CHANGELOG.md:2116 +msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." msgstr "" #: ../../../CHANGELOG.md:2118 -msgid "2021-04-16" -msgstr "" - -#: ../../../CHANGELOG.md:2120 -msgid "Disabling TLSv1 and TLSv1.1 for coturn" +msgid "Docker and the Docker SDK for Python are now installed via external roles" msgstr "" #: ../../../CHANGELOG.md:2122 -msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." +msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." msgstr "" #: ../../../CHANGELOG.md:2124 -msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" +msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." msgstr "" -#: ../../../CHANGELOG.md:2132 -msgid "2021-04-05" +#: ../../../CHANGELOG.md:2126 +msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." msgstr "" -#: ../../../CHANGELOG.md:2134 -msgid "Automated local Postgres backup support" +#: ../../../CHANGELOG.md:2128 +msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." msgstr "" -#: ../../../CHANGELOG.md:2136 -msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." +#: ../../../CHANGELOG.md:2131 +msgid "2022-11-20" msgstr "" -#: ../../../CHANGELOG.md:2138 -msgid "Additional details are available in [Setting up postgres backup](docs/configuring-playbook-postgres-backup.md)." +#: ../../../CHANGELOG.md:2133 +msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" +msgstr "" + +#: ../../../CHANGELOG.md:2135 +msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." +msgstr "" + +#: ../../../CHANGELOG.md:2137 +msgid "Background" +msgstr "" + +#: ../../../CHANGELOG.md:2139 +msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." msgstr "" #: ../../../CHANGELOG.md:2141 -msgid "2021-04-03" +msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." msgstr "" #: ../../../CHANGELOG.md:2143 -msgid "Mjolnir moderation tool (bot) support" +msgid "Solution" msgstr "" #: ../../../CHANGELOG.md:2145 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." +msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" msgstr "" #: ../../../CHANGELOG.md:2147 -msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." +msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" +msgstr "" + +#: ../../../CHANGELOG.md:2149 +msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" msgstr "" #: ../../../CHANGELOG.md:2150 -msgid "2021-03-20" +msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" msgstr "" -#: ../../../CHANGELOG.md:2152 -msgid "Sygnal push gateway support" +#: ../../../CHANGELOG.md:2151 +msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" msgstr "" -#: ../../../CHANGELOG.md:2154 -msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." +#: ../../../CHANGELOG.md:2153 +msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" msgstr "" -#: ../../../CHANGELOG.md:2156 -msgid "This is only useful to people who develop/build their own Matrix client applications." +#: ../../../CHANGELOG.md:2155 +msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" msgstr "" -#: ../../../CHANGELOG.md:2158 -msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +#: ../../../CHANGELOG.md:2157 +msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" +msgstr "" + +#: ../../../CHANGELOG.md:2159 +msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." msgstr "" #: ../../../CHANGELOG.md:2161 -msgid "2021-03-16" +msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." msgstr "" #: ../../../CHANGELOG.md:2163 -msgid "Go-NEB support" +msgid "Webserver configuration" msgstr "" #: ../../../CHANGELOG.md:2165 -msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." +msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" msgstr "" #: ../../../CHANGELOG.md:2167 -msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." +msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" msgstr "" -#: ../../../CHANGELOG.md:2170 -msgid "2021-02-19" +#: ../../../CHANGELOG.md:2169 +msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" msgstr "" -#: ../../../CHANGELOG.md:2172 -msgid "GroupMe bridging support via mx-puppet-groupme" +#: ../../../CHANGELOG.md:2171 +msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" msgstr "" -#: ../../../CHANGELOG.md:2174 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." +#: ../../../CHANGELOG.md:2173 +msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." msgstr "" #: ../../../CHANGELOG.md:2176 -msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +msgid "2022-11-05" msgstr "" #: ../../../CHANGELOG.md:2178 -msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." +msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" msgstr "" #: ../../../CHANGELOG.md:2180 -msgid "Mautrix Instagram bridging support" +msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." msgstr "" #: ../../../CHANGELOG.md:2182 -msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." +msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." msgstr "" #: ../../../CHANGELOG.md:2184 -msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." +msgid "If you've already got both Etherpad and Dimension in use you could:" msgstr "" #: ../../../CHANGELOG.md:2186 -msgid "Synapse workers support" +msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." msgstr "" #: ../../../CHANGELOG.md:2188 -msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." +msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" msgstr "" -#: ../../../CHANGELOG.md:2190 -msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +#: ../../../CHANGELOG.md:2191 +msgid "2022-11-04" msgstr "" -#: ../../../CHANGELOG.md:2192 -msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." +#: ../../../CHANGELOG.md:2193 +msgid "The playbook now uses external roles for some things" msgstr "" -#: ../../../CHANGELOG.md:2194 -msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." +#: ../../../CHANGELOG.md:2195 +msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." msgstr "" -#: ../../../CHANGELOG.md:2196 -msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." +#: ../../../CHANGELOG.md:2197 +msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." msgstr "" #: ../../../CHANGELOG.md:2199 -msgid "2021-02-12" +msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" msgstr "" #: ../../../CHANGELOG.md:2201 -msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" +msgid "those that live within the playbook itself (`roles/custom/*`)" msgstr "" #: ../../../CHANGELOG.md:2203 -msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." +msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." msgstr "" #: ../../../CHANGELOG.md:2205 -msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." +msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." msgstr "" #: ../../../CHANGELOG.md:2207 -msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." +msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:2210 -msgid "2021-01-31" +#: ../../../CHANGELOG.md:2209 +msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." msgstr "" #: ../../../CHANGELOG.md:2212 -msgid "Etherpad support" +msgid "2022-10-14" msgstr "" #: ../../../CHANGELOG.md:2214 -msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." +msgid "synapse-s3-storage-provider support" msgstr "" #: ../../../CHANGELOG.md:2216 -msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." +msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" msgstr "" -#: ../../../CHANGELOG.md:2219 -msgid "2021-01-22" +#: ../../../CHANGELOG.md:2218 +msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." msgstr "" -#: ../../../CHANGELOG.md:2221 -msgid "(Breaking Change) Postgres changes that require manual intervention" +#: ../../../CHANGELOG.md:2220 +msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." msgstr "" -#: ../../../CHANGELOG.md:2223 -msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." +#: ../../../CHANGELOG.md:2222 +msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." msgstr "" -#: ../../../CHANGELOG.md:2225 -msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." +#: ../../../CHANGELOG.md:2224 +msgid "Synapse container image customization support" msgstr "" -#: ../../../CHANGELOG.md:2227 -msgid "Why?" +#: ../../../CHANGELOG.md:2226 +msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." msgstr "" -#: ../../../CHANGELOG.md:2229 -msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +#: ../../../CHANGELOG.md:2228 +msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." msgstr "" #: ../../../CHANGELOG.md:2230 -msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2231 -msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2232 -msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2233 -msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." -msgstr "" - -#: ../../../CHANGELOG.md:2234 -msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." -msgstr "" - -#: ../../../CHANGELOG.md:2236 -msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:2238 -msgid "What has really changed?" -msgstr "" - -#: ../../../CHANGELOG.md:2240 -msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" msgstr "" #: ../../../CHANGELOG.md:2241 -msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" -msgstr "" - -#: ../../../CHANGELOG.md:2242 -msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" +msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." msgstr "" #: ../../../CHANGELOG.md:2243 -msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." msgstr "" -#: ../../../CHANGELOG.md:2245 -msgid "What do I do if I'm using the integrated Postgres server (default)?" +#: ../../../CHANGELOG.md:2246 +msgid "2022-10-02" msgstr "" -#: ../../../CHANGELOG.md:2247 -msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." +#: ../../../CHANGELOG.md:2248 +msgid "matrix-ldap-registration-proxy support" msgstr "" -#: ../../../CHANGELOG.md:2249 -msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" +#: ../../../CHANGELOG.md:2250 +msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." msgstr "" -#: ../../../CHANGELOG.md:2251 -msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." -msgstr "" - -#: ../../../CHANGELOG.md:2253 -msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" +#: ../../../CHANGELOG.md:2252 +msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2255 -msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" +msgid "2022-09-15" msgstr "" -#: ../../../CHANGELOG.md:2260 ../../../CHANGELOG.md:2272 -msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +#: ../../../CHANGELOG.md:2257 +msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" +msgstr "" + +#: ../../../CHANGELOG.md:2259 +msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" +msgstr "" + +#: ../../../CHANGELOG.md:2261 +msgid "we've added support for [Stream writers](#stream-writers-support)" msgstr "" #: ../../../CHANGELOG.md:2262 -msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2263 -msgid "Log in to the server via SSH. The next commands will be performed there." +msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2264 -msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" msgstr "" #: ../../../CHANGELOG.md:2265 -msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" +msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" msgstr "" #: ../../../CHANGELOG.md:2266 -msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" +msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2267 +msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" +msgstr "" + +#: ../../../CHANGELOG.md:2268 +msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" +msgstr "" + +#: ../../../CHANGELOG.md:2270 +msgid "Stream writers support" +msgstr "" + +#: ../../../CHANGELOG.md:2272 +msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." msgstr "" #: ../../../CHANGELOG.md:2274 -msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" +msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." msgstr "" -#: ../../../CHANGELOG.md:2292 -msgid "You may need to press *Enter* after pasting the lines above." +#: ../../../CHANGELOG.md:2276 +msgid "If you'd like to customize the number of workers we also make that possible using these variables:" msgstr "" -#: ../../../CHANGELOG.md:2294 -msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" +#: ../../../CHANGELOG.md:2289 +msgid "Multiple federation sender workers support" msgstr "" -#: ../../../CHANGELOG.md:2296 -msgid "What do I do if I'm using an external Postgres server?" +#: ../../../CHANGELOG.md:2291 +msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." msgstr "" -#: ../../../CHANGELOG.md:2298 -msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." +#: ../../../CHANGELOG.md:2293 +msgid "Multiple pusher workers support" msgstr "" -#: ../../../CHANGELOG.md:2300 -msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." +#: ../../../CHANGELOG.md:2295 +msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." +msgstr "" + +#: ../../../CHANGELOG.md:2297 +msgid "Background tasks can run on a worker" +msgstr "" + +#: ../../../CHANGELOG.md:2299 +msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." +msgstr "" + +#: ../../../CHANGELOG.md:2301 +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2303 -msgid "2021-01-20" +msgid "Appservice worker support is back" msgstr "" #: ../../../CHANGELOG.md:2305 -msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" +msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." msgstr "" #: ../../../CHANGELOG.md:2307 -msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." msgstr "" #: ../../../CHANGELOG.md:2309 -msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2311 -msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." +msgid "User Directory worker support is back" msgstr "" #: ../../../CHANGELOG.md:2313 -msgid "Whether this change requires your intervention depends mostly on:" -msgstr "" - -#: ../../../CHANGELOG.md:2314 -msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." +msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." msgstr "" #: ../../../CHANGELOG.md:2315 -msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." msgstr "" #: ../../../CHANGELOG.md:2317 -msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2319 -msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" +msgid "Using more than 1 media repository worker is now more reliable" msgstr "" #: ../../../CHANGELOG.md:2321 -msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." +msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." msgstr "" #: ../../../CHANGELOG.md:2323 -msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." +msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." msgstr "" #: ../../../CHANGELOG.md:2325 -msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." +msgid "Potential Backward Incompatibilities after these Synapse worker changes" msgstr "" #: ../../../CHANGELOG.md:2327 -msgid "Upgrade path for people running an external Postgres server" +msgid "Below we'll discuss **potential backward incompatibilities**." msgstr "" #: ../../../CHANGELOG.md:2329 -msgid "For people using the internal Postgres server (the default for the playbook):" -msgstr "" - -#: ../../../CHANGELOG.md:2330 -msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." msgstr "" #: ../../../CHANGELOG.md:2331 -msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" +msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." msgstr "" -#: ../../../CHANGELOG.md:2332 -msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" +#: ../../../CHANGELOG.md:2333 +msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." msgstr "" -#: ../../../CHANGELOG.md:2334 -msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." -msgstr "" - -#: ../../../CHANGELOG.md:2336 -msgid "You have 3 ways to proceed:" +#: ../../../CHANGELOG.md:2335 +msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." msgstr "" #: ../../../CHANGELOG.md:2338 -msgid "contribute to the playbook to make this possible (difficult)" -msgstr "" - -#: ../../../CHANGELOG.md:2339 -msgid "or, do the migration \"steps\" manually:" +msgid "2022-09-09" msgstr "" #: ../../../CHANGELOG.md:2340 -msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:2341 -msgid "create a new `matrix_mautrix_facebook` Postgres database for it" +msgid "Cactus Comments support" msgstr "" #: ../../../CHANGELOG.md:2342 -msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" -msgstr "" - -#: ../../../CHANGELOG.md:2343 -msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." msgstr "" #: ../../../CHANGELOG.md:2344 -msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" -msgstr "" - -#: ../../../CHANGELOG.md:2345 -msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:2346 -msgid "send a `login` message to the Facebook bridge bot again" +msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2347 -msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" +msgid "2022-08-23" msgstr "" #: ../../../CHANGELOG.md:2349 -msgid "Staying on SQLite for a little longer (temporary solution)" +msgid "Postmoogle email bridge support" msgstr "" #: ../../../CHANGELOG.md:2351 -msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." msgstr "" -#: ../../../CHANGELOG.md:2361 -msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." +#: ../../../CHANGELOG.md:2353 +msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:2356 +msgid "2022-08-10" +msgstr "" + +#: ../../../CHANGELOG.md:2358 +msgid "mautrix-whatsapp default configuration changes" +msgstr "" + +#: ../../../CHANGELOG.md:2360 +msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." +msgstr "" + +#: ../../../CHANGELOG.md:2362 +msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." msgstr "" #: ../../../CHANGELOG.md:2364 -msgid "2021-01-17" +msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." msgstr "" -#: ../../../CHANGELOG.md:2366 -msgid "matrix-corporal goes 2.0" +#: ../../../CHANGELOG.md:2367 +msgid "2022-08-09" msgstr "" -#: ../../../CHANGELOG.md:2368 -msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." +#: ../../../CHANGELOG.md:2369 +msgid "Conduit support" msgstr "" -#: ../../../CHANGELOG.md:2370 -msgid "No manual intervention is required in the common case." +#: ../../../CHANGELOG.md:2371 +msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." msgstr "" -#: ../../../CHANGELOG.md:2372 -msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:2373 +msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" #: ../../../CHANGELOG.md:2375 -msgid "2021-01-14" -msgstr "" - -#: ../../../CHANGELOG.md:2377 -msgid "Moving from cronjobs to systemd timers" -msgstr "" - -#: ../../../CHANGELOG.md:2379 -msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." +msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2381 -msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." msgstr "" -#: ../../../CHANGELOG.md:2383 -msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." +#: ../../../CHANGELOG.md:2384 +msgid "2022-07-29" msgstr "" #: ../../../CHANGELOG.md:2386 -msgid "2021-01-08" +msgid "mautrix-discord support" msgstr "" #: ../../../CHANGELOG.md:2388 -msgid "(Breaking Change) New SSL configuration" +msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:2390 -msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." msgstr "" -#: ../../../CHANGELOG.md:2392 -msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." +#: ../../../CHANGELOG.md:2393 +msgid "2022-07-27" msgstr "" -#: ../../../CHANGELOG.md:2394 -msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." +#: ../../../CHANGELOG.md:2395 +msgid "matrix-appservice-kakaotalk support" msgstr "" -#: ../../../CHANGELOG.md:2396 -msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." +#: ../../../CHANGELOG.md:2397 +msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" msgstr "" -#: ../../../CHANGELOG.md:2398 -msgid "To revert to the old behaviour, set the following variables:" +#: ../../../CHANGELOG.md:2399 +msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2405 -msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." +#: ../../../CHANGELOG.md:2402 +msgid "2022-07-20" +msgstr "" + +#: ../../../CHANGELOG.md:2404 +msgid "maubot support" +msgstr "" + +#: ../../../CHANGELOG.md:2406 +msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." msgstr "" #: ../../../CHANGELOG.md:2408 -msgid "2021-01-03" +msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2410 -msgid "Signal bridging support via mautrix-signal" +#: ../../../CHANGELOG.md:2411 +msgid "2022-07-14" msgstr "" -#: ../../../CHANGELOG.md:2412 -msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2413 +msgid "mx-puppet-skype removal" msgstr "" -#: ../../../CHANGELOG.md:2414 -msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." +#: ../../../CHANGELOG.md:2415 +msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." msgstr "" #: ../../../CHANGELOG.md:2417 -msgid "2020-12-23" +msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" msgstr "" #: ../../../CHANGELOG.md:2419 -msgid "The big move to all-on-Postgres (potentially dangerous)" +msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" +msgstr "" + +#: ../../../CHANGELOG.md:2420 +msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2421 -msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." +msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2422 +msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2423 -msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." +msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" msgstr "" #: ../../../CHANGELOG.md:2425 -msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" +msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." msgstr "" #: ../../../CHANGELOG.md:2427 -msgid "Moving all services to Postgres brings a few **benefits** to us:" +msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." msgstr "" #: ../../../CHANGELOG.md:2429 -msgid "**improved performance**" -msgstr "" - -#: ../../../CHANGELOG.md:2430 -msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." +msgid "signald (0.19.0+) upgrade requires data migration" msgstr "" #: ../../../CHANGELOG.md:2431 -msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." +msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." msgstr "" -#: ../../../CHANGELOG.md:2432 -msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." +#: ../../../CHANGELOG.md:2433 +msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." msgstr "" -#: ../../../CHANGELOG.md:2434 -msgid "Key takeway" +#: ../../../CHANGELOG.md:2435 +msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." msgstr "" -#: ../../../CHANGELOG.md:2436 -msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" +#: ../../../CHANGELOG.md:2437 +msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." msgstr "" -#: ../../../CHANGELOG.md:2438 -msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." -msgstr "" - -#: ../../../CHANGELOG.md:2440 -msgid "Opting-out of the Postgres migration" +#: ../../../CHANGELOG.md:2439 +msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" msgstr "" #: ../../../CHANGELOG.md:2442 -msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." +msgid "2022-07-05" msgstr "" #: ../../../CHANGELOG.md:2444 -msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." +msgid "Ntfy push notifications support" msgstr "" #: ../../../CHANGELOG.md:2446 -msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." msgstr "" #: ../../../CHANGELOG.md:2448 -msgid "Going back to SQLite/nedb if things went wrong" +msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2450 -msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" -msgstr "" - -#: ../../../CHANGELOG.md:2452 -msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +#: ../../../CHANGELOG.md:2451 +msgid "2022-06-23" msgstr "" #: ../../../CHANGELOG.md:2453 -msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" -msgstr "" - -#: ../../../CHANGELOG.md:2454 -msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "(Potential Backward Compatibility Break) Changes around metrics collection" msgstr "" #: ../../../CHANGELOG.md:2455 -msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" +msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." msgstr "" -#: ../../../CHANGELOG.md:2456 -msgid "[get in touch](README.md#support) with us" +#: ../../../CHANGELOG.md:2457 +msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." msgstr "" -#: ../../../CHANGELOG.md:2458 -msgid "2020-12-11" +#: ../../../CHANGELOG.md:2459 +msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." msgstr "" -#: ../../../CHANGELOG.md:2460 -msgid "synapse-janitor support removed" +#: ../../../CHANGELOG.md:2461 +msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" msgstr "" #: ../../../CHANGELOG.md:2462 -msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." +msgid "**Metrics may not be enabled by default anymore**:" +msgstr "" + +#: ../../../CHANGELOG.md:2463 +msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." msgstr "" #: ../../../CHANGELOG.md:2464 -msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." +msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." +msgstr "" + +#: ../../../CHANGELOG.md:2465 +msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." msgstr "" #: ../../../CHANGELOG.md:2466 -msgid "Docker 20.10 is here" +msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." msgstr "" #: ../../../CHANGELOG.md:2468 -msgid "(No need to do anything special in relation to this. Just something to keep in mind)" +msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." msgstr "" #: ../../../CHANGELOG.md:2470 -msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." +msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." msgstr "" #: ../../../CHANGELOG.md:2472 -msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." +msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" +msgstr "" + +#: ../../../CHANGELOG.md:2474 +msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." msgstr "" #: ../../../CHANGELOG.md:2475 -msgid "2020-12-08" +msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" +msgstr "" + +#: ../../../CHANGELOG.md:2476 +msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" msgstr "" #: ../../../CHANGELOG.md:2477 -msgid "openid APIs exposed by default on the federation port when federation disabled" +msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." msgstr "" #: ../../../CHANGELOG.md:2479 -msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." +msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." msgstr "" #: ../../../CHANGELOG.md:2481 -msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." +msgid "2022-06-13" msgstr "" #: ../../../CHANGELOG.md:2483 -msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." +msgid "go-skype-bridge bridging support" msgstr "" -#: ../../../CHANGELOG.md:2486 -msgid "2020-11-27" +#: ../../../CHANGELOG.md:2485 +msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." msgstr "" -#: ../../../CHANGELOG.md:2488 -msgid "Recent Jitsi updates may require configuration changes" +#: ../../../CHANGELOG.md:2487 +msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2490 -msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." +#: ../../../CHANGELOG.md:2489 +msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." msgstr "" #: ../../../CHANGELOG.md:2492 -msgid "**If you use our default Jitsi settings, you won't have to do anything.**" +msgid "2022-06-09" msgstr "" #: ../../../CHANGELOG.md:2494 -msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." +msgid "Running Ansible in a container can now happen on the Matrix server itself" msgstr "" #: ../../../CHANGELOG.md:2496 -msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." +msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." msgstr "" -#: ../../../CHANGELOG.md:2498 -msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." +#: ../../../CHANGELOG.md:2499 +msgid "2022-05-31" msgstr "" #: ../../../CHANGELOG.md:2501 -msgid "2020-11-23" +msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2503 ../../../CHANGELOG.md:2511 -msgid "Breaking change matrix-sms-bridge" +#: ../../../CHANGELOG.md:2503 +msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." msgstr "" #: ../../../CHANGELOG.md:2505 -msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." +msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." msgstr "" #: ../../../CHANGELOG.md:2507 -msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." +msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" msgstr "" #: ../../../CHANGELOG.md:2509 -msgid "2020-11-13" +msgid "SSH into the Matrix server" msgstr "" -#: ../../../CHANGELOG.md:2513 -msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." +#: ../../../CHANGELOG.md:2510 +msgid "launch `/usr/local/bin/matrix-postgres-cli`" msgstr "" -#: ../../../CHANGELOG.md:2515 -msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +#: ../../../CHANGELOG.md:2511 +msgid "switch to the `synapse` database: `\\c synapse`" msgstr "" -#: ../../../CHANGELOG.md:2516 -msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" -msgstr "" - -#: ../../../CHANGELOG.md:2517 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" -msgstr "" - -#: ../../../CHANGELOG.md:2518 -msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." -msgstr "" - -#: ../../../CHANGELOG.md:2519 -msgid "Remove the var from the first step." -msgstr "" - -#: ../../../CHANGELOG.md:2520 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." -msgstr "" - -#: ../../../CHANGELOG.md:2522 -msgid "2020-11-10" -msgstr "" - -#: ../../../CHANGELOG.md:2524 -msgid "Dynamic DNS support" -msgstr "" - -#: ../../../CHANGELOG.md:2526 -msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." -msgstr "" - -#: ../../../CHANGELOG.md:2528 -msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." +#: ../../../CHANGELOG.md:2512 +msgid "run the following SQL query:" msgstr "" #: ../../../CHANGELOG.md:2531 -msgid "2020-10-28" +msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" msgstr "" -#: ../../../CHANGELOG.md:2533 -msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +#: ../../../CHANGELOG.md:2534 +msgid "2022-04-25" msgstr "" -#: ../../../CHANGELOG.md:2535 -msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." +#: ../../../CHANGELOG.md:2536 +msgid "Buscarron bot support" msgstr "" -#: ../../../CHANGELOG.md:2537 -msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." +#: ../../../CHANGELOG.md:2538 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" msgstr "" -#: ../../../CHANGELOG.md:2539 -msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." +#: ../../../CHANGELOG.md:2540 +msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2541 -msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." +#: ../../../CHANGELOG.md:2543 +msgid "2022-04-21" msgstr "" -#: ../../../CHANGELOG.md:2544 -msgid "2020-10-26" +#: ../../../CHANGELOG.md:2545 +msgid "matrix-registration-bot support" msgstr "" -#: ../../../CHANGELOG.md:2546 -msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" +#: ../../../CHANGELOG.md:2547 +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." msgstr "" -#: ../../../CHANGELOG.md:2548 -msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." -msgstr "" - -#: ../../../CHANGELOG.md:2550 -msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." +#: ../../../CHANGELOG.md:2549 +msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2552 -msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" +msgid "2022-04-19" msgstr "" -#: ../../../CHANGELOG.md:2559 -msgid "2020-10-02" +#: ../../../CHANGELOG.md:2554 +msgid "BorgBackup support" msgstr "" -#: ../../../CHANGELOG.md:2561 -msgid "Minimum Ansible version raised to v2.7.0" +#: ../../../CHANGELOG.md:2556 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." msgstr "" -#: ../../../CHANGELOG.md:2563 -msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." +#: ../../../CHANGELOG.md:2558 +msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2565 -msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." +#: ../../../CHANGELOG.md:2560 +msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" msgstr "" -#: ../../../CHANGELOG.md:2567 -msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." +#: ../../../CHANGELOG.md:2562 +msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" +msgstr "" + +#: ../../../CHANGELOG.md:2564 +msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." +msgstr "" + +#: ../../../CHANGELOG.md:2566 +msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." +msgstr "" + +#: ../../../CHANGELOG.md:2568 +msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" msgstr "" #: ../../../CHANGELOG.md:2570 -msgid "2020-10-01" +msgid "Pull the latest playbook changes" +msgstr "" + +#: ../../../CHANGELOG.md:2571 +msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:2572 -msgid "Postgres 13 support" +msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:2573 +msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" msgstr "" #: ../../../CHANGELOG.md:2574 -msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." +msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2575 +msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." msgstr "" #: ../../../CHANGELOG.md:2576 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" msgstr "" -#: ../../../CHANGELOG.md:2578 -msgid "2020-09-01" +#: ../../../CHANGELOG.md:2579 +msgid "2022-04-14" msgstr "" -#: ../../../CHANGELOG.md:2580 -msgid "matrix-registration support" +#: ../../../CHANGELOG.md:2581 +msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" msgstr "" -#: ../../../CHANGELOG.md:2582 -msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." +#: ../../../CHANGELOG.md:2583 +msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." msgstr "" -#: ../../../CHANGELOG.md:2584 -msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." +#: ../../../CHANGELOG.md:2585 +msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." msgstr "" #: ../../../CHANGELOG.md:2587 -msgid "2020-08-21" +msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." msgstr "" #: ../../../CHANGELOG.md:2589 -msgid "rust-synapse-compress-state support" +msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" msgstr "" -#: ../../../CHANGELOG.md:2591 -msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." +#: ../../../CHANGELOG.md:2592 +msgid "2022-03-17" msgstr "" -#: ../../../CHANGELOG.md:2593 -msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." +#: ../../../CHANGELOG.md:2594 +msgid "(Compatibility Break) ma1sd identity server no longer installed by default" msgstr "" #: ../../../CHANGELOG.md:2596 -msgid "2020-07-22" +msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." msgstr "" #: ../../../CHANGELOG.md:2598 -msgid "Synapse Admin support" +msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." msgstr "" #: ../../../CHANGELOG.md:2600 -msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." msgstr "" #: ../../../CHANGELOG.md:2602 -msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:2605 -msgid "2020-07-20" -msgstr "" - -#: ../../../CHANGELOG.md:2607 -msgid "matrix-reminder-bot support" +msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:2609 -msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." +msgid "2022-02-12" msgstr "" #: ../../../CHANGELOG.md:2611 -msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." +msgid "matrix_encryption_disabler support" msgstr "" -#: ../../../CHANGELOG.md:2614 -msgid "2020-07-17" +#: ../../../CHANGELOG.md:2613 +msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." msgstr "" -#: ../../../CHANGELOG.md:2616 -msgid "(Compatibility Break) Riot is now Element" +#: ../../../CHANGELOG.md:2615 +msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." msgstr "" #: ../../../CHANGELOG.md:2618 -msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." +msgid "2022-02-01" msgstr "" #: ../../../CHANGELOG.md:2620 -msgid "The playbook follows suit. Existing installations have a few options for how to handle this." +msgid "matrix-hookshot bridging support" msgstr "" #: ../../../CHANGELOG.md:2622 -msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." +msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2625 -msgid "2020-07-03" +msgid "2022-01-31" msgstr "" #: ../../../CHANGELOG.md:2627 -msgid "Steam bridging support via mx-puppet-steam" +msgid "ARM support for matrix-corporal" msgstr "" #: ../../../CHANGELOG.md:2629 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." +msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." msgstr "" #: ../../../CHANGELOG.md:2632 -msgid "2020-07-01" +msgid "2022-01-07" msgstr "" #: ../../../CHANGELOG.md:2634 -msgid "Discord bridging support via mx-puppet-discord" +msgid "Dendrite support" msgstr "" #: ../../../CHANGELOG.md:2636 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." +msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." msgstr "" #: ../../../CHANGELOG.md:2638 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." +msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." msgstr "" -#: ../../../CHANGELOG.md:2641 -msgid "2020-06-30" +#: ../../../CHANGELOG.md:2640 +msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" msgstr "" -#: ../../../CHANGELOG.md:2643 -msgid "Instagram and Twitter bridging support" +#: ../../../CHANGELOG.md:2642 +msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." msgstr "" -#: ../../../CHANGELOG.md:2645 -msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2644 +msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." msgstr "" -#: ../../../CHANGELOG.md:2647 -msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2646 +msgid "Adapting the configuration for existing Synapse installations" +msgstr "" + +#: ../../../CHANGELOG.md:2648 +msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." msgstr "" #: ../../../CHANGELOG.md:2650 -msgid "2020-06-28" -msgstr "" - -#: ../../../CHANGELOG.md:2652 -msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" -msgstr "" - -#: ../../../CHANGELOG.md:2654 ../../../CHANGELOG.md:2683 -msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." -msgstr "" - -#: ../../../CHANGELOG.md:2656 -msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." -msgstr "" - -#: ../../../CHANGELOG.md:2658 -msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:2660 -msgid "As always, re-running the playbook is enough to get the updated bits." +msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" msgstr "" #: ../../../CHANGELOG.md:2662 -msgid "2020-06-11" +msgid "Trying out Dendrite" msgstr "" #: ../../../CHANGELOG.md:2664 -msgid "SMS bridging requires db reset" -msgstr "" - -#: ../../../CHANGELOG.md:2666 -msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new requried var `matrix_sms_bridge_default_region`." -msgstr "" - -#: ../../../CHANGELOG.md:2668 -msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." +msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2670 -msgid "2020-06-05" +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." msgstr "" #: ../../../CHANGELOG.md:2672 -msgid "SMS bridging support" +msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" msgstr "" #: ../../../CHANGELOG.md:2674 -msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." +msgid "Honoroit bot support" msgstr "" #: ../../../CHANGELOG.md:2676 -msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." msgstr "" -#: ../../../CHANGELOG.md:2679 -msgid "2020-05-19" +#: ../../../CHANGELOG.md:2678 +msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2681 -msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" +msgid "2022-01-06" +msgstr "" + +#: ../../../CHANGELOG.md:2683 +msgid "Cinny support" msgstr "" #: ../../../CHANGELOG.md:2685 -msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." msgstr "" #: ../../../CHANGELOG.md:2687 -msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." +msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." msgstr "" #: ../../../CHANGELOG.md:2689 -msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" +msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." msgstr "" #: ../../../CHANGELOG.md:2692 -msgid "2020-04-28" +msgid "2021-12-22" msgstr "" #: ../../../CHANGELOG.md:2694 -msgid "Newer IRC bridge (with potential breaking change)" +msgid "Twitter bridging support via mautrix-twitter" msgstr "" #: ../../../CHANGELOG.md:2696 -msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it accoring to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." +msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +msgstr "" + +#: ../../../CHANGELOG.md:2699 +msgid "2021-12-14" +msgstr "" + +#: ../../../CHANGELOG.md:2701 +msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +msgstr "" + +#: ../../../CHANGELOG.md:2703 +msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." msgstr "" #: ../../../CHANGELOG.md:2705 -msgid "2020-04-23" +msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." msgstr "" -#: ../../../CHANGELOG.md:2707 ../../../CHANGELOG.md:2938 -msgid "Slack bridging support" +#: ../../../CHANGELOG.md:2708 +msgid "2021-11-11" msgstr "" -#: ../../../CHANGELOG.md:2709 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." +#: ../../../CHANGELOG.md:2710 +msgid "Dropped support for Postgres v9.6" msgstr "" -#: ../../../CHANGELOG.md:2711 -msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2712 +msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." msgstr "" #: ../../../CHANGELOG.md:2714 -msgid "2020-04-09" +msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." msgstr "" -#: ../../../CHANGELOG.md:2716 -msgid "Skype bridging support" +#: ../../../CHANGELOG.md:2717 +msgid "2021-10-23" msgstr "" -#: ../../../CHANGELOG.md:2718 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." +#: ../../../CHANGELOG.md:2719 +msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" msgstr "" -#: ../../../CHANGELOG.md:2720 -msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2721 +msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." msgstr "" #: ../../../CHANGELOG.md:2723 -msgid "2020-04-05" +msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." msgstr "" -#: ../../../CHANGELOG.md:2725 -msgid "Private Jitsi support" +#: ../../../CHANGELOG.md:2726 +msgid "2021-08-23" msgstr "" -#: ../../../CHANGELOG.md:2727 -msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." +#: ../../../CHANGELOG.md:2728 +msgid "LinkedIn bridging support via beeper-linkedin" msgstr "" -#: ../../../CHANGELOG.md:2729 -msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." +#: ../../../CHANGELOG.md:2730 +msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." msgstr "" -#: ../../../CHANGELOG.md:2731 -msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." +#: ../../../CHANGELOG.md:2732 +msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" #: ../../../CHANGELOG.md:2734 -msgid "2020-04-03" +msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." msgstr "" -#: ../../../CHANGELOG.md:2736 -msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" +#: ../../../CHANGELOG.md:2737 +msgid "2021-08-20" msgstr "" -#: ../../../CHANGELOG.md:2738 -msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." +#: ../../../CHANGELOG.md:2739 +msgid "Sygnal upgraded — ARM support and no longer requires a database" msgstr "" -#: ../../../CHANGELOG.md:2740 -msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." +#: ../../../CHANGELOG.md:2741 +msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." msgstr "" -#: ../../../CHANGELOG.md:2742 -msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." +#: ../../../CHANGELOG.md:2743 +msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." msgstr "" #: ../../../CHANGELOG.md:2745 -msgid "2020-03-29" +msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." msgstr "" #: ../../../CHANGELOG.md:2747 -msgid "Archlinux support" +msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." msgstr "" -#: ../../../CHANGELOG.md:2749 -msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." +#: ../../../CHANGELOG.md:2750 +msgid "2021-05-21" msgstr "" #: ../../../CHANGELOG.md:2752 -msgid "2020-03-24" +msgid "Hydrogen support" msgstr "" #: ../../../CHANGELOG.md:2754 -msgid "Jitsi support" +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." msgstr "" #: ../../../CHANGELOG.md:2756 -msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." +msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." msgstr "" #: ../../../CHANGELOG.md:2758 -msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." +msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." msgstr "" #: ../../../CHANGELOG.md:2761 -msgid "2020-03-15" +msgid "2021-05-19" msgstr "" #: ../../../CHANGELOG.md:2763 -msgid "Raspberry Pi support" +msgid "Heisenbridge support" msgstr "" #: ../../../CHANGELOG.md:2765 -msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." +msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." msgstr "" #: ../../../CHANGELOG.md:2767 -msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." +msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." msgstr "" #: ../../../CHANGELOG.md:2770 -msgid "2020-02-26" +msgid "2021-04-16" msgstr "" #: ../../../CHANGELOG.md:2772 -msgid "Riot-web themes are here" +msgid "Disabling TLSv1 and TLSv1.1 for coturn" msgstr "" #: ../../../CHANGELOG.md:2774 -msgid "The playbook now makes it easy to install custom riot-web themes." +msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." msgstr "" #: ../../../CHANGELOG.md:2776 -msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." +msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:2779 -msgid "2020-02-24" +#: ../../../CHANGELOG.md:2784 +msgid "2021-04-05" msgstr "" -#: ../../../CHANGELOG.md:2781 -msgid "Customize the server name in Riot's login page" +#: ../../../CHANGELOG.md:2786 +msgid "Automated local Postgres backup support" msgstr "" -#: ../../../CHANGELOG.md:2783 -msgid "You can now customize the server name string that Riot-web displays in its login page." +#: ../../../CHANGELOG.md:2788 +msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." msgstr "" -#: ../../../CHANGELOG.md:2785 -msgid "These playbook variables, with these default values, have been added:" -msgstr "" - -#: ../../../CHANGELOG.md:2791 -msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." +#: ../../../CHANGELOG.md:2790 +msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." msgstr "" #: ../../../CHANGELOG.md:2793 -msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." +msgid "2021-04-03" msgstr "" -#: ../../../CHANGELOG.md:2796 -msgid "2020-01-30" +#: ../../../CHANGELOG.md:2795 +msgid "Mjolnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:2798 -msgid "Disabling TLSv1.1" +#: ../../../CHANGELOG.md:2797 +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." msgstr "" -#: ../../../CHANGELOG.md:2800 -msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." +#: ../../../CHANGELOG.md:2799 +msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." msgstr "" #: ../../../CHANGELOG.md:2802 -msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" +msgid "2021-03-20" msgstr "" -#: ../../../CHANGELOG.md:2805 -msgid "2020-01-21" +#: ../../../CHANGELOG.md:2804 +msgid "Sygnal push gateway support" msgstr "" -#: ../../../CHANGELOG.md:2807 -msgid "Postgres collation changes (action required!)" +#: ../../../CHANGELOG.md:2806 +msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." msgstr "" -#: ../../../CHANGELOG.md:2809 -msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." +#: ../../../CHANGELOG.md:2808 +msgid "This is only useful to people who develop/build their own Matrix client applications." msgstr "" -#: ../../../CHANGELOG.md:2811 -msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." +#: ../../../CHANGELOG.md:2810 +msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." msgstr "" #: ../../../CHANGELOG.md:2813 -msgid "To avoid future problems, we recommend that you run the following command:" +msgid "2021-03-16" +msgstr "" + +#: ../../../CHANGELOG.md:2815 +msgid "Go-NEB support" +msgstr "" + +#: ../../../CHANGELOG.md:2817 +msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." msgstr "" #: ../../../CHANGELOG.md:2819 -msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." +msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." msgstr "" #: ../../../CHANGELOG.md:2822 -msgid "2020-01-14" +msgid "2021-02-19" msgstr "" #: ../../../CHANGELOG.md:2824 -msgid "Added support for Appservice Webhooks" +msgid "GroupMe bridging support via mx-puppet-groupme" msgstr "" #: ../../../CHANGELOG.md:2826 -msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." +msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." msgstr "" #: ../../../CHANGELOG.md:2828 -msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." +msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" -#: ../../../CHANGELOG.md:2831 -msgid "2020-01-12" +#: ../../../CHANGELOG.md:2830 +msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." msgstr "" -#: ../../../CHANGELOG.md:2833 -msgid "Added support for automatic Double Puppeting for all Mautrix bridges" +#: ../../../CHANGELOG.md:2832 +msgid "Mautrix Instagram bridging support" msgstr "" -#: ../../../CHANGELOG.md:2835 -msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." +#: ../../../CHANGELOG.md:2834 +msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." msgstr "" -#: ../../../CHANGELOG.md:2837 -msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." +#: ../../../CHANGELOG.md:2836 +msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." msgstr "" -#: ../../../CHANGELOG.md:2839 -msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." +#: ../../../CHANGELOG.md:2838 +msgid "Synapse workers support" +msgstr "" + +#: ../../../CHANGELOG.md:2840 +msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." msgstr "" #: ../../../CHANGELOG.md:2842 -msgid "2019-12-06" +msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." msgstr "" #: ../../../CHANGELOG.md:2844 -msgid "Added support for an alternative method for using another webserver" +msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." msgstr "" #: ../../../CHANGELOG.md:2846 -msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." +msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." msgstr "" #: ../../../CHANGELOG.md:2848 -msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." +msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." msgstr "" -#: ../../../CHANGELOG.md:2850 -msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." +#: ../../../CHANGELOG.md:2851 +msgid "2021-02-12" msgstr "" #: ../../../CHANGELOG.md:2853 -msgid "2019-11-10" +msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" msgstr "" #: ../../../CHANGELOG.md:2855 -msgid "Tightened security around room directory publishing" +msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." msgstr "" #: ../../../CHANGELOG.md:2857 -msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." +msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." msgstr "" #: ../../../CHANGELOG.md:2859 -msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." +msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." msgstr "" -#: ../../../CHANGELOG.md:2861 -msgid "As with anything else, these new defaults can be overriden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." +#: ../../../CHANGELOG.md:2862 +msgid "2021-01-31" msgstr "" #: ../../../CHANGELOG.md:2864 -msgid "2019-10-05" +msgid "Etherpad support" msgstr "" #: ../../../CHANGELOG.md:2866 -msgid "Improved Postgres upgrading/importing" +msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." msgstr "" #: ../../../CHANGELOG.md:2868 -msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." +msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." msgstr "" -#: ../../../CHANGELOG.md:2870 -msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." +#: ../../../CHANGELOG.md:2871 +msgid "2021-01-22" msgstr "" -#: ../../../CHANGELOG.md:2872 -msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." +#: ../../../CHANGELOG.md:2873 +msgid "(Breaking Change) Postgres changes that require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2874 -msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." +#: ../../../CHANGELOG.md:2875 +msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." msgstr "" #: ../../../CHANGELOG.md:2877 -msgid "2019-10-04" +msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." msgstr "" #: ../../../CHANGELOG.md:2879 -msgid "Postgres 12 support" +msgid "Why?" msgstr "" #: ../../../CHANGELOG.md:2881 -msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." +msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +msgstr "" + +#: ../../../CHANGELOG.md:2882 +msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" msgstr "" #: ../../../CHANGELOG.md:2883 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2884 +msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2885 +msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." msgstr "" #: ../../../CHANGELOG.md:2886 -msgid "2019-10-03" +msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." msgstr "" #: ../../../CHANGELOG.md:2888 -msgid "Synapse 1.4.0" +msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." msgstr "" #: ../../../CHANGELOG.md:2890 -msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." +msgid "What has really changed?" msgstr "" #: ../../../CHANGELOG.md:2892 -msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." +msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgstr "" + +#: ../../../CHANGELOG.md:2893 +msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" msgstr "" #: ../../../CHANGELOG.md:2894 -msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." +msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" msgstr "" -#: ../../../CHANGELOG.md:2896 -msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." +#: ../../../CHANGELOG.md:2895 +msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgstr "" + +#: ../../../CHANGELOG.md:2897 +msgid "What do I do if I'm using the integrated Postgres server (default)?" msgstr "" #: ../../../CHANGELOG.md:2899 -msgid "2019-09-09" +msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." msgstr "" #: ../../../CHANGELOG.md:2901 -msgid "Synapse Simple Antispam support" +msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" msgstr "" #: ../../../CHANGELOG.md:2903 -msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." +msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." msgstr "" #: ../../../CHANGELOG.md:2905 -msgid "From now on, you can easily install and configure this spam checker module through the playbook." +msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" msgstr "" #: ../../../CHANGELOG.md:2907 -msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." +msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" msgstr "" -#: ../../../CHANGELOG.md:2910 -msgid "2019-08-25" -msgstr "" - -#: ../../../CHANGELOG.md:2912 -msgid "Extensible Riot-web configuration" +#: ../../../CHANGELOG.md:2912 ../../../CHANGELOG.md:2924 +msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." msgstr "" #: ../../../CHANGELOG.md:2914 -msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." +msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +msgstr "" + +#: ../../../CHANGELOG.md:2915 +msgid "Log in to the server via SSH. The next commands will be performed there." msgstr "" #: ../../../CHANGELOG.md:2916 -msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." +msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgstr "" + +#: ../../../CHANGELOG.md:2917 +msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" msgstr "" #: ../../../CHANGELOG.md:2918 -msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." +msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" msgstr "" -#: ../../../CHANGELOG.md:2920 -msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2923 -msgid "2019-08-22" -msgstr "" - -#: ../../../CHANGELOG.md:2925 -msgid "Extensible Synapse configuration" -msgstr "" - -#: ../../../CHANGELOG.md:2927 -msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:2929 -msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." -msgstr "" - -#: ../../../CHANGELOG.md:2931 -msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." -msgstr "" - -#: ../../../CHANGELOG.md:2933 -msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2936 -msgid "2019-08-21" -msgstr "" - -#: ../../../CHANGELOG.md:2940 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." -msgstr "" - -#: ../../../CHANGELOG.md:2942 -msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +#: ../../../CHANGELOG.md:2926 +msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" msgstr "" #: ../../../CHANGELOG.md:2944 -msgid "Google Hangouts bridging support" +msgid "You may need to press *Enter* after pasting the lines above." msgstr "" #: ../../../CHANGELOG.md:2946 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." +msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" msgstr "" #: ../../../CHANGELOG.md:2948 -msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +msgid "What do I do if I'm using an external Postgres server?" msgstr "" -#: ../../../CHANGELOG.md:2951 -msgid "2019-08-05" +#: ../../../CHANGELOG.md:2950 +msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." msgstr "" -#: ../../../CHANGELOG.md:2953 -msgid "Email2Matrix support" +#: ../../../CHANGELOG.md:2952 +msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." msgstr "" #: ../../../CHANGELOG.md:2955 -msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." +msgid "2021-01-20" msgstr "" #: ../../../CHANGELOG.md:2957 -msgid "It's an optional feature that you can enable via the playbook." +msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" msgstr "" #: ../../../CHANGELOG.md:2959 -msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." +msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." msgstr "" -#: ../../../CHANGELOG.md:2962 -msgid "2019-08-03" +#: ../../../CHANGELOG.md:2961 +msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." msgstr "" -#: ../../../CHANGELOG.md:2964 -msgid "Synapse logging level has been reduced to WARNING" +#: ../../../CHANGELOG.md:2963 +msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." +msgstr "" + +#: ../../../CHANGELOG.md:2965 +msgid "Whether this change requires your intervention depends mostly on:" msgstr "" #: ../../../CHANGELOG.md:2966 -msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." +msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." msgstr "" -#: ../../../CHANGELOG.md:2968 -msgid "This greatly reduces the number of log messages that are being logged, leading to:" +#: ../../../CHANGELOG.md:2967 +msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." msgstr "" -#: ../../../CHANGELOG.md:2970 -msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" +#: ../../../CHANGELOG.md:2969 +msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." msgstr "" #: ../../../CHANGELOG.md:2971 -msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" +msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" msgstr "" #: ../../../CHANGELOG.md:2973 -msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." +msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." msgstr "" -#: ../../../CHANGELOG.md:2976 -msgid "2019-07-08" +#: ../../../CHANGELOG.md:2975 +msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." msgstr "" -#: ../../../CHANGELOG.md:2978 -msgid "Synapse Maintenance docs and synapse-janitor support are available" +#: ../../../CHANGELOG.md:2977 +msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." msgstr "" -#: ../../../CHANGELOG.md:2980 -msgid "The playbook can now help you with Synapse's maintenance." +#: ../../../CHANGELOG.md:2979 +msgid "Upgrade path for people running an external Postgres server" +msgstr "" + +#: ../../../CHANGELOG.md:2981 +msgid "For people using the internal Postgres server (the default for the playbook):" msgstr "" #: ../../../CHANGELOG.md:2982 -msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." +msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +msgstr "" + +#: ../../../CHANGELOG.md:2983 +msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" msgstr "" #: ../../../CHANGELOG.md:2984 -msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." +msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" msgstr "" #: ../../../CHANGELOG.md:2986 -msgid "(BC Break) Rename run control variables" +msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." msgstr "" #: ../../../CHANGELOG.md:2988 -msgid "Some internal playbook control variables have been renamed." +msgid "You have 3 ways to proceed:" msgstr "" #: ../../../CHANGELOG.md:2990 -msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." +msgid "contribute to the playbook to make this possible (difficult)" +msgstr "" + +#: ../../../CHANGELOG.md:2991 +msgid "or, do the migration \"steps\" manually:" msgstr "" #: ../../../CHANGELOG.md:2992 -msgid "The following variables have been renamed:" +msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" +msgstr "" + +#: ../../../CHANGELOG.md:2993 +msgid "create a new `matrix_mautrix_facebook` Postgres database for it" msgstr "" #: ../../../CHANGELOG.md:2994 -msgid "from `run_import_postgres` to `run_postgres_import`" +msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" msgstr "" #: ../../../CHANGELOG.md:2995 -msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" +msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" msgstr "" #: ../../../CHANGELOG.md:2996 -msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" msgstr "" #: ../../../CHANGELOG.md:2997 -msgid "from `run_import_media_store` to `run_synapse_import_media_store`" +msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" msgstr "" #: ../../../CHANGELOG.md:2998 -msgid "from `run_register_user` to `run_synapse_register_user`" +msgid "send a `login` message to the Facebook bridge bot again" msgstr "" #: ../../../CHANGELOG.md:2999 -msgid "from `run_update_user_password` to `run_synapse_update_user_password`" +msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" msgstr "" -#: ../../../CHANGELOG.md:3002 -msgid "2019-07-04" +#: ../../../CHANGELOG.md:3001 +msgid "Staying on SQLite for a little longer (temporary solution)" msgstr "" -#: ../../../CHANGELOG.md:3004 -msgid "Synapse no longer logs to text files" -msgstr "" - -#: ../../../CHANGELOG.md:3006 -msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." -msgstr "" - -#: ../../../CHANGELOG.md:3008 -msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:3010 -msgid "Because of this, the following variables have become obsolete and were removed:" -msgstr "" - -#: ../../../CHANGELOG.md:3012 -msgid "`matrix_synapse_max_log_file_size_mb`" +#: ../../../CHANGELOG.md:3003 +msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:3013 -msgid "`matrix_synapse_max_log_files_count`" +msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." msgstr "" -#: ../../../CHANGELOG.md:3015 -msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." +#: ../../../CHANGELOG.md:3016 +msgid "2021-01-17" msgstr "" -#: ../../../CHANGELOG.md:3017 -msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." +#: ../../../CHANGELOG.md:3018 +msgid "matrix-corporal goes 2.0" msgstr "" #: ../../../CHANGELOG.md:3020 -msgid "2019-06-27" +msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." msgstr "" #: ../../../CHANGELOG.md:3022 -msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" +msgid "No manual intervention is required in the common case." msgstr "" #: ../../../CHANGELOG.md:3024 -msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." +msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." msgstr "" -#: ../../../CHANGELOG.md:3026 -msgid "From now on, the playbook will keep both configuration files sync for you." +#: ../../../CHANGELOG.md:3027 +msgid "2021-01-14" msgstr "" -#: ../../../CHANGELOG.md:3028 -msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3029 +msgid "Moving from cronjobs to systemd timers" msgstr "" -#: ../../../CHANGELOG.md:3030 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." +#: ../../../CHANGELOG.md:3031 +msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." msgstr "" -#: ../../../CHANGELOG.md:3032 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3033 +msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." msgstr "" -#: ../../../CHANGELOG.md:3034 -msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." +#: ../../../CHANGELOG.md:3035 +msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." msgstr "" -#: ../../../CHANGELOG.md:3036 -msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." +#: ../../../CHANGELOG.md:3038 +msgid "2021-01-08" msgstr "" -#: ../../../CHANGELOG.md:3039 -msgid "2019-06-24" +#: ../../../CHANGELOG.md:3040 +msgid "(Breaking Change) New SSL configuration" msgstr "" -#: ../../../CHANGELOG.md:3041 -msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3042 +msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." msgstr "" -#: ../../../CHANGELOG.md:3043 -msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3044 +msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." msgstr "" -#: ../../../CHANGELOG.md:3045 ../../../CHANGELOG.md:3062 -#: ../../../CHANGELOG.md:3081 ../../../CHANGELOG.md:3120 -msgid "From now on, the playbook will keep the configuration in sync for you." +#: ../../../CHANGELOG.md:3046 +msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." msgstr "" -#: ../../../CHANGELOG.md:3047 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3048 +msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." msgstr "" -#: ../../../CHANGELOG.md:3049 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3050 +msgid "To revert to the old behaviour, set the following variables:" msgstr "" -#: ../../../CHANGELOG.md:3051 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." -msgstr "" - -#: ../../../CHANGELOG.md:3053 -msgid "We're now following the default configuration for the WhatsApp bridge." -msgstr "" - -#: ../../../CHANGELOG.md:3056 -msgid "2019-06-20" -msgstr "" - -#: ../../../CHANGELOG.md:3058 -msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3057 +msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." msgstr "" #: ../../../CHANGELOG.md:3060 -msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." +msgid "2021-01-03" +msgstr "" + +#: ../../../CHANGELOG.md:3062 +msgid "Signal bridging support via mautrix-signal" msgstr "" #: ../../../CHANGELOG.md:3064 -msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3066 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." +msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." msgstr "" -#: ../../../CHANGELOG.md:3068 -msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." +#: ../../../CHANGELOG.md:3069 +msgid "2020-12-23" msgstr "" -#: ../../../CHANGELOG.md:3070 -msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." +#: ../../../CHANGELOG.md:3071 +msgid "The big move to all-on-Postgres (potentially dangerous)" msgstr "" -#: ../../../CHANGELOG.md:3072 -msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3073 +msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." msgstr "" #: ../../../CHANGELOG.md:3075 -msgid "2019-06-15" +msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." msgstr "" #: ../../../CHANGELOG.md:3077 -msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" +msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" msgstr "" #: ../../../CHANGELOG.md:3079 -msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." +msgid "Moving all services to Postgres brings a few **benefits** to us:" +msgstr "" + +#: ../../../CHANGELOG.md:3081 +msgid "**improved performance**" +msgstr "" + +#: ../../../CHANGELOG.md:3082 +msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." msgstr "" #: ../../../CHANGELOG.md:3083 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." msgstr "" -#: ../../../CHANGELOG.md:3085 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3084 +msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." msgstr "" -#: ../../../CHANGELOG.md:3087 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3086 +msgid "Key takeway" msgstr "" -#: ../../../CHANGELOG.md:3089 -msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" +#: ../../../CHANGELOG.md:3088 +msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" msgstr "" -#: ../../../CHANGELOG.md:3091 -msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" +#: ../../../CHANGELOG.md:3090 +msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." msgstr "" #: ../../../CHANGELOG.md:3092 -msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." -msgstr "" - -#: ../../../CHANGELOG.md:3093 -msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" +msgid "Opting-out of the Postgres migration" msgstr "" #: ../../../CHANGELOG.md:3094 -msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" +msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." msgstr "" #: ../../../CHANGELOG.md:3096 -msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." +msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." msgstr "" -#: ../../../CHANGELOG.md:3099 -msgid "2019-06-12" +#: ../../../CHANGELOG.md:3098 +msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" -#: ../../../CHANGELOG.md:3101 -msgid "Synapse v1.0" +#: ../../../CHANGELOG.md:3100 +msgid "Going back to SQLite/nedb if things went wrong" msgstr "" -#: ../../../CHANGELOG.md:3103 -msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." +#: ../../../CHANGELOG.md:3102 +msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" +msgstr "" + +#: ../../../CHANGELOG.md:3104 +msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:3105 -msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." +msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" +msgstr "" + +#: ../../../CHANGELOG.md:3106 +msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" #: ../../../CHANGELOG.md:3107 -msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" msgstr "" -#: ../../../CHANGELOG.md:3109 -msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." +#: ../../../CHANGELOG.md:3108 +msgid "[get in touch](README.md#support) with us" msgstr "" -#: ../../../CHANGELOG.md:3111 -msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." +#: ../../../CHANGELOG.md:3110 +msgid "2020-12-11" +msgstr "" + +#: ../../../CHANGELOG.md:3112 +msgid "synapse-janitor support removed" msgstr "" #: ../../../CHANGELOG.md:3114 -msgid "2019-06-07" +msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." msgstr "" #: ../../../CHANGELOG.md:3116 -msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." msgstr "" #: ../../../CHANGELOG.md:3118 -msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." +msgid "Docker 20.10 is here" +msgstr "" + +#: ../../../CHANGELOG.md:3120 +msgid "(No need to do anything special in relation to this. Just something to keep in mind)" msgstr "" #: ../../../CHANGELOG.md:3122 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." msgstr "" #: ../../../CHANGELOG.md:3124 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." msgstr "" -#: ../../../CHANGELOG.md:3126 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3127 +msgid "2020-12-08" msgstr "" #: ../../../CHANGELOG.md:3129 -msgid "2019-05-25" +msgid "openid APIs exposed by default on the federation port when federation disabled" msgstr "" #: ../../../CHANGELOG.md:3131 -msgid "Support for exposing container ports publicly (not just to the host)" +msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." msgstr "" #: ../../../CHANGELOG.md:3133 -msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." +msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." msgstr "" #: ../../../CHANGELOG.md:3135 -msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." +msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." msgstr "" -#: ../../../CHANGELOG.md:3137 -msgid "All such variables have been superseded by a better (more flexible) way to do it." +#: ../../../CHANGELOG.md:3138 +msgid "2020-11-27" msgstr "" -#: ../../../CHANGELOG.md:3139 -msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." +#: ../../../CHANGELOG.md:3140 +msgid "Recent Jitsi updates may require configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3141 -msgid "Porting examples follow for people having more customized setups:" +#: ../../../CHANGELOG.md:3142 +msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." msgstr "" -#: ../../../CHANGELOG.md:3143 -msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" +#: ../../../CHANGELOG.md:3144 +msgid "**If you use our default Jitsi settings, you won't have to do anything.**" msgstr "" -#: ../../../CHANGELOG.md:3145 -msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" +#: ../../../CHANGELOG.md:3146 +msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." msgstr "" -#: ../../../CHANGELOG.md:3147 -msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" +#: ../../../CHANGELOG.md:3148 +msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." msgstr "" -#: ../../../CHANGELOG.md:3149 -msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" -msgstr "" - -#: ../../../CHANGELOG.md:3151 -msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" +#: ../../../CHANGELOG.md:3150 +msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." msgstr "" #: ../../../CHANGELOG.md:3153 -msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" +msgid "2020-11-23" msgstr "" -#: ../../../CHANGELOG.md:3155 -msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" +#: ../../../CHANGELOG.md:3155 ../../../CHANGELOG.md:3163 +msgid "Breaking change matrix-sms-bridge" msgstr "" #: ../../../CHANGELOG.md:3157 -msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." msgstr "" #: ../../../CHANGELOG.md:3159 -msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" +msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." msgstr "" #: ../../../CHANGELOG.md:3161 -msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." +msgid "2020-11-13" msgstr "" -#: ../../../CHANGELOG.md:3164 -msgid "2019-05-23" +#: ../../../CHANGELOG.md:3165 +msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." msgstr "" -#: ../../../CHANGELOG.md:3166 -msgid "(BC Break) Ansible 2.8 compatibility" +#: ../../../CHANGELOG.md:3167 +msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" msgstr "" #: ../../../CHANGELOG.md:3168 -msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." +msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" +msgstr "" + +#: ../../../CHANGELOG.md:3169 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" msgstr "" #: ../../../CHANGELOG.md:3170 -msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." +msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." +msgstr "" + +#: ../../../CHANGELOG.md:3171 +msgid "Remove the var from the first step." msgstr "" #: ../../../CHANGELOG.md:3172 -msgid "To avoid doing it manually, run this:" -msgstr "" - -#: ../../../CHANGELOG.md:3173 -msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." msgstr "" #: ../../../CHANGELOG.md:3174 -msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgid "2020-11-10" msgstr "" -#: ../../../CHANGELOG.md:3177 -msgid "2019-05-21" +#: ../../../CHANGELOG.md:3176 +msgid "Dynamic DNS support" msgstr "" -#: ../../../CHANGELOG.md:3179 -msgid "Synapse no longer required" +#: ../../../CHANGELOG.md:3178 +msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." msgstr "" -#: ../../../CHANGELOG.md:3181 -msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." +#: ../../../CHANGELOG.md:3180 +msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." msgstr "" #: ../../../CHANGELOG.md:3183 -msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." +msgid "2020-10-28" msgstr "" #: ../../../CHANGELOG.md:3185 -msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." +msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" msgstr "" #: ../../../CHANGELOG.md:3187 -msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." +msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." msgstr "" #: ../../../CHANGELOG.md:3189 -msgid "Bridges are now separate from the Synapse role" +msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." msgstr "" #: ../../../CHANGELOG.md:3191 -msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." +msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." msgstr "" #: ../../../CHANGELOG.md:3193 -msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." +msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." msgstr "" -#: ../../../CHANGELOG.md:3195 -msgid "Renaming inconsistently-named Synapse variables" +#: ../../../CHANGELOG.md:3196 +msgid "2020-10-26" msgstr "" -#: ../../../CHANGELOG.md:3197 -msgid "For better consistency, the following variables have been renamed:" -msgstr "" - -#: ../../../CHANGELOG.md:3199 -msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +#: ../../../CHANGELOG.md:3198 +msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" msgstr "" #: ../../../CHANGELOG.md:3200 -msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." msgstr "" -#: ../../../CHANGELOG.md:3201 -msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +#: ../../../CHANGELOG.md:3202 +msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." msgstr "" #: ../../../CHANGELOG.md:3204 -msgid "2019-05-09" +msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" msgstr "" -#: ../../../CHANGELOG.md:3206 -msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +#: ../../../CHANGELOG.md:3211 +msgid "2020-10-02" msgstr "" -#: ../../../CHANGELOG.md:3208 -msgid "Mautrix Facebook/Messenger bridging support" +#: ../../../CHANGELOG.md:3213 +msgid "Minimum Ansible version raised to v2.7.0" msgstr "" -#: ../../../CHANGELOG.md:3210 -msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:3215 +msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." msgstr "" -#: ../../../CHANGELOG.md:3212 -msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +#: ../../../CHANGELOG.md:3217 +msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." msgstr "" -#: ../../../CHANGELOG.md:3214 -msgid "mxisd Registration feature integration" +#: ../../../CHANGELOG.md:3219 +msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." msgstr "" -#: ../../../CHANGELOG.md:3216 -msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +#: ../../../CHANGELOG.md:3222 +msgid "2020-10-01" msgstr "" -#: ../../../CHANGELOG.md:3218 -msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +#: ../../../CHANGELOG.md:3224 +msgid "Postgres 13 support" msgstr "" -#: ../../../CHANGELOG.md:3221 -msgid "2019-04-16" +#: ../../../CHANGELOG.md:3226 +msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." msgstr "" -#: ../../../CHANGELOG.md:3223 -msgid "Caddy webserver examples" +#: ../../../CHANGELOG.md:3228 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3225 -msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +#: ../../../CHANGELOG.md:3230 +msgid "2020-09-01" msgstr "" -#: ../../../CHANGELOG.md:3227 -msgid "2019-04-10" -msgstr "" - -#: ../../../CHANGELOG.md:3229 -msgid "Goofys support for other S3-compatible object stores" -msgstr "" - -#: ../../../CHANGELOG.md:3231 -msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +#: ../../../CHANGELOG.md:3232 +msgid "matrix-registration support" msgstr "" #: ../../../CHANGELOG.md:3234 -msgid "2019-04-03" +msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." msgstr "" #: ../../../CHANGELOG.md:3236 -msgid "Ansible >= 2.5 is required" +msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3238 -msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +#: ../../../CHANGELOG.md:3239 +msgid "2020-08-21" msgstr "" -#: ../../../CHANGELOG.md:3240 -msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +#: ../../../CHANGELOG.md:3241 +msgid "rust-synapse-compress-state support" msgstr "" #: ../../../CHANGELOG.md:3243 -msgid "2019-03-19" +msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." msgstr "" #: ../../../CHANGELOG.md:3245 -msgid "TLS support for coturn" +msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3247 -msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +#: ../../../CHANGELOG.md:3248 +msgid "2020-07-22" msgstr "" -#: ../../../CHANGELOG.md:3249 -msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +#: ../../../CHANGELOG.md:3250 +msgid "Synapse Admin support" msgstr "" -#: ../../../CHANGELOG.md:3255 -msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +#: ../../../CHANGELOG.md:3252 +msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +msgstr "" + +#: ../../../CHANGELOG.md:3254 +msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3257 -msgid "People who build their own custom playbook from our roles should be aware that:" +msgid "2020-07-20" msgstr "" #: ../../../CHANGELOG.md:3259 -msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgid "matrix-reminder-bot support" msgstr "" #: ../../../CHANGELOG.md:3261 -msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." msgstr "" -#: ../../../CHANGELOG.md:3264 -msgid "2019-03-12" +#: ../../../CHANGELOG.md:3263 +msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3266 -msgid "matrix-nginx-proxy support for serving the base domain" +msgid "2020-07-17" msgstr "" #: ../../../CHANGELOG.md:3268 -msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." +msgid "(Compatibility Break) Riot is now Element" msgstr "" #: ../../../CHANGELOG.md:3270 -msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." msgstr "" #: ../../../CHANGELOG.md:3272 -msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgid "The playbook follows suit. Existing installations have a few options for how to handle this." msgstr "" #: ../../../CHANGELOG.md:3274 -msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." msgstr "" -#: ../../../CHANGELOG.md:3276 -msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +#: ../../../CHANGELOG.md:3277 +msgid "2020-07-03" msgstr "" #: ../../../CHANGELOG.md:3279 -msgid "2019-03-10" +msgid "Steam bridging support via mx-puppet-steam" msgstr "" #: ../../../CHANGELOG.md:3281 -msgid "Dimension integration manager support" +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3283 -msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +#: ../../../CHANGELOG.md:3284 +msgid "2020-07-01" msgstr "" #: ../../../CHANGELOG.md:3286 -msgid "2019-03-07" +msgid "Discord bridging support via mx-puppet-discord" msgstr "" #: ../../../CHANGELOG.md:3288 -msgid "Ability to customize mxisd's email templates" +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3290 -msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." msgstr "" #: ../../../CHANGELOG.md:3293 -msgid "2019-03-05" +msgid "2020-06-30" msgstr "" #: ../../../CHANGELOG.md:3295 -msgid "Discord bridging support" +msgid "Instagram and Twitter bridging support" msgstr "" #: ../../../CHANGELOG.md:3297 -msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3300 -msgid "2019-02-19" +#: ../../../CHANGELOG.md:3299 +msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3302 -msgid "Renaming variables" +msgid "2020-06-28" msgstr "" -#: ../../../CHANGELOG.md:3304 ../../../CHANGELOG.md:3621 -#: ../../../CHANGELOG.md:3706 ../../../CHANGELOG.md:3826 -msgid "The following playbook variables were renamed:" +#: ../../../CHANGELOG.md:3304 +msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" msgstr "" -#: ../../../CHANGELOG.md:3306 -msgid "from `host_specific_hostname_identity` to `matrix_domain`" -msgstr "" - -#: ../../../CHANGELOG.md:3307 -msgid "from `hostname_identity` to `matrix_domain`" +#: ../../../CHANGELOG.md:3306 ../../../CHANGELOG.md:3335 +msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." msgstr "" #: ../../../CHANGELOG.md:3308 -msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" -msgstr "" - -#: ../../../CHANGELOG.md:3309 -msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." msgstr "" #: ../../../CHANGELOG.md:3310 -msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:3312 -msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +msgid "As always, re-running the playbook is enough to get the updated bits." msgstr "" -#: ../../../CHANGELOG.md:3315 -msgid "2019-02-16" +#: ../../../CHANGELOG.md:3314 +msgid "2020-06-11" msgstr "" -#: ../../../CHANGELOG.md:3317 -msgid "Riot v1.0.1 support" +#: ../../../CHANGELOG.md:3316 +msgid "SMS bridging requires db reset" msgstr "" -#: ../../../CHANGELOG.md:3319 -msgid "You can now use the brand new and redesigned Riot." +#: ../../../CHANGELOG.md:3318 +msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`." msgstr "" -#: ../../../CHANGELOG.md:3321 -msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +#: ../../../CHANGELOG.md:3320 +msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." msgstr "" -#: ../../../CHANGELOG.md:3323 -msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +#: ../../../CHANGELOG.md:3322 +msgid "2020-06-05" +msgstr "" + +#: ../../../CHANGELOG.md:3324 +msgid "SMS bridging support" msgstr "" #: ../../../CHANGELOG.md:3326 -msgid "2019-02-14" +msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." msgstr "" #: ../../../CHANGELOG.md:3328 -msgid "Synapse v0.99.1" +msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3330 -msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +#: ../../../CHANGELOG.md:3331 +msgid "2020-05-19" msgstr "" -#: ../../../CHANGELOG.md:3332 -msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." -msgstr "" - -#: ../../../CHANGELOG.md:3335 -msgid "2019-02-06" +#: ../../../CHANGELOG.md:3333 +msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" msgstr "" #: ../../../CHANGELOG.md:3337 -msgid "Synapse v0.99 support and preparation for Synapse v1.0" +msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." msgstr "" #: ../../../CHANGELOG.md:3339 -msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." msgstr "" #: ../../../CHANGELOG.md:3341 -msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" msgstr "" -#: ../../../CHANGELOG.md:3343 -msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +#: ../../../CHANGELOG.md:3344 +msgid "2020-04-28" msgstr "" -#: ../../../CHANGELOG.md:3345 -msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +#: ../../../CHANGELOG.md:3346 +msgid "Newer IRC bridge (with potential breaking change)" msgstr "" -#: ../../../CHANGELOG.md:3347 -msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-checking-services.md), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +#: ../../../CHANGELOG.md:3348 +msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." msgstr "" -#: ../../../CHANGELOG.md:3349 -msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +#: ../../../CHANGELOG.md:3357 +msgid "2020-04-23" msgstr "" -#: ../../../CHANGELOG.md:3352 -msgid "2019-02-01" +#: ../../../CHANGELOG.md:3359 ../../../CHANGELOG.md:3590 +msgid "Slack bridging support" msgstr "" -#: ../../../CHANGELOG.md:3354 -msgid "TLS v1.3 support" +#: ../../../CHANGELOG.md:3361 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." msgstr "" -#: ../../../CHANGELOG.md:3356 -msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +#: ../../../CHANGELOG.md:3363 +msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3358 -msgid "When using:" +#: ../../../CHANGELOG.md:3366 +msgid "2020-04-09" msgstr "" -#: ../../../CHANGELOG.md:3360 -msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +#: ../../../CHANGELOG.md:3368 +msgid "Skype bridging support" msgstr "" -#: ../../../CHANGELOG.md:3362 -msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" +#: ../../../CHANGELOG.md:3370 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." msgstr "" -#: ../../../CHANGELOG.md:3364 -msgid "**another web server**: you don't need to do anything to accommodate this change" +#: ../../../CHANGELOG.md:3372 +msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3367 -msgid "2019-01-31" +#: ../../../CHANGELOG.md:3375 +msgid "2020-04-05" msgstr "" -#: ../../../CHANGELOG.md:3369 -msgid "IRC bridging support" +#: ../../../CHANGELOG.md:3377 +msgid "Private Jitsi support" msgstr "" -#: ../../../CHANGELOG.md:3371 -msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +#: ../../../CHANGELOG.md:3379 +msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." msgstr "" -#: ../../../CHANGELOG.md:3374 -msgid "2019-01-29" +#: ../../../CHANGELOG.md:3381 +msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." msgstr "" -#: ../../../CHANGELOG.md:3376 -msgid "Running container processes as non-root, without capabilities and read-only" -msgstr "" - -#: ../../../CHANGELOG.md:3378 -msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." -msgstr "" - -#: ../../../CHANGELOG.md:3380 -msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." -msgstr "" - -#: ../../../CHANGELOG.md:3382 -msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." -msgstr "" - -#: ../../../CHANGELOG.md:3384 -msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +#: ../../../CHANGELOG.md:3383 +msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." msgstr "" #: ../../../CHANGELOG.md:3386 -msgid "matrix-mailer is now based on Exim, not Postfix" +msgid "2020-04-03" msgstr "" #: ../../../CHANGELOG.md:3388 -msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" msgstr "" #: ../../../CHANGELOG.md:3390 -msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." msgstr "" #: ../../../CHANGELOG.md:3392 -msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3395 -msgid "2019-01-17" +#: ../../../CHANGELOG.md:3394 +msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." msgstr "" #: ../../../CHANGELOG.md:3397 -msgid "(BC Break) Making the playbook's roles more independent of one another" +msgid "2020-03-29" msgstr "" #: ../../../CHANGELOG.md:3399 -msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." +msgid "Archlinux support" msgstr "" -#: ../../../CHANGELOG.md:3402 -msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." +#: ../../../CHANGELOG.md:3401 +msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." msgstr "" #: ../../../CHANGELOG.md:3404 -msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." +msgid "2020-03-24" msgstr "" #: ../../../CHANGELOG.md:3406 -msgid "In addition, the following components can now be completely disabled (for those who want/need to):" -msgstr "" - -#: ../../../CHANGELOG.md:3407 -msgid "`matrix-coturn` by using `matrix_coturn_enabled: false`" +msgid "Jitsi support" msgstr "" #: ../../../CHANGELOG.md:3408 -msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." msgstr "" -#: ../../../CHANGELOG.md:3409 -msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:3411 -msgid "The following changes had to be done:" +#: ../../../CHANGELOG.md:3410 +msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." msgstr "" #: ../../../CHANGELOG.md:3413 -msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgid "2020-03-15" msgstr "" #: ../../../CHANGELOG.md:3415 -msgid "`matrix_postgres_use_external` has been superceeded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." +msgid "Raspberry Pi support" msgstr "" #: ../../../CHANGELOG.md:3417 -msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." msgstr "" #: ../../../CHANGELOG.md:3419 -msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." msgstr "" #: ../../../CHANGELOG.md:3422 -msgid "2019-01-16" +msgid "2020-02-26" msgstr "" #: ../../../CHANGELOG.md:3424 -msgid "Splitting the playbook into multiple roles" +msgid "Riot-web themes are here" msgstr "" #: ../../../CHANGELOG.md:3426 -msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." +msgid "The playbook now makes it easy to install custom riot-web themes." msgstr "" -#: ../../../CHANGELOG.md:3429 -msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +#: ../../../CHANGELOG.md:3428 +msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." msgstr "" #: ../../../CHANGELOG.md:3431 -msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +msgid "2020-02-24" msgstr "" -#: ../../../CHANGELOG.md:3434 -msgid "2019-01-11" +#: ../../../CHANGELOG.md:3433 +msgid "Customize the server name in Riot's login page" msgstr "" -#: ../../../CHANGELOG.md:3436 -msgid "(BC Break) mxisd configuration changes" +#: ../../../CHANGELOG.md:3435 +msgid "You can now customize the server name string that Riot-web displays in its login page." msgstr "" -#: ../../../CHANGELOG.md:3438 -msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." -msgstr "" - -#: ../../../CHANGELOG.md:3441 -msgid "The following variables are no longer supported by this playbook:" +#: ../../../CHANGELOG.md:3437 +msgid "These playbook variables, with these default values, have been added:" msgstr "" #: ../../../CHANGELOG.md:3443 -msgid "`matrix_mxisd_ldap_enabled`" -msgstr "" - -#: ../../../CHANGELOG.md:3444 -msgid "`matrix_mxisd_ldap_connection_host`" +msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." msgstr "" #: ../../../CHANGELOG.md:3445 -msgid "`matrix_mxisd_ldap_connection_tls`" -msgstr "" - -#: ../../../CHANGELOG.md:3446 -msgid "`matrix_mxisd_ldap_connection_port`" -msgstr "" - -#: ../../../CHANGELOG.md:3447 -msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." msgstr "" #: ../../../CHANGELOG.md:3448 -msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgid "2020-01-30" msgstr "" -#: ../../../CHANGELOG.md:3449 ../../../CHANGELOG.md:3450 -msgid "`matrix_mxisd_ldap_connection_bindDn`" -msgstr "" - -#: ../../../CHANGELOG.md:3451 ../../../CHANGELOG.md:3455 -msgid "`matrix_mxisd_ldap_connection_bindPassword`" +#: ../../../CHANGELOG.md:3450 +msgid "Disabling TLSv1.1" msgstr "" #: ../../../CHANGELOG.md:3452 -msgid "`matrix_mxisd_ldap_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3453 -msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." msgstr "" #: ../../../CHANGELOG.md:3454 -msgid "`matrix_mxisd_ldap_attribute_uid_value`" -msgstr "" - -#: ../../../CHANGELOG.md:3456 -msgid "`matrix_mxisd_ldap_attribute_name`" +msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" msgstr "" #: ../../../CHANGELOG.md:3457 -msgid "`matrix_mxisd_ldap_attribute_threepid_email`" -msgstr "" - -#: ../../../CHANGELOG.md:3458 -msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgid "2020-01-21" msgstr "" #: ../../../CHANGELOG.md:3459 -msgid "`matrix_mxisd_ldap_identity_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3460 -msgid "`matrix_mxisd_ldap_identity_medium`" +msgid "Postgres collation changes (action required!)" msgstr "" #: ../../../CHANGELOG.md:3461 -msgid "`matrix_mxisd_ldap_auth_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3462 -msgid "`matrix_mxisd_ldap_directory_filter`" +msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." msgstr "" #: ../../../CHANGELOG.md:3463 -msgid "`matrix_mxisd_template_config`" +msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." msgstr "" #: ../../../CHANGELOG.md:3465 -msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgid "To avoid future problems, we recommend that you run the following command:" msgstr "" -#: ../../../CHANGELOG.md:3467 -msgid "This new way of configuring mxisd is beneficial because:" +#: ../../../CHANGELOG.md:3471 +msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." msgstr "" -#: ../../../CHANGELOG.md:3469 -msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +#: ../../../CHANGELOG.md:3474 +msgid "2020-01-14" msgstr "" -#: ../../../CHANGELOG.md:3470 -msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +#: ../../../CHANGELOG.md:3476 +msgid "Added support for Appservice Webhooks" msgstr "" -#: ../../../CHANGELOG.md:3473 -msgid "2019-01-08" +#: ../../../CHANGELOG.md:3478 +msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." msgstr "" -#: ../../../CHANGELOG.md:3475 -msgid "(BC Break) Cronjob schedule no longer configurable" +#: ../../../CHANGELOG.md:3480 +msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." msgstr "" -#: ../../../CHANGELOG.md:3477 -msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." -msgstr "" - -#: ../../../CHANGELOG.md:3479 -msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." -msgstr "" - -#: ../../../CHANGELOG.md:3482 -msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +#: ../../../CHANGELOG.md:3483 +msgid "2020-01-12" msgstr "" #: ../../../CHANGELOG.md:3485 -msgid "2018-12-23" +msgid "Added support for automatic Double Puppeting for all Mautrix bridges" msgstr "" #: ../../../CHANGELOG.md:3487 -msgid "(BC Break) More SSL certificate retrieval methods" +msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." msgstr "" #: ../../../CHANGELOG.md:3489 -msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" -msgstr "" - -#: ../../../CHANGELOG.md:3490 -msgid "(default) obtaining free SSL certificates from Let's Encrypt" +msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." msgstr "" #: ../../../CHANGELOG.md:3491 -msgid "generating self-signed SSL certificates" -msgstr "" - -#: ../../../CHANGELOG.md:3492 -msgid "managing SSL certificates manually" +msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." msgstr "" #: ../../../CHANGELOG.md:3494 -msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +msgid "2019-12-06" msgstr "" #: ../../../CHANGELOG.md:3496 -msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" +msgid "Added support for an alternative method for using another webserver" msgstr "" #: ../../../CHANGELOG.md:3498 -msgid "before: `host_specific_matrix_ssl_support_email`" +msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." msgstr "" -#: ../../../CHANGELOG.md:3499 -msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +#: ../../../CHANGELOG.md:3500 +msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." msgstr "" -#: ../../../CHANGELOG.md:3501 -msgid "(BC Break) mxisd upgrade with multiple base DN support" -msgstr "" - -#: ../../../CHANGELOG.md:3503 -msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +#: ../../../CHANGELOG.md:3502 +msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." msgstr "" #: ../../../CHANGELOG.md:3505 -msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgid "2019-11-10" msgstr "" #: ../../../CHANGELOG.md:3507 -msgid "Example change:" +msgid "Tightened security around room directory publishing" msgstr "" #: ../../../CHANGELOG.md:3509 -msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." msgstr "" -#: ../../../CHANGELOG.md:3510 -msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +#: ../../../CHANGELOG.md:3511 +msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." msgstr "" #: ../../../CHANGELOG.md:3513 -msgid "2018-12-21" +msgid "As with anything else, these new defaults can be overridden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." msgstr "" -#: ../../../CHANGELOG.md:3515 -msgid "Synapse 0.34.0 and Python 3" +#: ../../../CHANGELOG.md:3516 +msgid "2019-10-05" msgstr "" -#: ../../../CHANGELOG.md:3517 -msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +#: ../../../CHANGELOG.md:3518 +msgid "Improved Postgres upgrading/importing" msgstr "" #: ../../../CHANGELOG.md:3520 -msgid "2018-12-12" +msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." msgstr "" #: ../../../CHANGELOG.md:3522 -msgid "Riot homepage customization" +msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." msgstr "" #: ../../../CHANGELOG.md:3524 -msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." +msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." msgstr "" -#: ../../../CHANGELOG.md:3527 -msgid "2018-12-04" +#: ../../../CHANGELOG.md:3526 +msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." msgstr "" #: ../../../CHANGELOG.md:3529 -msgid "mxisd extensibility" +msgid "2019-10-04" msgstr "" #: ../../../CHANGELOG.md:3531 -msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgid "Postgres 12 support" msgstr "" -#: ../../../CHANGELOG.md:3534 -msgid "2018-11-28" +#: ../../../CHANGELOG.md:3533 +msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." msgstr "" -#: ../../../CHANGELOG.md:3536 -msgid "More scripts" +#: ../../../CHANGELOG.md:3535 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" #: ../../../CHANGELOG.md:3538 -msgid "matrix-remove-all allows to uninstall everything with a single command" +msgid "2019-10-03" msgstr "" -#: ../../../CHANGELOG.md:3539 -msgid "matrix-make-user-admin allows to upgrade a user's privileges" +#: ../../../CHANGELOG.md:3540 +msgid "Synapse 1.4.0" msgstr "" -#: ../../../CHANGELOG.md:3541 -msgid "LDAP auth support via matrix-synapse-ldap3" +#: ../../../CHANGELOG.md:3542 +msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." msgstr "" -#: ../../../CHANGELOG.md:3543 -msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +#: ../../../CHANGELOG.md:3544 +msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." msgstr "" -#: ../../../CHANGELOG.md:3545 -msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +#: ../../../CHANGELOG.md:3546 +msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." msgstr "" #: ../../../CHANGELOG.md:3548 -msgid "2018-11-23" +msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." msgstr "" -#: ../../../CHANGELOG.md:3550 -msgid "Support for controlling public registration and room auto-join" +#: ../../../CHANGELOG.md:3551 +msgid "2019-09-09" msgstr "" -#: ../../../CHANGELOG.md:3552 -msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +#: ../../../CHANGELOG.md:3553 +msgid "Synapse Simple Antispam support" msgstr "" -#: ../../../CHANGELOG.md:3554 -msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +#: ../../../CHANGELOG.md:3555 +msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." msgstr "" -#: ../../../CHANGELOG.md:3556 -msgid "Support for changing the welcome user ID (welcome bot)" +#: ../../../CHANGELOG.md:3557 +msgid "From now on, you can easily install and configure this spam checker module through the playbook." msgstr "" -#: ../../../CHANGELOG.md:3558 -msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +#: ../../../CHANGELOG.md:3559 +msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." msgstr "" -#: ../../../CHANGELOG.md:3561 -msgid "2018-11-14" +#: ../../../CHANGELOG.md:3562 +msgid "2019-08-25" msgstr "" -#: ../../../CHANGELOG.md:3563 -msgid "Ability to set Synapse log levels" +#: ../../../CHANGELOG.md:3564 +msgid "Extensible Riot-web configuration" msgstr "" -#: ../../../CHANGELOG.md:3565 -msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +#: ../../../CHANGELOG.md:3566 +msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." msgstr "" -#: ../../../CHANGELOG.md:3567 -msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +#: ../../../CHANGELOG.md:3568 +msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." msgstr "" -#: ../../../CHANGELOG.md:3576 -msgid "2018-11-03" +#: ../../../CHANGELOG.md:3570 +msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." msgstr "" -#: ../../../CHANGELOG.md:3578 -msgid "Customize parts of Riot's config" +#: ../../../CHANGELOG.md:3572 +msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." msgstr "" -#: ../../../CHANGELOG.md:3580 -msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:3575 +msgid "2019-08-22" msgstr "" -#: ../../../CHANGELOG.md:3591 -msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" +#: ../../../CHANGELOG.md:3577 +msgid "Extensible Synapse configuration" +msgstr "" + +#: ../../../CHANGELOG.md:3579 +msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:3581 +msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." +msgstr "" + +#: ../../../CHANGELOG.md:3583 +msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." +msgstr "" + +#: ../../../CHANGELOG.md:3585 +msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3588 +msgid "2019-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:3592 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:3594 +msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3596 +msgid "Google Hangouts bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3598 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." msgstr "" #: ../../../CHANGELOG.md:3600 -msgid "SSL protocols used to serve Riot and Synapse" +msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." msgstr "" -#: ../../../CHANGELOG.md:3602 -msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +#: ../../../CHANGELOG.md:3603 +msgid "2019-08-05" msgstr "" -#: ../../../CHANGELOG.md:3604 -msgid "You may wish to reenable TLSv1 if you need to access Riot in older browsers." +#: ../../../CHANGELOG.md:3605 +msgid "Email2Matrix support" msgstr "" -#: ../../../CHANGELOG.md:3606 -msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +#: ../../../CHANGELOG.md:3607 +msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." msgstr "" #: ../../../CHANGELOG.md:3609 -msgid "2018-11-01" +msgid "It's an optional feature that you can enable via the playbook." msgstr "" #: ../../../CHANGELOG.md:3611 -msgid "Postgres 11 support" +msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." msgstr "" -#: ../../../CHANGELOG.md:3613 -msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +#: ../../../CHANGELOG.md:3614 +msgid "2019-08-03" msgstr "" -#: ../../../CHANGELOG.md:3615 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:3616 +msgid "Synapse logging level has been reduced to WARNING" msgstr "" -#: ../../../CHANGELOG.md:3617 ../../../CHANGELOG.md:3704 -#: ../../../CHANGELOG.md:3824 -msgid "(BC Break) Renaming playbook variables" +#: ../../../CHANGELOG.md:3618 +msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." msgstr "" -#: ../../../CHANGELOG.md:3619 -msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +#: ../../../CHANGELOG.md:3620 +msgid "This greatly reduces the number of log messages that are being logged, leading to:" +msgstr "" + +#: ../../../CHANGELOG.md:3622 +msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" msgstr "" #: ../../../CHANGELOG.md:3623 -msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3624 -msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" msgstr "" #: ../../../CHANGELOG.md:3625 -msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3626 -msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3627 -msgid "from `matrix_docker_image_coturn` to `matrix_coturn_docker_image`" +msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." msgstr "" #: ../../../CHANGELOG.md:3628 -msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3629 -msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgid "2019-07-08" msgstr "" #: ../../../CHANGELOG.md:3630 -msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3631 -msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgid "Synapse Maintenance docs and synapse-janitor support are available" msgstr "" #: ../../../CHANGELOG.md:3632 -msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" -msgstr "" - -#: ../../../CHANGELOG.md:3633 -msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgid "The playbook can now help you with Synapse's maintenance." msgstr "" #: ../../../CHANGELOG.md:3634 -msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3637 -msgid "2018-10-26" +#: ../../../CHANGELOG.md:3636 +msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." msgstr "" -#: ../../../CHANGELOG.md:3639 -msgid "Mautrix Whatsapp bridging support" +#: ../../../CHANGELOG.md:3638 +msgid "(BC Break) Rename run control variables" msgstr "" -#: ../../../CHANGELOG.md:3641 -msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:3640 +msgid "Some internal playbook control variables have been renamed." msgstr "" -#: ../../../CHANGELOG.md:3643 -msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +#: ../../../CHANGELOG.md:3642 +msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:3644 +msgid "The following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3646 -msgid "2018-10-25" +msgid "from `run_import_postgres` to `run_postgres_import`" +msgstr "" + +#: ../../../CHANGELOG.md:3647 +msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" msgstr "" #: ../../../CHANGELOG.md:3648 -msgid "Support for controlling Matrix federation" +msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgstr "" + +#: ../../../CHANGELOG.md:3649 +msgid "from `run_import_media_store` to `run_synapse_import_media_store`" msgstr "" #: ../../../CHANGELOG.md:3650 -msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgid "from `run_register_user` to `run_synapse_register_user`" msgstr "" -#: ../../../CHANGELOG.md:3653 -msgid "2018-10-24" +#: ../../../CHANGELOG.md:3651 +msgid "from `run_update_user_password` to `run_synapse_update_user_password`" msgstr "" -#: ../../../CHANGELOG.md:3655 -msgid "Disabling riot-web guests" +#: ../../../CHANGELOG.md:3654 +msgid "2019-07-04" msgstr "" -#: ../../../CHANGELOG.md:3657 -msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +#: ../../../CHANGELOG.md:3656 +msgid "Synapse no longer logs to text files" +msgstr "" + +#: ../../../CHANGELOG.md:3658 +msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." msgstr "" #: ../../../CHANGELOG.md:3660 -msgid "2018-10-21" +msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" msgstr "" #: ../../../CHANGELOG.md:3662 -msgid "Self-check maintenance command" +msgid "Because of this, the following variables have become obsolete and were removed:" msgstr "" #: ../../../CHANGELOG.md:3664 -msgid "The playbook can now [check if services are configured correctly](docs/maintenance-checking-services.md)." +msgid "`matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:3665 +msgid "`matrix_synapse_max_log_files_count`" msgstr "" #: ../../../CHANGELOG.md:3667 -msgid "2018-10-05" +msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." msgstr "" #: ../../../CHANGELOG.md:3669 -msgid "Presence tracking made configurable" +msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." msgstr "" -#: ../../../CHANGELOG.md:3671 -msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +#: ../../../CHANGELOG.md:3672 +msgid "2019-06-27" msgstr "" -#: ../../../CHANGELOG.md:3673 -msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +#: ../../../CHANGELOG.md:3674 +msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3676 -msgid "2018-09-27" +msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." msgstr "" #: ../../../CHANGELOG.md:3678 -msgid "Synapse Cache Factor made configurable" +msgid "From now on, the playbook will keep both configuration files sync for you." msgstr "" #: ../../../CHANGELOG.md:3680 -msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3682 -msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." msgstr "" -#: ../../../CHANGELOG.md:3685 -msgid "2018-09-26" +#: ../../../CHANGELOG.md:3684 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3687 -msgid "Disabling Docker container logging" +#: ../../../CHANGELOG.md:3686 +msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." msgstr "" -#: ../../../CHANGELOG.md:3689 -msgid "`--log-driver=none` is used for all Docker containers now." +#: ../../../CHANGELOG.md:3688 +msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." msgstr "" #: ../../../CHANGELOG.md:3691 -msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgid "2019-06-24" msgstr "" #: ../../../CHANGELOG.md:3693 -msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3696 -msgid "2018-09-17" +#: ../../../CHANGELOG.md:3695 +msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." msgstr "" -#: ../../../CHANGELOG.md:3698 -msgid "Service discovery support" +#: ../../../CHANGELOG.md:3697 ../../../CHANGELOG.md:3714 +#: ../../../CHANGELOG.md:3733 ../../../CHANGELOG.md:3772 +msgid "From now on, the playbook will keep the configuration in sync for you." msgstr "" -#: ../../../CHANGELOG.md:3700 -msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +#: ../../../CHANGELOG.md:3699 +msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3702 -msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +#: ../../../CHANGELOG.md:3701 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgstr "" + +#: ../../../CHANGELOG.md:3703 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgstr "" + +#: ../../../CHANGELOG.md:3705 +msgid "We're now following the default configuration for the WhatsApp bridge." msgstr "" #: ../../../CHANGELOG.md:3708 -msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgid "2019-06-20" msgstr "" -#: ../../../CHANGELOG.md:3709 -msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +#: ../../../CHANGELOG.md:3710 +msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3712 -msgid "2018-09-07" -msgstr "" - -#: ../../../CHANGELOG.md:3714 -msgid "Mautrix Telegram bridging support" +msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3716 -msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3718 -msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." msgstr "" #: ../../../CHANGELOG.md:3720 -msgid "Events cache size increase and configurability for Matrix Synapse" +msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." msgstr "" #: ../../../CHANGELOG.md:3722 -msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." msgstr "" #: ../../../CHANGELOG.md:3724 -msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3726 -msgid "Password-peppering support for Matrix Synapse" +#: ../../../CHANGELOG.md:3727 +msgid "2019-06-15" msgstr "" -#: ../../../CHANGELOG.md:3728 -msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." +#: ../../../CHANGELOG.md:3729 +msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3730 -msgid "Statistics-reporting support for Matrix Synapse" +#: ../../../CHANGELOG.md:3731 +msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." msgstr "" -#: ../../../CHANGELOG.md:3732 -msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." -msgstr "" - -#: ../../../CHANGELOG.md:3734 -msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +#: ../../../CHANGELOG.md:3735 +msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3737 -msgid "2018-08-29" +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" #: ../../../CHANGELOG.md:3739 -msgid "Changing the way SSL certificates are retrieved" +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:3741 -msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" msgstr "" #: ../../../CHANGELOG.md:3743 -msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" +msgstr "" + +#: ../../../CHANGELOG.md:3744 +msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." msgstr "" #: ../../../CHANGELOG.md:3745 -msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" msgstr "" -#: ../../../CHANGELOG.md:3747 -msgid "`systemctl stop 'matrix*'`" +#: ../../../CHANGELOG.md:3746 +msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" msgstr "" #: ../../../CHANGELOG.md:3748 -msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" -msgstr "" - -#: ../../../CHANGELOG.md:3749 -msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" -msgstr "" - -#: ../../../CHANGELOG.md:3750 -msgid "re-run the playbook's [installation](docs/installing.md)" +msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." msgstr "" #: ../../../CHANGELOG.md:3751 -msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgid "2019-06-12" msgstr "" -#: ../../../CHANGELOG.md:3754 -msgid "2018-08-21" +#: ../../../CHANGELOG.md:3753 +msgid "Synapse v1.0" msgstr "" -#: ../../../CHANGELOG.md:3756 -msgid "Matrix Corporal support" +#: ../../../CHANGELOG.md:3755 +msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." msgstr "" -#: ../../../CHANGELOG.md:3758 -msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +#: ../../../CHANGELOG.md:3757 +msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." msgstr "" -#: ../../../CHANGELOG.md:3760 -msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:3759 +msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +msgstr "" + +#: ../../../CHANGELOG.md:3761 +msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." msgstr "" #: ../../../CHANGELOG.md:3763 -msgid "2018-08-20" +msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." msgstr "" -#: ../../../CHANGELOG.md:3765 -msgid "Matrix Synapse rate limit control variables" +#: ../../../CHANGELOG.md:3766 +msgid "2019-06-07" msgstr "" -#: ../../../CHANGELOG.md:3767 -msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +#: ../../../CHANGELOG.md:3768 +msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:3770 +msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3774 -msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3776 -msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" #: ../../../CHANGELOG.md:3778 -msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:3781 -msgid "2018-08-17" +msgid "2019-05-25" msgstr "" #: ../../../CHANGELOG.md:3783 -msgid "REST auth support via matrix-synapse-rest-auth" +msgid "Support for exposing container ports publicly (not just to the host)" msgstr "" #: ../../../CHANGELOG.md:3785 -msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." msgstr "" #: ../../../CHANGELOG.md:3787 -msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." msgstr "" #: ../../../CHANGELOG.md:3789 -msgid "Compression improvements" +msgid "All such variables have been superseded by a better (more flexible) way to do it." msgstr "" #: ../../../CHANGELOG.md:3791 -msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." msgstr "" -#: ../../../CHANGELOG.md:3794 -msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." +#: ../../../CHANGELOG.md:3793 +msgid "Porting examples follow for people having more customized setups:" +msgstr "" + +#: ../../../CHANGELOG.md:3795 +msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" msgstr "" #: ../../../CHANGELOG.md:3797 -msgid "Disabling some unnecessary Synapse services" +msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" msgstr "" #: ../../../CHANGELOG.md:3799 -msgid "The following services are not necessary, so they have been disabled:" -msgstr "" - -#: ../../../CHANGELOG.md:3800 -msgid "on the federation port (8448): the `client` service" +msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" msgstr "" #: ../../../CHANGELOG.md:3801 -msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" msgstr "" #: ../../../CHANGELOG.md:3803 -msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" msgstr "" -#: ../../../CHANGELOG.md:3806 -msgid "2018-08-15" +#: ../../../CHANGELOG.md:3805 +msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" msgstr "" -#: ../../../CHANGELOG.md:3808 -msgid "mxisd Identity Server support" +#: ../../../CHANGELOG.md:3807 +msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" msgstr "" -#: ../../../CHANGELOG.md:3810 -msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +#: ../../../CHANGELOG.md:3809 +msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +msgstr "" + +#: ../../../CHANGELOG.md:3811 +msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" msgstr "" #: ../../../CHANGELOG.md:3813 -msgid "2018-08-14" +msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." msgstr "" -#: ../../../CHANGELOG.md:3815 -msgid "Email-sending support" +#: ../../../CHANGELOG.md:3816 +msgid "2019-05-23" msgstr "" -#: ../../../CHANGELOG.md:3817 -msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +#: ../../../CHANGELOG.md:3818 +msgid "(BC Break) Ansible 2.8 compatibility" msgstr "" -#: ../../../CHANGELOG.md:3819 -msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +#: ../../../CHANGELOG.md:3820 +msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." msgstr "" #: ../../../CHANGELOG.md:3822 -msgid "2018-08-08" +msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." msgstr "" -#: ../../../CHANGELOG.md:3828 -msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +#: ../../../CHANGELOG.md:3824 +msgid "To avoid doing it manually, run this:" +msgstr "" + +#: ../../../CHANGELOG.md:3825 +msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgstr "" + +#: ../../../CHANGELOG.md:3826 +msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" #: ../../../CHANGELOG.md:3829 -msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" -msgstr "" - -#: ../../../CHANGELOG.md:3830 -msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgid "2019-05-21" msgstr "" #: ../../../CHANGELOG.md:3831 -msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:3832 -msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgid "Synapse no longer required" msgstr "" #: ../../../CHANGELOG.md:3833 -msgid "from `docker_riot_image` to `matrix_docker_image_riot`" -msgstr "" - -#: ../../../CHANGELOG.md:3834 -msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." msgstr "" #: ../../../CHANGELOG.md:3835 -msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." msgstr "" #: ../../../CHANGELOG.md:3837 -msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." msgstr "" #: ../../../CHANGELOG.md:3839 -msgid "Renaming Ansible playbook tag" +msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." msgstr "" #: ../../../CHANGELOG.md:3841 -msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgid "Bridges are now separate from the Synapse role" msgstr "" #: ../../../CHANGELOG.md:3843 -msgid "Docker container linking" +msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." msgstr "" #: ../../../CHANGELOG.md:3845 +msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." +msgstr "" + +#: ../../../CHANGELOG.md:3847 +msgid "Renaming inconsistently-named Synapse variables" +msgstr "" + +#: ../../../CHANGELOG.md:3849 +msgid "For better consistency, the following variables have been renamed:" +msgstr "" + +#: ../../../CHANGELOG.md:3851 +msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +msgstr "" + +#: ../../../CHANGELOG.md:3852 +msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgstr "" + +#: ../../../CHANGELOG.md:3853 +msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +msgstr "" + +#: ../../../CHANGELOG.md:3856 +msgid "2019-05-09" +msgstr "" + +#: ../../../CHANGELOG.md:3858 +msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +msgstr "" + +#: ../../../CHANGELOG.md:3860 +msgid "Mautrix Facebook/Messenger bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3862 +msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:3864 +msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3866 +msgid "mxisd Registration feature integration" +msgstr "" + +#: ../../../CHANGELOG.md:3868 +msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +msgstr "" + +#: ../../../CHANGELOG.md:3870 +msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +msgstr "" + +#: ../../../CHANGELOG.md:3873 +msgid "2019-04-16" +msgstr "" + +#: ../../../CHANGELOG.md:3875 +msgid "Caddy webserver examples" +msgstr "" + +#: ../../../CHANGELOG.md:3877 +msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +msgstr "" + +#: ../../../CHANGELOG.md:3879 +msgid "2019-04-10" +msgstr "" + +#: ../../../CHANGELOG.md:3881 +msgid "Goofys support for other S3-compatible object stores" +msgstr "" + +#: ../../../CHANGELOG.md:3883 +msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +msgstr "" + +#: ../../../CHANGELOG.md:3886 +msgid "2019-04-03" +msgstr "" + +#: ../../../CHANGELOG.md:3888 +msgid "Ansible >= 2.5 is required" +msgstr "" + +#: ../../../CHANGELOG.md:3890 +msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +msgstr "" + +#: ../../../CHANGELOG.md:3892 +msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +msgstr "" + +#: ../../../CHANGELOG.md:3895 +msgid "2019-03-19" +msgstr "" + +#: ../../../CHANGELOG.md:3897 +msgid "TLS support for coturn" +msgstr "" + +#: ../../../CHANGELOG.md:3899 +msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +msgstr "" + +#: ../../../CHANGELOG.md:3901 +msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +msgstr "" + +#: ../../../CHANGELOG.md:3907 +msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +msgstr "" + +#: ../../../CHANGELOG.md:3909 +msgid "People who build their own custom playbook from our roles should be aware that:" +msgstr "" + +#: ../../../CHANGELOG.md:3911 +msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgstr "" + +#: ../../../CHANGELOG.md:3913 +msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +msgstr "" + +#: ../../../CHANGELOG.md:3916 +msgid "2019-03-12" +msgstr "" + +#: ../../../CHANGELOG.md:3918 +msgid "matrix-nginx-proxy support for serving the base domain" +msgstr "" + +#: ../../../CHANGELOG.md:3920 +msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." +msgstr "" + +#: ../../../CHANGELOG.md:3922 +msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3924 +msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgstr "" + +#: ../../../CHANGELOG.md:3926 +msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +msgstr "" + +#: ../../../CHANGELOG.md:3928 +msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +msgstr "" + +#: ../../../CHANGELOG.md:3931 +msgid "2019-03-10" +msgstr "" + +#: ../../../CHANGELOG.md:3933 +msgid "Dimension integration manager support" +msgstr "" + +#: ../../../CHANGELOG.md:3935 +msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3938 +msgid "2019-03-07" +msgstr "" + +#: ../../../CHANGELOG.md:3940 +msgid "Ability to customize mxisd's email templates" +msgstr "" + +#: ../../../CHANGELOG.md:3942 +msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3945 +msgid "2019-03-05" +msgstr "" + +#: ../../../CHANGELOG.md:3947 +msgid "Discord bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3949 +msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3952 +msgid "2019-02-19" +msgstr "" + +#: ../../../CHANGELOG.md:3954 +msgid "Renaming variables" +msgstr "" + +#: ../../../CHANGELOG.md:3956 ../../../CHANGELOG.md:4273 +#: ../../../CHANGELOG.md:4358 ../../../CHANGELOG.md:4478 +msgid "The following playbook variables were renamed:" +msgstr "" + +#: ../../../CHANGELOG.md:3958 +msgid "from `host_specific_hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3959 +msgid "from `hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3960 +msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgstr "" + +#: ../../../CHANGELOG.md:3961 +msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:3962 +msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:3964 +msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +msgstr "" + +#: ../../../CHANGELOG.md:3967 +msgid "2019-02-16" +msgstr "" + +#: ../../../CHANGELOG.md:3969 +msgid "Riot v1.0.1 support" +msgstr "" + +#: ../../../CHANGELOG.md:3971 +msgid "You can now use the brand new and redesigned Riot." +msgstr "" + +#: ../../../CHANGELOG.md:3973 +msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +msgstr "" + +#: ../../../CHANGELOG.md:3975 +msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +msgstr "" + +#: ../../../CHANGELOG.md:3978 +msgid "2019-02-14" +msgstr "" + +#: ../../../CHANGELOG.md:3980 +msgid "Synapse v0.99.1" +msgstr "" + +#: ../../../CHANGELOG.md:3982 +msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +msgstr "" + +#: ../../../CHANGELOG.md:3984 +msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." +msgstr "" + +#: ../../../CHANGELOG.md:3987 +msgid "2019-02-06" +msgstr "" + +#: ../../../CHANGELOG.md:3989 +msgid "Synapse v0.99 support and preparation for Synapse v1.0" +msgstr "" + +#: ../../../CHANGELOG.md:3991 +msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +msgstr "" + +#: ../../../CHANGELOG.md:3993 +msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgstr "" + +#: ../../../CHANGELOG.md:3995 +msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +msgstr "" + +#: ../../../CHANGELOG.md:3997 +msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +msgstr "" + +#: ../../../CHANGELOG.md:3999 +msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +msgstr "" + +#: ../../../CHANGELOG.md:4001 +msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +msgstr "" + +#: ../../../CHANGELOG.md:4004 +msgid "2019-02-01" +msgstr "" + +#: ../../../CHANGELOG.md:4006 +msgid "TLS v1.3 support" +msgstr "" + +#: ../../../CHANGELOG.md:4008 +msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +msgstr "" + +#: ../../../CHANGELOG.md:4010 +msgid "When using:" +msgstr "" + +#: ../../../CHANGELOG.md:4012 +msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +msgstr "" + +#: ../../../CHANGELOG.md:4014 +msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4016 +msgid "**another web server**: you don't need to do anything to accommodate this change" +msgstr "" + +#: ../../../CHANGELOG.md:4019 +msgid "2019-01-31" +msgstr "" + +#: ../../../CHANGELOG.md:4021 +msgid "IRC bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4023 +msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:4026 +msgid "2019-01-29" +msgstr "" + +#: ../../../CHANGELOG.md:4028 +msgid "Running container processes as non-root, without capabilities and read-only" +msgstr "" + +#: ../../../CHANGELOG.md:4030 +msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." +msgstr "" + +#: ../../../CHANGELOG.md:4032 +msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." +msgstr "" + +#: ../../../CHANGELOG.md:4034 +msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." +msgstr "" + +#: ../../../CHANGELOG.md:4036 +msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +msgstr "" + +#: ../../../CHANGELOG.md:4038 +msgid "matrix-mailer is now based on Exim, not Postfix" +msgstr "" + +#: ../../../CHANGELOG.md:4040 +msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +msgstr "" + +#: ../../../CHANGELOG.md:4042 +msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +msgstr "" + +#: ../../../CHANGELOG.md:4044 +msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +msgstr "" + +#: ../../../CHANGELOG.md:4047 +msgid "2019-01-17" +msgstr "" + +#: ../../../CHANGELOG.md:4049 +msgid "(BC Break) Making the playbook's roles more independent of one another" +msgstr "" + +#: ../../../CHANGELOG.md:4051 +msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." +msgstr "" + +#: ../../../CHANGELOG.md:4054 +msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." +msgstr "" + +#: ../../../CHANGELOG.md:4056 +msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." +msgstr "" + +#: ../../../CHANGELOG.md:4058 +msgid "In addition, the following components can now be completely disabled (for those who want/need to):" +msgstr "" + +#: ../../../CHANGELOG.md:4059 +msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4060 +msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4061 +msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4063 +msgid "The following changes had to be done:" +msgstr "" + +#: ../../../CHANGELOG.md:4065 +msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgstr "" + +#: ../../../CHANGELOG.md:4067 +msgid "`matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." +msgstr "" + +#: ../../../CHANGELOG.md:4069 +msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +msgstr "" + +#: ../../../CHANGELOG.md:4071 +msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +msgstr "" + +#: ../../../CHANGELOG.md:4074 +msgid "2019-01-16" +msgstr "" + +#: ../../../CHANGELOG.md:4076 +msgid "Splitting the playbook into multiple roles" +msgstr "" + +#: ../../../CHANGELOG.md:4078 +msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." +msgstr "" + +#: ../../../CHANGELOG.md:4081 +msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +msgstr "" + +#: ../../../CHANGELOG.md:4083 +msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +msgstr "" + +#: ../../../CHANGELOG.md:4086 +msgid "2019-01-11" +msgstr "" + +#: ../../../CHANGELOG.md:4088 +msgid "(BC Break) mxisd configuration changes" +msgstr "" + +#: ../../../CHANGELOG.md:4090 +msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." +msgstr "" + +#: ../../../CHANGELOG.md:4093 +msgid "The following variables are no longer supported by this playbook:" +msgstr "" + +#: ../../../CHANGELOG.md:4095 +msgid "`matrix_mxisd_ldap_enabled`" +msgstr "" + +#: ../../../CHANGELOG.md:4096 +msgid "`matrix_mxisd_ldap_connection_host`" +msgstr "" + +#: ../../../CHANGELOG.md:4097 +msgid "`matrix_mxisd_ldap_connection_tls`" +msgstr "" + +#: ../../../CHANGELOG.md:4098 +msgid "`matrix_mxisd_ldap_connection_port`" +msgstr "" + +#: ../../../CHANGELOG.md:4099 +msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4100 +msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgstr "" + +#: ../../../CHANGELOG.md:4101 ../../../CHANGELOG.md:4102 +msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4103 ../../../CHANGELOG.md:4107 +msgid "`matrix_mxisd_ldap_connection_bindPassword`" +msgstr "" + +#: ../../../CHANGELOG.md:4104 +msgid "`matrix_mxisd_ldap_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4105 +msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgstr "" + +#: ../../../CHANGELOG.md:4106 +msgid "`matrix_mxisd_ldap_attribute_uid_value`" +msgstr "" + +#: ../../../CHANGELOG.md:4108 +msgid "`matrix_mxisd_ldap_attribute_name`" +msgstr "" + +#: ../../../CHANGELOG.md:4109 +msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4110 +msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgstr "" + +#: ../../../CHANGELOG.md:4111 +msgid "`matrix_mxisd_ldap_identity_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4112 +msgid "`matrix_mxisd_ldap_identity_medium`" +msgstr "" + +#: ../../../CHANGELOG.md:4113 +msgid "`matrix_mxisd_ldap_auth_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4114 +msgid "`matrix_mxisd_ldap_directory_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4115 +msgid "`matrix_mxisd_template_config`" +msgstr "" + +#: ../../../CHANGELOG.md:4117 +msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgstr "" + +#: ../../../CHANGELOG.md:4119 +msgid "This new way of configuring mxisd is beneficial because:" +msgstr "" + +#: ../../../CHANGELOG.md:4121 +msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +msgstr "" + +#: ../../../CHANGELOG.md:4122 +msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +msgstr "" + +#: ../../../CHANGELOG.md:4125 +msgid "2019-01-08" +msgstr "" + +#: ../../../CHANGELOG.md:4127 +msgid "(BC Break) Cronjob schedule no longer configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4129 +msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." +msgstr "" + +#: ../../../CHANGELOG.md:4131 +msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." +msgstr "" + +#: ../../../CHANGELOG.md:4134 +msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +msgstr "" + +#: ../../../CHANGELOG.md:4137 +msgid "2018-12-23" +msgstr "" + +#: ../../../CHANGELOG.md:4139 +msgid "(BC Break) More SSL certificate retrieval methods" +msgstr "" + +#: ../../../CHANGELOG.md:4141 +msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" +msgstr "" + +#: ../../../CHANGELOG.md:4142 +msgid "(default) obtaining free SSL certificates from Let's Encrypt" +msgstr "" + +#: ../../../CHANGELOG.md:4143 +msgid "generating self-signed SSL certificates" +msgstr "" + +#: ../../../CHANGELOG.md:4144 +msgid "managing SSL certificates manually" +msgstr "" + +#: ../../../CHANGELOG.md:4146 +msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4148 +msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:4150 +msgid "before: `host_specific_matrix_ssl_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4151 +msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4153 +msgid "(BC Break) mxisd upgrade with multiple base DN support" +msgstr "" + +#: ../../../CHANGELOG.md:4155 +msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +msgstr "" + +#: ../../../CHANGELOG.md:4157 +msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgstr "" + +#: ../../../CHANGELOG.md:4159 +msgid "Example change:" +msgstr "" + +#: ../../../CHANGELOG.md:4161 +msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgstr "" + +#: ../../../CHANGELOG.md:4162 +msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +msgstr "" + +#: ../../../CHANGELOG.md:4165 +msgid "2018-12-21" +msgstr "" + +#: ../../../CHANGELOG.md:4167 +msgid "Synapse 0.34.0 and Python 3" +msgstr "" + +#: ../../../CHANGELOG.md:4169 +msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +msgstr "" + +#: ../../../CHANGELOG.md:4172 +msgid "2018-12-12" +msgstr "" + +#: ../../../CHANGELOG.md:4174 +msgid "Riot homepage customization" +msgstr "" + +#: ../../../CHANGELOG.md:4176 +msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." +msgstr "" + +#: ../../../CHANGELOG.md:4179 +msgid "2018-12-04" +msgstr "" + +#: ../../../CHANGELOG.md:4181 +msgid "mxisd extensibility" +msgstr "" + +#: ../../../CHANGELOG.md:4183 +msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgstr "" + +#: ../../../CHANGELOG.md:4186 +msgid "2018-11-28" +msgstr "" + +#: ../../../CHANGELOG.md:4188 +msgid "More scripts" +msgstr "" + +#: ../../../CHANGELOG.md:4190 +msgid "matrix-remove-all allows to uninstall everything with a single command" +msgstr "" + +#: ../../../CHANGELOG.md:4191 +msgid "matrix-make-user-admin allows to upgrade a user's privileges" +msgstr "" + +#: ../../../CHANGELOG.md:4193 +msgid "LDAP auth support via matrix-synapse-ldap3" +msgstr "" + +#: ../../../CHANGELOG.md:4195 +msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4197 +msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4200 +msgid "2018-11-23" +msgstr "" + +#: ../../../CHANGELOG.md:4202 +msgid "Support for controlling public registration and room auto-join" +msgstr "" + +#: ../../../CHANGELOG.md:4204 +msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +msgstr "" + +#: ../../../CHANGELOG.md:4206 +msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +msgstr "" + +#: ../../../CHANGELOG.md:4208 +msgid "Support for changing the welcome user ID (welcome bot)" +msgstr "" + +#: ../../../CHANGELOG.md:4210 +msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +msgstr "" + +#: ../../../CHANGELOG.md:4213 +msgid "2018-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:4215 +msgid "Ability to set Synapse log levels" +msgstr "" + +#: ../../../CHANGELOG.md:4217 +msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +msgstr "" + +#: ../../../CHANGELOG.md:4219 +msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +msgstr "" + +#: ../../../CHANGELOG.md:4228 +msgid "2018-11-03" +msgstr "" + +#: ../../../CHANGELOG.md:4230 +msgid "Customize parts of Riot's config" +msgstr "" + +#: ../../../CHANGELOG.md:4232 +msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +msgstr "" + +#: ../../../CHANGELOG.md:4243 +msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" +msgstr "" + +#: ../../../CHANGELOG.md:4252 +msgid "SSL protocols used to serve Riot and Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4254 +msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:4256 +msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." +msgstr "" + +#: ../../../CHANGELOG.md:4258 +msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +msgstr "" + +#: ../../../CHANGELOG.md:4261 +msgid "2018-11-01" +msgstr "" + +#: ../../../CHANGELOG.md:4263 +msgid "Postgres 11 support" +msgstr "" + +#: ../../../CHANGELOG.md:4265 +msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +msgstr "" + +#: ../../../CHANGELOG.md:4267 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgstr "" + +#: ../../../CHANGELOG.md:4269 ../../../CHANGELOG.md:4356 +#: ../../../CHANGELOG.md:4476 +msgid "(BC Break) Renaming playbook variables" +msgstr "" + +#: ../../../CHANGELOG.md:4271 +msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +msgstr "" + +#: ../../../CHANGELOG.md:4275 +msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4276 +msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4277 +msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4278 +msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4279 +msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4280 +msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4281 +msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4282 +msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4283 +msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4284 +msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" +msgstr "" + +#: ../../../CHANGELOG.md:4285 +msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgstr "" + +#: ../../../CHANGELOG.md:4286 +msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgstr "" + +#: ../../../CHANGELOG.md:4289 +msgid "2018-10-26" +msgstr "" + +#: ../../../CHANGELOG.md:4291 +msgid "Mautrix Whatsapp bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4293 +msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4295 +msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4298 +msgid "2018-10-25" +msgstr "" + +#: ../../../CHANGELOG.md:4300 +msgid "Support for controlling Matrix federation" +msgstr "" + +#: ../../../CHANGELOG.md:4302 +msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgstr "" + +#: ../../../CHANGELOG.md:4305 +msgid "2018-10-24" +msgstr "" + +#: ../../../CHANGELOG.md:4307 +msgid "Disabling riot-web guests" +msgstr "" + +#: ../../../CHANGELOG.md:4309 +msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +msgstr "" + +#: ../../../CHANGELOG.md:4312 +msgid "2018-10-21" +msgstr "" + +#: ../../../CHANGELOG.md:4314 +msgid "Self-check maintenance command" +msgstr "" + +#: ../../../CHANGELOG.md:4316 +msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)." +msgstr "" + +#: ../../../CHANGELOG.md:4319 +msgid "2018-10-05" +msgstr "" + +#: ../../../CHANGELOG.md:4321 +msgid "Presence tracking made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4323 +msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +msgstr "" + +#: ../../../CHANGELOG.md:4325 +msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +msgstr "" + +#: ../../../CHANGELOG.md:4328 +msgid "2018-09-27" +msgstr "" + +#: ../../../CHANGELOG.md:4330 +msgid "Synapse Cache Factor made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4332 +msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgstr "" + +#: ../../../CHANGELOG.md:4334 +msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgstr "" + +#: ../../../CHANGELOG.md:4337 +msgid "2018-09-26" +msgstr "" + +#: ../../../CHANGELOG.md:4339 +msgid "Disabling Docker container logging" +msgstr "" + +#: ../../../CHANGELOG.md:4341 +msgid "`--log-driver=none` is used for all Docker containers now." +msgstr "" + +#: ../../../CHANGELOG.md:4343 +msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgstr "" + +#: ../../../CHANGELOG.md:4345 +msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgstr "" + +#: ../../../CHANGELOG.md:4348 +msgid "2018-09-17" +msgstr "" + +#: ../../../CHANGELOG.md:4350 +msgid "Service discovery support" +msgstr "" + +#: ../../../CHANGELOG.md:4352 +msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +msgstr "" + +#: ../../../CHANGELOG.md:4354 +msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4360 +msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgstr "" + +#: ../../../CHANGELOG.md:4361 +msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +msgstr "" + +#: ../../../CHANGELOG.md:4364 +msgid "2018-09-07" +msgstr "" + +#: ../../../CHANGELOG.md:4366 +msgid "Mautrix Telegram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4368 +msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4370 +msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4372 +msgid "Events cache size increase and configurability for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4374 +msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgstr "" + +#: ../../../CHANGELOG.md:4376 +msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgstr "" + +#: ../../../CHANGELOG.md:4378 +msgid "Password-peppering support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4380 +msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." +msgstr "" + +#: ../../../CHANGELOG.md:4382 +msgid "Statistics-reporting support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4384 +msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." +msgstr "" + +#: ../../../CHANGELOG.md:4386 +msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +msgstr "" + +#: ../../../CHANGELOG.md:4389 +msgid "2018-08-29" +msgstr "" + +#: ../../../CHANGELOG.md:4391 +msgid "Changing the way SSL certificates are retrieved" +msgstr "" + +#: ../../../CHANGELOG.md:4393 +msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgstr "" + +#: ../../../CHANGELOG.md:4395 +msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgstr "" + +#: ../../../CHANGELOG.md:4397 +msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgstr "" + +#: ../../../CHANGELOG.md:4399 +msgid "`systemctl stop 'matrix*'`" +msgstr "" + +#: ../../../CHANGELOG.md:4400 +msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" +msgstr "" + +#: ../../../CHANGELOG.md:4401 +msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4402 +msgid "re-run the playbook's [installation](docs/installing.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4403 +msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4406 +msgid "2018-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:4408 +msgid "Matrix Corporal support" +msgstr "" + +#: ../../../CHANGELOG.md:4410 +msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4412 +msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4415 +msgid "2018-08-20" +msgstr "" + +#: ../../../CHANGELOG.md:4417 +msgid "Matrix Synapse rate limit control variables" +msgstr "" + +#: ../../../CHANGELOG.md:4419 +msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgstr "" + +#: ../../../CHANGELOG.md:4426 +msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4428 +msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4430 +msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4433 +msgid "2018-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:4435 +msgid "REST auth support via matrix-synapse-rest-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4437 +msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4439 +msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4441 +msgid "Compression improvements" +msgstr "" + +#: ../../../CHANGELOG.md:4443 +msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgstr "" + +#: ../../../CHANGELOG.md:4446 +msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." +msgstr "" + +#: ../../../CHANGELOG.md:4449 +msgid "Disabling some unnecessary Synapse services" +msgstr "" + +#: ../../../CHANGELOG.md:4451 +msgid "The following services are not necessary, so they have been disabled:" +msgstr "" + +#: ../../../CHANGELOG.md:4452 +msgid "on the federation port (8448): the `client` service" +msgstr "" + +#: ../../../CHANGELOG.md:4453 +msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgstr "" + +#: ../../../CHANGELOG.md:4455 +msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgstr "" + +#: ../../../CHANGELOG.md:4458 +msgid "2018-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:4460 +msgid "mxisd Identity Server support" +msgstr "" + +#: ../../../CHANGELOG.md:4462 +msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4465 +msgid "2018-08-14" +msgstr "" + +#: ../../../CHANGELOG.md:4467 +msgid "Email-sending support" +msgstr "" + +#: ../../../CHANGELOG.md:4469 +msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4471 +msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgstr "" + +#: ../../../CHANGELOG.md:4474 +msgid "2018-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:4480 +msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4481 +msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4482 +msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgstr "" + +#: ../../../CHANGELOG.md:4483 +msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgstr "" + +#: ../../../CHANGELOG.md:4484 +msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgstr "" + +#: ../../../CHANGELOG.md:4485 +msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:4486 +msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgstr "" + +#: ../../../CHANGELOG.md:4487 +msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgstr "" + +#: ../../../CHANGELOG.md:4489 +msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgstr "" + +#: ../../../CHANGELOG.md:4491 +msgid "Renaming Ansible playbook tag" +msgstr "" + +#: ../../../CHANGELOG.md:4493 +msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgstr "" + +#: ../../../CHANGELOG.md:4495 +msgid "Docker container linking" +msgstr "" + +#: ../../../CHANGELOG.md:4497 msgid "Changed the way the Docker containers are linked together. The ones that need to communicate with others operate in a `matrix` network now and not in the default bridge network." msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/README.po b/i18n/locales/bg/LC_MESSAGES/README.po index 9518b2d69..7ea3bc57c 100644 --- a/i18n/locales/bg/LC_MESSAGES/README.po +++ b/i18n/locales/bg/LC_MESSAGES/README.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:59+0100\n" "PO-Revision-Date: 2024-12-20 14:56+0200\n" "Last-Translator: \n" "Language: bg\n" @@ -19,10 +19,11 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../../README.md:1 -msgid "[![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)" +#, fuzzy +msgid "[![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)" msgstr "[![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)" #: ../../../README.md:1 @@ -33,6 +34,10 @@ msgstr "Matrix стая за поддръжка" msgid "donate" msgstr "дарения" +#: ../../../README.md:1 +msgid "REUSE status" +msgstr "" + #: ../../../README.md:3 msgid "Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker" msgstr "Настройка на Matrix (отворена мрежа за сигурна децентрализирана комуникация) чрез Ansible и Docker" @@ -179,16 +184,16 @@ msgstr "[Връзка](docs/configuring-playbook-conduit.md)" #: ../../../README.md #, fuzzy -msgid "[conduwuit](https://conduwuit.puppyirl.gay/)" +msgid "[continuwuity](https://continuwuity.org)" msgstr "[Conduit](https://conduit.rs)" #: ../../../README.md -msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit." +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network." msgstr "" #: ../../../README.md #, fuzzy -msgid "[Link](docs/configuring-playbook-conduwuit.md)" +msgid "[Link](docs/configuring-playbook-continuwuity.md)" msgstr "[Връзка](docs/configuring-playbook-conduit.md)" #: ../../../README.md @@ -247,6 +252,15 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-cinny.md)" msgstr "" +#: ../../../README.md +msgid "[Sable](https://github.com/7w1/sable)" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-client-sable.md)" +msgstr "[Връзка](docs/configuring-playbook-synapse.md)" + #: ../../../README.md msgid "[SchildiChat Web](https://schildi.chat/)" msgstr "" @@ -259,11 +273,24 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-schildichat-web.md)" msgstr "" -#: ../../../README.md:69 +#: ../../../README.md +msgid "[FluffyChat Web](https://fluffychat.im/)" +msgstr "" + +#: ../../../README.md +msgid "The cutest messenger in Matrix" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-client-fluffychat-web.md)" +msgstr "[Връзка](docs/configuring-playbook-conduit.md)" + +#: ../../../README.md:71 msgid "Server Components" msgstr "" -#: ../../../README.md:71 +#: ../../../README.md:73 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -279,24 +306,12 @@ msgstr "" msgid "[Link](docs/configuring-playbook-external-postgres.md)" msgstr "" -#: ../../../README.md -msgid "[coturn](https://github.com/coturn/coturn)" -msgstr "" - -#: ../../../README.md -msgid "STUN/TURN server for WebRTC audio/video calls" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-turn.md)" -msgstr "" - #: ../../../README.md msgid "[Traefik](https://doc.traefik.io/traefik/)" msgstr "" #: ../../../README.md -msgid "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)" +msgid "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." msgstr "" #: ../../../README.md @@ -328,15 +343,15 @@ msgid "[Link](docs/configuring-playbook-email.md)" msgstr "" #: ../../../README.md -msgid "[ma1sd](https://github.com/ma1uta/ma1sd)" +msgid "[coturn](https://github.com/coturn/coturn)" msgstr "" #: ../../../README.md -msgid "Matrix Identity Server" +msgid "STUN/TURN server for WebRTC audio/video calls" msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-ma1sd.md)" +msgid "[Link](docs/configuring-playbook-turn.md)" msgstr "" #: ../../../README.md @@ -351,11 +366,24 @@ msgstr "" msgid "[Link](docs/configuring-playbook-dynamic-dns.md)" msgstr "[Връзка](docs/configuring-playbook-dynamic-dns.md)" -#: ../../../README.md:83 +#: ../../../README.md +msgid "Matrix RTC stack" +msgstr "" + +#: ../../../README.md +msgid "Supporting components ([LiveKit Server](docs/configuring-playbook-livekit-server.md) and [LiveKit JWT Service](docs/configuring-playbook-livekit-jwt-service.md)) for in-app audio/video calls for Matrix clients" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-matrix-rtc.md)" +msgstr "[Връзка](docs/configuring-playbook-dynamic-dns.md)" + +#: ../../../README.md:85 msgid "Authentication" msgstr "" -#: ../../../README.md:85 +#: ../../../README.md:87 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" @@ -400,7 +428,7 @@ msgid "[matrix-ldap-registration-proxy](https://gitlab.com/activism.internationa msgstr "" #: ../../../README.md -msgid "A proxy that handles Matrix registration requests and forwards them to LDAP." +msgid "Proxy that handles Matrix registration requests and forwards them to LDAP" msgstr "" #: ../../../README.md @@ -412,7 +440,7 @@ msgid "[matrix-registration](https://github.com/ZerataX/matrix-registration)" msgstr "" #: ../../../README.md -msgid "A simple python application to have a token based Matrix registration" +msgid "Simple python application to have a token based Matrix registration" msgstr "" #: ../../../README.md @@ -420,7 +448,7 @@ msgid "[Link](docs/configuring-playbook-matrix-registration.md)" msgstr "" #: ../../../README.md -msgid "[Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) (UVS)" +msgid "[Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service)" msgstr "" #: ../../../README.md @@ -436,18 +464,18 @@ msgid "[synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispa msgstr "" #: ../../../README.md -msgid "A spam checker module" +msgid "Spam checker module" msgstr "" #: ../../../README.md msgid "[Link](docs/configuring-playbook-synapse-simple-antispam.md)" msgstr "" -#: ../../../README.md:97 +#: ../../../README.md:99 msgid "File Storage" msgstr "" -#: ../../../README.md:99 +#: ../../../README.md:101 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" @@ -476,18 +504,18 @@ msgid "[matrix-media-repo](https://github.com/turt2live/matrix-media-repo)" msgstr "" #: ../../../README.md -msgid "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." +msgid "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." msgstr "" #: ../../../README.md msgid "[Link](docs/configuring-playbook-matrix-media-repo.md)" msgstr "" -#: ../../../README.md:107 +#: ../../../README.md:109 msgid "Bridges" msgstr "" -#: ../../../README.md:109 +#: ../../../README.md:111 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" @@ -563,6 +591,19 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" +#: ../../../README.md +msgid "[mautrix-bluesky](https://github.com/mautrix/bluesky)" +msgstr "" + +#: ../../../README.md +msgid "Bridge to [Bluesky](https://bsky.social/)" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "[Връзка](docs/configuring-playbook-conduit.md)" + #: ../../../README.md msgid "[mautrix-twitter](https://github.com/mautrix/twitter)" msgstr "" @@ -659,14 +700,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-appservice-discord.md)" msgstr "" -#: ../../../README.md -msgid "[matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - #: ../../../README.md msgid "[matrix-hookshot](https://github.com/matrix-org/matrix-hookshot)" msgstr "" @@ -691,6 +724,19 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-matrix-bridge-sms.md)" msgstr "" +#: ../../../README.md +msgid "[matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge)" +msgstr "" + +#: ../../../README.md +msgid "Bridge to [Steam](https://steampowered.com/)" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-bridge-steam.md)" +msgstr "[Връзка](docs/configuring-playbook-synapse.md)" + #: ../../../README.md msgid "[matrix-wechat](https://github.com/duo/matrix-wechat)" msgstr "" @@ -715,62 +761,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-heisenbridge.md)" msgstr "" -#: ../../../README.md -msgid "[go-skype-bridge](https://github.com/kelaresg/go-skype-bridge)" -msgstr "" - -#: ../../../README.md -msgid "Bridge to [Skype](https://www.skype.com)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack)" -msgstr "" - -#: ../../../README.md -msgid "Bridge to [Slack](https://slack.com)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram)" -msgstr "" - -#: ../../../README.md -msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter)" -msgstr "" - -#: ../../../README.md -msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - #: ../../../README.md msgid "[mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme)" msgstr "" @@ -784,7 +774,7 @@ msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" #: ../../../README.md -msgid "[mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam)" +msgid "[mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam)" msgstr "" #: ../../../README.md @@ -807,11 +797,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-postmoogle.md)" msgstr "" -#: ../../../README.md:141 +#: ../../../README.md:139 msgid "Bots" msgstr "" -#: ../../../README.md:143 +#: ../../../README.md:141 msgid "Bots provide various additional functionality to your installation." msgstr "" @@ -820,7 +810,7 @@ msgid "[baibot](https://github.com/etkecc/baibot)" msgstr "" #: ../../../README.md -msgid "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" +msgid "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" msgstr "" #: ../../../README.md @@ -856,7 +846,7 @@ msgid "[maubot](https://github.com/maubot/maubot)" msgstr "" #: ../../../README.md -msgid "A plugin-based Matrix bot system" +msgid "Plugin-based Matrix bot system" msgstr "" #: ../../../README.md @@ -868,7 +858,7 @@ msgid "[Honoroit](https://github.com/etkecc/honoroit)" msgstr "" #: ../../../README.md -msgid "A helpdesk bot" +msgid "Helpdesk bot" msgstr "" #: ../../../README.md @@ -880,7 +870,7 @@ msgid "[Mjolnir](https://github.com/matrix-org/mjolnir)" msgstr "" #: ../../../README.md -msgid "A moderation tool for Matrix" +msgid "Moderation tool for Matrix" msgstr "" #: ../../../README.md @@ -892,7 +882,7 @@ msgid "[Draupnir](https://github.com/the-draupnir-project/Draupnir)" msgstr "" #: ../../../README.md -msgid "A moderation tool for Matrix (Fork of Mjolnir)" +msgid "Moderation tool for Matrix (Fork of Mjolnir)" msgstr "" #: ../../../README.md @@ -911,11 +901,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bot-buscarron.md)" msgstr "" -#: ../../../README.md:156 +#: ../../../README.md:154 msgid "Administration" msgstr "" -#: ../../../README.md:158 +#: ../../../README.md:156 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" @@ -944,16 +934,17 @@ msgid "[Link](docs/configuring-playbook-matrix-authentication-service.md)" msgstr "" #: ../../../README.md -msgid "[synapse-admin](https://github.com/etkecc/synapse-admin)" +msgid "[Ketesa](https://github.com/etkecc/ketesa)" msgstr "" #: ../../../README.md -msgid "A web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-synapse-admin.md)" -msgstr "" +#, fuzzy +msgid "[Link](docs/configuring-playbook-ketesa.md)" +msgstr "[Връзка](docs/configuring-playbook-synapse.md)" #: ../../../README.md msgid "Metrics and Graphs" @@ -964,7 +955,7 @@ msgid "Consists of the [Prometheus](https://prometheus.io) time-series database msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-nginxlog.md))" +msgid "[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))" msgstr "" #: ../../../README.md @@ -1003,44 +994,20 @@ msgstr "" msgid "[Link](docs/configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../README.md:170 +#: ../../../README.md:168 msgid "Misc" msgstr "" -#: ../../../README.md:172 +#: ../../../README.md:170 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../README.md -msgid "[sliding-sync](https://github.com/matrix-org/sliding-sync)" -msgstr "" - -#: ../../../README.md -msgid "(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)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-sliding-sync-proxy.md)" -msgstr "" - -#: ../../../README.md -msgid "[synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite)" -msgstr "" - -#: ../../../README.md -msgid "A Synapse module to automatically accept invites." -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - #: ../../../README.md msgid "[synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor)" msgstr "" #: ../../../README.md -msgid "A cli tool that automatically compresses `state_groups` database table in background." +msgid "Cli tool that automatically compresses `state_groups` database table in background" msgstr "" #: ../../../README.md @@ -1059,12 +1026,25 @@ msgstr "" msgid "[Link](docs/configuring-playbook-matrix-corporal.md)" msgstr "" +#: ../../../README.md +msgid "[Matrix.to](https://github.com/matrix-org/matrix.to)" +msgstr "" + +#: ../../../README.md +msgid "Simple URL redirection service for the Matrix ecosystem" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-matrixto.md)" +msgstr "[Връзка](docs/configuring-playbook-synapse.md)" + #: ../../../README.md msgid "[Etherpad](https://etherpad.org)" msgstr "" #: ../../../README.md -msgid "An open source collaborative text editor" +msgid "Open source collaborative text editor" msgstr "" #: ../../../README.md @@ -1076,7 +1056,7 @@ msgid "[Jitsi](https://jitsi.org/)" msgstr "" #: ../../../README.md -msgid "An open source video-conferencing platform" +msgid "Open source video-conferencing platform" msgstr "" #: ../../../README.md @@ -1088,7 +1068,7 @@ msgid "[Cactus Comments](https://cactus.chat)" msgstr "" #: ../../../README.md -msgid "A federated comment system built on Matrix" +msgid "Federated comment system built on Matrix" msgstr "" #: ../../../README.md @@ -1100,7 +1080,7 @@ msgid "[Pantalaimon](https://github.com/matrix-org/pantalaimon)" msgstr "" #: ../../../README.md -msgid "An E2EE aware proxy daemon" +msgid "E2EE aware proxy daemon" msgstr "" #: ../../../README.md @@ -1131,54 +1111,70 @@ msgstr "" msgid "[Link](docs/configuring-playbook-ntfy.md)" msgstr "" -#: ../../../README.md:187 +#: ../../../README.md +msgid "[Element Call](https://github.com/element-hq/element-call)" +msgstr "" + +#: ../../../README.md +msgid "A native Matrix video conferencing application" +msgstr "" + +#: ../../../README.md +#, fuzzy +msgid "[Link](docs/configuring-playbook-element-call.md)" +msgstr "[Връзка](docs/configuring-playbook-synapse.md)" + +#: ../../../README.md:185 msgid "🆕 Changes" msgstr "" -#: ../../../README.md:189 +#: ../../../README.md:187 msgid "This playbook evolves over time, sometimes with backward-incompatible changes." msgstr "Този плейбук се развива във времето и понякога съдържа обратно-несъвместими промени." -#: ../../../README.md:191 +#: ../../../README.md:189 msgid "When updating the playbook, refer to [the changelog](CHANGELOG.md) to catch up with what's new." msgstr "" -#: ../../../README.md:193 +#: ../../../README.md:191 msgid "🆘 Support" msgstr "" -#: ../../../README.md:195 +#: ../../../README.md:193 msgid "Matrix room: [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com)" msgstr "" -#: ../../../README.md:197 +#: ../../../README.md:195 msgid "IRC channel: `#matrix-docker-ansible-deploy` on the [Libera Chat](https://libera.chat/) IRC network (irc.libera.chat:6697)" msgstr "" -#: ../../../README.md:199 +#: ../../../README.md:197 msgid "GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues)" msgstr "" -#: ../../../README.md:201 +#: ../../../README.md:199 msgid "🌐 Translation" msgstr "" -#: ../../../README.md:203 +#: ../../../README.md:201 msgid "See the [i18n/README.md](i18n/README.md) file for more information about translation." msgstr "Вижте файла [i18n/README.md](i18n/README.md) за повече информация относно превода." -#: ../../../README.md:205 +#: ../../../README.md:203 msgid "Translations are still work in progress." msgstr "Все още се работи по преводите." -#: ../../../README.md:207 +#: ../../../README.md:205 msgid "🤝 Related" msgstr "" -#: ../../../README.md:209 +#: ../../../README.md:207 msgid "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))." msgstr "" -#: ../../../README.md:211 +#: ../../../README.md:209 msgid "mash-playbook also makes use of [Traefik](./docs/configuring-playbook-traefik.md) as its reverse-proxy, so with minor [interoperability adjustments](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md), you can make matrix-docker-ansible-deploy and mash-playbook co-exist and host Matrix and non-Matrix services on the same server." msgstr "" + +#~ msgid "[conduwuit](https://conduwuit.puppyirl.gay/)" +#~ msgstr "[Conduit](https://conduit.rs)" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/README.po b/i18n/locales/bg/LC_MESSAGES/docs/README.po index e23b3a717..8caf3bb26 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/README.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/README.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-02-13 10:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,156 +19,156 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/README.md:1 +#: ../../../docs/README.md:10 msgid "Table of Contents" msgstr "" -#: ../../../docs/README.md:3 -msgid "⬇️ Installaton guides " +#: ../../../docs/README.md:12 +msgid "⬇️ Installation guides " msgstr "" -#: ../../../docs/README.md:5 +#: ../../../docs/README.md:14 msgid "There are two installation guides available for beginners and advanced users." msgstr "" -#: ../../../docs/README.md:7 +#: ../../../docs/README.md:16 msgid "⚡ **[Quick start](quick-start.md) (for beginners)**: this is recommended for those who do not have an existing Matrix server and want to start quickly with \"opinionated defaults\"." msgstr "" -#: ../../../docs/README.md:9 +#: ../../../docs/README.md:18 msgid "**Full installation guide (for advanced users)**: if you need to import an existing Matrix server's data into the new server or want to learn more while setting up the server, follow this guide." msgstr "" -#: ../../../docs/README.md:11 +#: ../../../docs/README.md:20 msgid "[Prerequisites](prerequisites.md)" msgstr "" -#: ../../../docs/README.md:13 -msgid "[Configuring your DNS settings](configuring-dns.md)" +#: ../../../docs/README.md:22 +msgid "[Configuring DNS settings](configuring-dns.md)" msgstr "" -#: ../../../docs/README.md:15 +#: ../../../docs/README.md:24 msgid "[Getting the playbook](getting-the-playbook.md)" msgstr "" -#: ../../../docs/README.md:17 +#: ../../../docs/README.md:26 msgid "[Configuring the playbook](configuring-playbook.md)" msgstr "" -#: ../../../docs/README.md:19 +#: ../../../docs/README.md:28 msgid "[Installing](installing.md)" msgstr "" -#: ../../../docs/README.md:21 +#: ../../../docs/README.md:30 msgid "🛠️ Configuration options" msgstr "" -#: ../../../docs/README.md:28 +#: ../../../docs/README.md:37 msgid "You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md)" msgstr "" -#: ../../../docs/README.md:30 +#: ../../../docs/README.md:39 msgid "[Administration](configuring-playbook.md#administration) — services that help you in administrating and monitoring your Matrix installation" msgstr "" -#: ../../../docs/README.md:32 +#: ../../../docs/README.md:41 msgid "[Authentication and user-related](configuring-playbook.md#authentication-and-user-related) — extend and modify how users are authenticated on your homeserver" msgstr "" -#: ../../../docs/README.md:34 +#: ../../../docs/README.md:43 msgid "[Bots](configuring-playbook.md#bots) — bots provide various additional functionality to your installation" msgstr "" -#: ../../../docs/README.md:36 +#: ../../../docs/README.md:45 msgid "[Bridges](configuring-playbook.md#bridging-other-networks) — bridges can be used to connect your Matrix installation with third-party communication networks" msgstr "" -#: ../../../docs/README.md:38 +#: ../../../docs/README.md:47 msgid "[Clients](configuring-playbook.md#clients) — web clients for Matrix that you can host on your own domains" msgstr "" -#: ../../../docs/README.md:40 +#: ../../../docs/README.md:49 msgid "[Core service adjustments](configuring-playbook.md#core-service-adjustments) — backbone of your Matrix system" msgstr "" -#: ../../../docs/README.md:42 +#: ../../../docs/README.md:51 msgid "[File Storage](configuring-playbook.md#file-storage) — use alternative file storage to the default `media_store` folder" msgstr "" -#: ../../../docs/README.md:46 +#: ../../../docs/README.md:55 msgid "[Other specialized services](configuring-playbook.md#other-specialized-services) — various services that don't fit any other categories" msgstr "" -#: ../../../docs/README.md:48 +#: ../../../docs/README.md:57 msgid "👨‍🔧 Maintenance" msgstr "" -#: ../../../docs/README.md:50 +#: ../../../docs/README.md:59 msgid "If your server and services experience issues, feel free to come to [our support room](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) and ask for help." msgstr "" -#: ../../../docs/README.md:54 -msgid "[Checking if services work](maintenance-checking-services.md)" -msgstr "" - -#: ../../../docs/README.md:56 +#: ../../../docs/README.md:63 msgid "[Maintenance and Troubleshooting](maintenance-and-troubleshooting.md)" msgstr "" -#: ../../../docs/README.md:58 +#: ../../../docs/README.md:65 msgid "[PostgreSQL maintenance](maintenance-postgres.md)" msgstr "" -#: ../../../docs/README.md:60 +#: ../../../docs/README.md:67 msgid "[Synapse maintenance](maintenance-synapse.md)" msgstr "" -#: ../../../docs/README.md:62 +#: ../../../docs/README.md:69 msgid "[Upgrading services](maintenance-upgrading-services.md)" msgstr "" -#: ../../../docs/README.md:64 +#: ../../../docs/README.md:71 msgid "Other documentation pages " msgstr "" -#: ../../../docs/README.md:66 +#: ../../../docs/README.md:73 msgid "ℹ️ **[FAQ](faq.md)** — various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook" msgstr "" -#: ../../../docs/README.md:70 +#: ../../../docs/README.md:77 msgid "[Alternative architectures](alternative-architectures.md)" msgstr "" -#: ../../../docs/README.md:72 +#: ../../../docs/README.md:79 msgid "[Container images used by the playbook](container-images.md)" msgstr "" -#: ../../../docs/README.md:74 +#: ../../../docs/README.md:81 msgid "[Obtaining an Access Token](obtaining-access-tokens.md)" msgstr "" -#: ../../../docs/README.md:76 +#: ../../../docs/README.md:83 msgid "[Playbook tags](playbook-tags.md)" msgstr "" -#: ../../../docs/README.md:78 +#: ../../../docs/README.md:85 msgid "[Registering users](registering-users.md)" msgstr "" -#: ../../../docs/README.md:80 +#: ../../../docs/README.md:87 msgid "[Running `just` commands](just.md)" msgstr "" -#: ../../../docs/README.md:82 +#: ../../../docs/README.md:89 msgid "[Self-building](self-building.md)" msgstr "" -#: ../../../docs/README.md:84 +#: ../../../docs/README.md:91 msgid "[Uninstalling](uninstalling.md)" msgstr "" -#: ../../../docs/README.md:86 +#: ../../../docs/README.md:93 msgid "[Updating users passwords](updating-users-passwords.md)" msgstr "" + +#: ../../../docs/README.md:95 +msgid "[Using Ansible for the playbook](ansible.md)" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po index e73266c27..d8a75de2d 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,431 +19,459 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-baibot.md:1 +#: ../../../docs/configuring-playbook-bot-baibot.md:8 msgid "Setting up baibot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:8 +#: ../../../docs/configuring-playbook-bot-baibot.md:15 msgid "🤖 [baibot](https://github.com/etkecc/baibot) (pronounced bye-bot) is a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:10 +#: ../../../docs/configuring-playbook-bot-baibot.md:17 msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as many well as other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:12 +#: ../../../docs/configuring-playbook-bot-baibot.md:19 msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to [matrix-chatgpt-bot](./configuring-playbook-bot-chatgpt.md). See the [baibot](https://github.com/etkecc/baibot) project and its documentation for more information." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:14 +#: ../../../docs/configuring-playbook-bot-baibot.md:21 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:16 +#: ../../../docs/configuring-playbook-bot-baibot.md:23 msgid "API access to one or more LLM [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:18 +#: ../../../docs/configuring-playbook-bot-baibot.md:25 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:20 +#: ../../../docs/configuring-playbook-bot-baibot.md:27 msgid "There are **a lot of configuration options** (some required, some possibly required, some optional), so they're **split into multiple sections below**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:23 +#: ../../../docs/configuring-playbook-bot-baibot.md:30 msgid "[Base configuration](#base-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:24 +#: ../../../docs/configuring-playbook-bot-baibot.md:31 msgid "[👮‍♂️ Administrator configuration](#️-administrator-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:25 +#: ../../../docs/configuring-playbook-bot-baibot.md:32 msgid "[👥 Initial users configuration](#-initial-users-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:26 +#: ../../../docs/configuring-playbook-bot-baibot.md:33 msgid "[🤖 Configuring agents via Ansible](#-configuring-agents-via-ansible)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:27 +#: ../../../docs/configuring-playbook-bot-baibot.md:34 msgid "[🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:29 +#: ../../../docs/configuring-playbook-bot-baibot.md:36 msgid "Depending on your current `vars.yml` file and desired configuration, **you may require more than just the [base configuration](#base-configuration)**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:31 +#: ../../../docs/configuring-playbook-bot-baibot.md:38 msgid "Base configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:33 +#: ../../../docs/configuring-playbook-bot-baibot.md:40 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:71 -msgid "As mentioned above, **this may not be enough**. Continue with the configuration sections below." +#: ../../../docs/configuring-playbook-bot-baibot.md:42 +msgid "Authentication can be configured in one of two mutually-exclusive ways:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:73 -msgid "👮‍♂️ Administrator configuration" +#: ../../../docs/configuring-playbook-bot-baibot.md:44 +msgid "**Password authentication** (`matrix_bot_baibot_config_user_password`) - recommended for most playbook-managed setups, because it integrates with automatic user creation flow used by the playbook, and auto-creates the bot account" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:75 -#: ../../../docs/configuring-playbook-bot-baibot.md:99 -msgid "This is an addition to the [base configuration](#base-configuration)." +#: ../../../docs/configuring-playbook-bot-baibot.md:45 +msgid "**Access-token authentication** (`matrix_bot_baibot_config_user_access_token` + `matrix_bot_baibot_config_user_device_id`) - useful for specific [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md)/OIDC setups where password authentication is not available or not desired" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:77 -msgid "To specify who is considered a bot [👮‍♂️ Administrator](https://github.com/etkecc/baibot/blob/main/docs/access.md#administrators), you either need to specify `matrix_bot_baibot_config_access_admin_patterns` or `matrix_admin`. The latter is a single variable which affects all bridges and bots." +#: ../../../docs/configuring-playbook-bot-baibot.md:47 +msgid "Even when [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) is enabled, password authentication is still typically the best fit for baibot if you're using a playbook-managed bot account." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:79 -msgid "If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-baibot.md:81 -#: ../../../docs/configuring-playbook-bot-baibot.md:110 -msgid "**If necessary**, add the following configuration to your `vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-baibot.md:95 -msgid "👥 Initial users configuration" +#: ../../../docs/configuring-playbook-bot-baibot.md:49 +msgid "For upstream details, see baibot's [🔐 Authentication](https://github.com/etkecc/baibot/blob/main/docs/configuration/authentication.md) documentation." msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:97 -msgid "By default, **all users on your homeserver are considered allowed users**. If that's OK, you can skip this section." +msgid "As mentioned above, **this may not be enough**. Continue with the configuration sections below." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:99 +msgid "👮‍♂️ Administrator configuration" msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:101 -msgid "To specify who is considered a bot [👥 User](https://github.com/etkecc/baibot/blob/main/docs/access.md#user), you may:" +#: ../../../docs/configuring-playbook-bot-baibot.md:125 +msgid "This is an addition to the [base configuration](#base-configuration)." msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:103 +msgid "To specify who is considered a bot [👮‍♂️ Administrator](https://github.com/etkecc/baibot/blob/main/docs/access.md#administrators), you either need to specify `matrix_bot_baibot_config_access_admin_patterns` or `matrix_admin`. The latter is a single variable which affects all bridges and bots." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:105 +msgid "If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:107 +#: ../../../docs/configuring-playbook-bot-baibot.md:136 +msgid "**If necessary**, add the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:121 +msgid "👥 Initial users configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:123 +msgid "By default, **all users on your homeserver are considered allowed users**. If that's OK, you can skip this section." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:127 +msgid "To specify who is considered a bot [👥 User](https://github.com/etkecc/baibot/blob/main/docs/access.md#user), you may:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:129 msgid "define an **initial** value for `matrix_bot_baibot_config_initial_global_config_user_patterns` Ansible variable, as shown below" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:104 +#: ../../../docs/configuring-playbook-bot-baibot.md:130 msgid "configure the list at runtime via the bot's `!bai access set-users SPACE_SEPARATED_PATTERNS` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:106 +#: ../../../docs/configuring-playbook-bot-baibot.md:132 msgid "Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is optional, but it can be useful to pre-configure the bot with a list of users who should have access to the bot's features." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:108 +#: ../../../docs/configuring-playbook-bot-baibot.md:134 msgid "**Note**: Once initially configured, the allowed users list **cannot be managed via Ansible anymore**. It can only be managed subsequently via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:122 +#: ../../../docs/configuring-playbook-bot-baibot.md:148 msgid "🤖 Configuring agents via Ansible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:124 +#: ../../../docs/configuring-playbook-bot-baibot.md:150 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:126 +#: ../../../docs/configuring-playbook-bot-baibot.md:152 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:128 +#: ../../../docs/configuring-playbook-bot-baibot.md:154 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:130 +#: ../../../docs/configuring-playbook-bot-baibot.md:156 msgid "Besides the presets, the Ansible role also includes support for configuring additional statically-defined agents via the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:132 +#: ../../../docs/configuring-playbook-bot-baibot.md:158 msgid "Agents defined statically and those created dynamically (via chat) are named differently, so **conflict cannot arise**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:134 +#: ../../../docs/configuring-playbook-bot-baibot.md:160 msgid "Depending on your propensity for [GitOps](https://en.wikipedia.org/wiki/DevOps#GitOps), you may prefer to define agents statically via Ansible, or you may wish to do it dynamically via chat." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:136 +#: ../../../docs/configuring-playbook-bot-baibot.md:162 msgid "Before proceeding, we recommend reading the upstream documentation on [How to choose a provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#how-to-choose-a-provider). In short, it's probably best to go with [OpenAI](#openai)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:138 +#: ../../../docs/configuring-playbook-bot-baibot.md:164 msgid "Anthropic" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:140 +#: ../../../docs/configuring-playbook-bot-baibot.md:166 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Anthropic provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#anthropic) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:142 -#: ../../../docs/configuring-playbook-bot-baibot.md:166 -#: ../../../docs/configuring-playbook-bot-baibot.md:197 -#: ../../../docs/configuring-playbook-bot-baibot.md:225 +#: ../../../docs/configuring-playbook-bot-baibot.md:168 +#: ../../../docs/configuring-playbook-bot-baibot.md:192 +#: ../../../docs/configuring-playbook-bot-baibot.md:223 +#: ../../../docs/configuring-playbook-bot-baibot.md:251 msgid "Here's an example **addition** to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:158 -#: ../../../docs/configuring-playbook-bot-baibot.md:189 +#: ../../../docs/configuring-playbook-bot-baibot.md:184 #: ../../../docs/configuring-playbook-bot-baibot.md:215 -#: ../../../docs/configuring-playbook-bot-baibot.md:243 +#: ../../../docs/configuring-playbook-bot-baibot.md:241 +#: ../../../docs/configuring-playbook-bot-baibot.md:275 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:160 -#: ../../../docs/configuring-playbook-bot-baibot.md:191 +#: ../../../docs/configuring-playbook-bot-baibot.md:186 #: ../../../docs/configuring-playbook-bot-baibot.md:217 -#: ../../../docs/configuring-playbook-bot-baibot.md:245 +#: ../../../docs/configuring-playbook-bot-baibot.md:243 +#: ../../../docs/configuring-playbook-bot-baibot.md:277 msgid "💡 You may also wish to use this new agent for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:162 +#: ../../../docs/configuring-playbook-bot-baibot.md:188 msgid "Groq" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:164 +#: ../../../docs/configuring-playbook-bot-baibot.md:190 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Groq provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#groq) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:187 +#: ../../../docs/configuring-playbook-bot-baibot.md:213 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:193 +#: ../../../docs/configuring-playbook-bot-baibot.md:219 msgid "Mistral" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:195 +#: ../../../docs/configuring-playbook-bot-baibot.md:221 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [🇫🇷 Mistral provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#mistral) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:213 +#: ../../../docs/configuring-playbook-bot-baibot.md:239 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:219 +#: ../../../docs/configuring-playbook-bot-baibot.md:245 msgid "OpenAI" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:221 +#: ../../../docs/configuring-playbook-bot-baibot.md:247 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:223 +#: ../../../docs/configuring-playbook-bot-baibot.md:249 msgid "The OpenAI provider is **only meant to be used with OpenAI's official API** and compatibility with other services (which do not fully adhere to the OpenAI API spec completely) is limited. **If you're targeting an OpenAI-compatible service**, use the [OpenAI Compatible](#openai-compatible) provider instead." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:241 +#: ../../../docs/configuring-playbook-bot-baibot.md:273 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:247 +#: ../../../docs/configuring-playbook-bot-baibot.md:279 msgid "OpenAI Compatible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:249 +#: ../../../docs/configuring-playbook-bot-baibot.md:281 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI Compatible provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai-compatible) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:251 +#: ../../../docs/configuring-playbook-bot-baibot.md:283 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:253 +#: ../../../docs/configuring-playbook-bot-baibot.md:285 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:255 +#: ../../../docs/configuring-playbook-bot-baibot.md:287 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:257 +#: ../../../docs/configuring-playbook-bot-baibot.md:289 msgid "Configuring additional agents (without a preset)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:259 +#: ../../../docs/configuring-playbook-bot-baibot.md:291 msgid "The Ansible role may be lacking preset variables for some [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md), or you may wish to statically-define an agent on the same provider twice (or more) with different configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:261 +#: ../../../docs/configuring-playbook-bot-baibot.md:293 msgid "It's possible to inject your own agent configuration using the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:263 +#: ../../../docs/configuring-playbook-bot-baibot.md:295 msgid "You can also define providers at runtime, by chatting with the bot, so using Ansible is not a requirement." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:265 +#: ../../../docs/configuring-playbook-bot-baibot.md:297 msgid "Below is an an **example** demonstrating **statically-defining agents via Ansible without using presets**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:304 +#: ../../../docs/configuring-playbook-bot-baibot.md:336 msgid "Because these are [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agents, they will be given a `static/` ID prefix and will be named `static/my-openai-gpt-3.5-turbo-agent` and `static/my-ollama-agent`, respectively." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:306 +#: ../../../docs/configuring-playbook-bot-baibot.md:338 msgid "💡 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**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:308 +#: ../../../docs/configuring-playbook-bot-baibot.md:340 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:310 +#: ../../../docs/configuring-playbook-bot-baibot.md:342 msgid "💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:312 +#: ../../../docs/configuring-playbook-bot-baibot.md:344 msgid "🤝 Configuring initial default handlers" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:314 +#: ../../../docs/configuring-playbook-bot-baibot.md:346 msgid "This section is only useful if you're [🤖 Configuring agents via Ansible](#-configuring-agents-via-ansible), as it lets you put these agents to use as soon as the bot starts (by adjusting the bot's **initial global configuration**)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:316 +#: ../../../docs/configuring-playbook-bot-baibot.md:348 msgid "If you're not configuring agents via Ansible, you can skip this section." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:318 +#: ../../../docs/configuring-playbook-bot-baibot.md:350 msgid "This section is only useful the first time around. **Once initially configured the global configuration cannot be managed Ansible**, but only via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:320 +#: ../../../docs/configuring-playbook-bot-baibot.md:352 msgid "baibot supports [various purposes](https://github.com/etkecc/baibot/blob/main/docs/features.md):" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:322 +#: ../../../docs/configuring-playbook-bot-baibot.md:354 msgid "[💬 text-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-generation): communicating with you via text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:324 +#: ../../../docs/configuring-playbook-bot-baibot.md:356 msgid "[🦻 speech-to-text](https://github.com/etkecc/baibot/blob/main/docs/features.md#-speech-to-text): turning your voice messages into text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:326 +#: ../../../docs/configuring-playbook-bot-baibot.md:358 msgid "[🗣️ text-to-speech](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-to-speech): turning bot or users text messages into voice messages" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:328 +#: ../../../docs/configuring-playbook-bot-baibot.md:360 msgid "[🖌️ image-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-image-generation): generating images based on instructions" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:330 +#: ../../../docs/configuring-playbook-bot-baibot.md:362 msgid "❓ catch-all: special purposes, indicating use as a fallback (when no specific handler is configured)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:332 +#: ../../../docs/configuring-playbook-bot-baibot.md:364 msgid "[Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models) is made possible by the bot's ability to have different [🤝 handlers](https://github.com/etkecc/baibot/blob/main/docs/configuration/handlers.md) configured for different purposes." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:334 +#: ../../../docs/configuring-playbook-bot-baibot.md:366 msgid "This configuration can be done as a global fallback, or per-room. Both of these [🛠️ configurations](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md) are managed at runtime (viat chat), but **the global configuration can have some initial defaults configured via Ansible**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:336 +#: ../../../docs/configuring-playbook-bot-baibot.md:368 msgid "You can configure the **initial values** for these via Ansible, via the `matrix_bot_baibot_config_initial_global_config_handler_*` variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:338 +#: ../../../docs/configuring-playbook-bot-baibot.md:370 msgid "Example **additional** `vars.yml` configuration:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:355 +#: ../../../docs/configuring-playbook-bot-baibot.md:387 msgid "**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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:357 +#: ../../../docs/configuring-playbook-bot-baibot.md:389 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:359 +#: ../../../docs/configuring-playbook-bot-baibot.md:391 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:361 +#: ../../../docs/configuring-playbook-bot-baibot.md:393 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:363 +#: ../../../docs/configuring-playbook-bot-baibot.md:395 msgid "`roles/custom/matrix-bot-baibot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:364 +#: ../../../docs/configuring-playbook-bot-baibot.md:396 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:366 +#: ../../../docs/configuring-playbook-bot-baibot.md:398 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:368 +#: ../../../docs/configuring-playbook-bot-baibot.md:400 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:375 +#: ../../../docs/configuring-playbook-bot-baibot.md:407 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:377 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +#: ../../../docs/configuring-playbook-bot-baibot.md:409 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account when password authentication is used." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:379 +#: ../../../docs/configuring-playbook-bot-baibot.md:411 +msgid "If you're using access-token authentication, the bot account must already exist and the configured token + device ID must match that account. This mode is mainly for MAS/OIDC setups where password-based bot login is not suitable." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:413 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:381 +#: ../../../docs/configuring-playbook-bot-baibot.md:415 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:383 -msgid "If you change the bot password (`matrix_bot_baibot_config_user_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_baibot_config_user_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-baibot.md:417 +msgid "If you change the bot password (`matrix_bot_baibot_config_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_baibot_config_user_password` to let the bot know its new password. (This note applies to password authentication mode.)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:385 +#: ../../../docs/configuring-playbook-bot-baibot.md:419 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:387 +#: ../../../docs/configuring-playbook-bot-baibot.md:421 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:389 +#: ../../../docs/configuring-playbook-bot-baibot.md:423 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:391 +#: ../../../docs/configuring-playbook-bot-baibot.md:425 msgid "After joining, the bot will introduce itself and show information about the [✨ features](https://github.com/etkecc/baibot/blob/main/docs/features.md) that are enabled for it." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:393 +#: ../../../docs/configuring-playbook-bot-baibot.md:427 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:395 +#: ../../../docs/configuring-playbook-bot-baibot.md:429 msgid "Send `!bai help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:397 +#: ../../../docs/configuring-playbook-bot-baibot.md:431 msgid "You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:399 +#: ../../../docs/configuring-playbook-bot-baibot.md:433 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:401 -msgid "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`" +#: ../../../docs/configuring-playbook-bot-baibot.md:435 +msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:403 -msgid "The default logging level for this service is `info`, but you can increase it to `debug` (or even `trace`) with the following additional configuration:" +#: ../../../docs/configuring-playbook-bot-baibot.md:437 +msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:417 +#: ../../../docs/configuring-playbook-bot-baibot.md:439 +msgid "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:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:453 msgid "**Alternatively**, you can use a single variable to set the logging level for all of the above (bot + all libraries):" msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po index 0801dc12e..019aea3c1 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,156 +19,156 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-buscarron.md:1 +#: ../../../docs/configuring-playbook-bot-buscarron.md:9 msgid "Setting up Buscarron (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:3 +#: ../../../docs/configuring-playbook-bot-buscarron.md:11 msgid "The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:5 +#: ../../../docs/configuring-playbook-bot-buscarron.md:13 msgid "Buscarron is bot that receives HTTP POST submissions of web forms and forwards them to a Matrix room." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:7 +#: ../../../docs/configuring-playbook-bot-buscarron.md:15 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:9 +#: ../../../docs/configuring-playbook-bot-buscarron.md:17 msgid "Adjusting DNS records" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:11 +#: ../../../docs/configuring-playbook-bot-buscarron.md:19 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:13 +#: ../../../docs/configuring-playbook-bot-buscarron.md:21 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:15 +#: ../../../docs/configuring-playbook-bot-buscarron.md:23 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:17 +#: ../../../docs/configuring-playbook-bot-buscarron.md:25 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:40 +#: ../../../docs/configuring-playbook-bot-buscarron.md:48 msgid "Adjusting the Buscarron URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:42 +#: ../../../docs/configuring-playbook-bot-buscarron.md:50 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:44 +#: ../../../docs/configuring-playbook-bot-buscarron.md:52 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:55 +#: ../../../docs/configuring-playbook-bot-buscarron.md:63 msgid "After changing the domain, **you may need to adjust your DNS** records to point the Buscarron domain to the Matrix server." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:57 +#: ../../../docs/configuring-playbook-bot-buscarron.md:65 msgid "If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:59 +#: ../../../docs/configuring-playbook-bot-buscarron.md:67 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:61 +#: ../../../docs/configuring-playbook-bot-buscarron.md:69 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:63 +#: ../../../docs/configuring-playbook-bot-buscarron.md:71 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:65 +#: ../../../docs/configuring-playbook-bot-buscarron.md:73 msgid "`roles/custom/matrix-bot-buscarron/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:67 +#: ../../../docs/configuring-playbook-bot-buscarron.md:75 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:69 +#: ../../../docs/configuring-playbook-bot-buscarron.md:77 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:76 +#: ../../../docs/configuring-playbook-bot-buscarron.md:84 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:78 +#: ../../../docs/configuring-playbook-bot-buscarron.md:86 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:80 +#: ../../../docs/configuring-playbook-bot-buscarron.md:88 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:82 +#: ../../../docs/configuring-playbook-bot-buscarron.md:90 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:84 -msgid "If you change the bot password (`matrix_bot_buscarron_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_buscarron_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-buscarron.md:92 +msgid "If you change the bot password (`matrix_bot_buscarron_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_buscarron_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:86 +#: ../../../docs/configuring-playbook-bot-buscarron.md:94 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:88 +#: ../../../docs/configuring-playbook-bot-buscarron.md:96 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:90 +#: ../../../docs/configuring-playbook-bot-buscarron.md:98 msgid "After the bot joins the room, anyone can call the web form via HTTP POST method." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:92 +#: ../../../docs/configuring-playbook-bot-buscarron.md:100 msgid "Here is an example for the `contact` form:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:100 +#: ../../../docs/configuring-playbook-bot-buscarron.md:108 msgid "**Note**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:102 +#: ../../../docs/configuring-playbook-bot-buscarron.md:110 msgid "you hit the homepage (HTTP `GET` request to `/`)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:103 +#: ../../../docs/configuring-playbook-bot-buscarron.md:111 msgid "you submit a form to the wrong URL (`POST` request to `/non-existing-form`)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:104 +#: ../../../docs/configuring-playbook-bot-buscarron.md:112 msgid "`hasemail` is enabled for the form (like in the example above) and you don't submit an `email` field" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:106 +#: ../../../docs/configuring-playbook-bot-buscarron.md:114 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:108 +#: ../../../docs/configuring-playbook-bot-buscarron.md:116 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:110 +#: ../../../docs/configuring-playbook-bot-buscarron.md:118 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:112 +#: ../../../docs/configuring-playbook-bot-buscarron.md:120 msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:114 +#: ../../../docs/configuring-playbook-bot-buscarron.md:122 msgid "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:" msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po index 0b48da629..af3f7216a 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,392 +19,421 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-draupnir.md:1 +#: ../../../docs/configuring-playbook-bot-draupnir.md:10 msgid "Setting up Draupnir (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:3 +#: ../../../docs/configuring-playbook-bot-draupnir.md:12 msgid "The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:5 +#: ../../../docs/configuring-playbook-bot-draupnir.md:14 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:7 +#: ../../../docs/configuring-playbook-bot-draupnir.md:16 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:9 +#: ../../../docs/configuring-playbook-bot-draupnir.md:18 msgid "If your migrating from [Mjolnir](configuring-playbook-bot-mjolnir.md), skip to [this section](#migrating-from-mjolnir-only-required-if-migrating)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:11 +#: ../../../docs/configuring-playbook-bot-draupnir.md:20 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:13 +#: ../../../docs/configuring-playbook-bot-draupnir.md:22 msgid "Create a management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:15 +#: ../../../docs/configuring-playbook-bot-draupnir.md:24 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:17 +#: ../../../docs/configuring-playbook-bot-draupnir.md:26 msgid "[!WARNING] Anyone in this room can control the bot so it is important that you only invite trusted users to this room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:20 +#: ../../../docs/configuring-playbook-bot-draupnir.md:29 msgid "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))." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:22 +#: ../../../docs/configuring-playbook-bot-draupnir.md:31 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:24 +#: ../../../docs/configuring-playbook-bot-draupnir.md:33 msgid "End-to-End Encryption support" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:26 +#: ../../../docs/configuring-playbook-bot-draupnir.md:35 msgid "Decide whether you want to support having an encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:28 +#: ../../../docs/configuring-playbook-bot-draupnir.md:37 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:30 +#: ../../../docs/configuring-playbook-bot-draupnir.md:39 msgid "Disable Pantalaimon for Draupnir (since v2.0.0; optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:32 +#: ../../../docs/configuring-playbook-bot-draupnir.md:41 msgid "It is known that running Draupnir along with Pantalaimon breaks all workflows that involve answering prompts with reactions." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:34 +#: ../../../docs/configuring-playbook-bot-draupnir.md:43 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:36 +#: ../../../docs/configuring-playbook-bot-draupnir.md:45 msgid "**Note**: because the management room is still encrypted, disabling it without enabling the native E2EE support will break the management room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:38 +#: ../../../docs/configuring-playbook-bot-draupnir.md:47 msgid "Native E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:40 +#: ../../../docs/configuring-playbook-bot-draupnir.md:49 msgid "To enable the native E2EE support, you need to obtain an access token for Draupnir and set it on your `vars.yml` file." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:42 +#: ../../../docs/configuring-playbook-bot-draupnir.md:51 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:44 +#: ../../../docs/configuring-playbook-bot-draupnir.md:53 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:55 +#: ../../../docs/configuring-playbook-bot-draupnir.md:64 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:57 +#: ../../../docs/configuring-playbook-bot-draupnir.md:66 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:76 +#: ../../../docs/configuring-playbook-bot-draupnir.md:85 msgid "Create and invite the bot to the management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:78 +#: ../../../docs/configuring-playbook-bot-draupnir.md:87 msgid "Before proceeding to the next step, run the playbook with the following command to create the bot user." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:84 +#: ../../../docs/configuring-playbook-bot-draupnir.md:93 msgid "**Note**: the `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:86 +#: ../../../docs/configuring-playbook-bot-draupnir.md:95 msgid "Then, invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:88 +#: ../../../docs/configuring-playbook-bot-draupnir.md:97 msgid "Make sure the account is free from rate limiting (optional, recommended)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:90 +#: ../../../docs/configuring-playbook-bot-draupnir.md:99 msgid "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.**" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:92 +#: ../../../docs/configuring-playbook-bot-draupnir.md:101 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:94 +#: ../../../docs/configuring-playbook-bot-draupnir.md:103 msgid "**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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:96 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-draupnir.md:105 +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:98 +#: ../../../docs/configuring-playbook-bot-draupnir.md:107 msgid "Add the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:100 +#: ../../../docs/configuring-playbook-bot-draupnir.md:109 msgid "To expose the APIs publicly, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:106 +#: ../../../docs/configuring-playbook-bot-draupnir.md:115 msgid "Obtain an access token for admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:108 +#: ../../../docs/configuring-playbook-bot-draupnir.md:117 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:110 +#: ../../../docs/configuring-playbook-bot-draupnir.md:119 msgid "[!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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:113 +#: ../../../docs/configuring-playbook-bot-draupnir.md:122 msgid "Run the `curl` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:115 +#: ../../../docs/configuring-playbook-bot-draupnir.md:124 msgid "To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:117 +#: ../../../docs/configuring-playbook-bot-draupnir.md:126 msgid "`ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:118 +#: ../../../docs/configuring-playbook-bot-draupnir.md:127 msgid "`example.com` with your base domain" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:119 +#: ../../../docs/configuring-playbook-bot-draupnir.md:128 msgid "`@bot.draupnir:example.com` with the MXID of your Draupnir bot user" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:125 +#: ../../../docs/configuring-playbook-bot-draupnir.md:134 +#: ../../../docs/configuring-playbook-bot-draupnir.md:207 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:126 +#: ../../../docs/configuring-playbook-bot-draupnir.md:135 msgid "This does not work on outdated Windows 10 as curl is not available there." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:127 +#: ../../../docs/configuring-playbook-bot-draupnir.md:136 msgid "Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:129 +#: ../../../docs/configuring-playbook-bot-draupnir.md:138 msgid "Abuse Reports" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:131 +#: ../../../docs/configuring-playbook-bot-draupnir.md:140 msgid "Draupnir can receive reports in the management room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:133 +#: ../../../docs/configuring-playbook-bot-draupnir.md:142 msgid "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:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:145 +#: ../../../docs/configuring-playbook-bot-draupnir.md:148 +msgid "Enabling synapse-http-antispam support" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:150 +msgid "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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:160 +msgid "These protections need to be manually activated and consulting the [enabling protections](#enabling-built-in-protections) guide can be helpful or consulting upstream documentation." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:168 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:147 +#: ../../../docs/configuring-playbook-bot-draupnir.md:170 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:149 +#: ../../../docs/configuring-playbook-bot-draupnir.md:172 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:151 +#: ../../../docs/configuring-playbook-bot-draupnir.md:174 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:153 +#: ../../../docs/configuring-playbook-bot-draupnir.md:176 msgid "For example, to change Draupnir's `acceptInvitesFromSpace` option to `!qporfwt:example.com`, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:167 +#: ../../../docs/configuring-playbook-bot-draupnir.md:190 msgid "Migrating from Mjolnir (Only required if migrating)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:169 +#: ../../../docs/configuring-playbook-bot-draupnir.md:192 msgid "Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:171 +#: ../../../docs/configuring-playbook-bot-draupnir.md:194 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:173 +#: ../../../docs/configuring-playbook-bot-draupnir.md:196 msgid "That is all you need to do due to that Draupnir can complete migration on its own." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:175 +#: ../../../docs/configuring-playbook-bot-draupnir.md:198 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:177 +#: ../../../docs/configuring-playbook-bot-draupnir.md:200 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:184 +#: ../../../docs/configuring-playbook-bot-draupnir.md:209 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:211 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:186 +#: ../../../docs/configuring-playbook-bot-draupnir.md:213 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:188 +#: ../../../docs/configuring-playbook-bot-draupnir.md:215 +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:217 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:190 +#: ../../../docs/configuring-playbook-bot-draupnir.md:219 msgid "You can refer to the upstream [documentation](https://the-draupnir-project.github.io/draupnir-documentation/) for additional ways to use and configure Draupnir and for a more detailed usage guide." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:192 +#: ../../../docs/configuring-playbook-bot-draupnir.md:221 msgid "Below is a **non-exhaustive quick-start guide** for the impatient." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:194 +#: ../../../docs/configuring-playbook-bot-draupnir.md:223 msgid "Making Draupnir join and protect a room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:196 +#: ../../../docs/configuring-playbook-bot-draupnir.md:225 msgid "Draupnir can be told to self-join public rooms, but it's better to follow this flow which works well for all kinds of rooms:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:198 +#: ../../../docs/configuring-playbook-bot-draupnir.md:227 msgid "Invite the bot to the room manually ([inviting Draupnir to rooms](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#inviting-draupnir-to-rooms)). Before joining, the bot *may* ask for confirmation in the Management Room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:200 +#: ../../../docs/configuring-playbook-bot-draupnir.md:229 msgid "[Give the bot permissions to do its job](#giving-draupnir-permissions-to-do-its-job)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:202 +#: ../../../docs/configuring-playbook-bot-draupnir.md:231 msgid "Tell it to protect the room (using the [rooms command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#using-the-draupnir-rooms-command)) by sending the following command to the Management Room: `!draupnir rooms add !qporfwt:example.com`" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:204 +#: ../../../docs/configuring-playbook-bot-draupnir.md:233 msgid "To have Draupnir provide useful room protection, you need do to a bit more work (at least the first time around). You may wish to [Subscribe to a public policy list](#subscribing-to-a-public-policy-list), [Create your own own policy and rules](#creating-your-own-policy-lists-and-rules) and [Enabling built-in protections](#enabling-built-in-protections)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:206 +#: ../../../docs/configuring-playbook-bot-draupnir.md:235 msgid "Giving Draupnir permissions to do its job" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:208 +#: ../../../docs/configuring-playbook-bot-draupnir.md:237 msgid "For Draupnir to do its job, you need to [give it permissions](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#giving-draupnir-permissions) in rooms it's protecting. This involves **giving it an Administrator power level**." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:210 +#: ../../../docs/configuring-playbook-bot-draupnir.md:239 msgid "**We recommend setting this power level as soon as the bot joins your room** (and before you create new rules), so that it can apply rules as soon as they are available. If the bot is under-privileged, it may fail to apply protections and may not retry for a while (or until your restart it)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:212 +#: ../../../docs/configuring-playbook-bot-draupnir.md:241 msgid "Subscribing to a public policy list" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:214 +#: ../../../docs/configuring-playbook-bot-draupnir.md:243 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:216 -msgid "Polcy lists are maintained in Matrix rooms. A popular policy list is maintained in the public `#community-moderation-effort-bl:neko.dev` room." +#: ../../../docs/configuring-playbook-bot-draupnir.md:245 +msgid "Policy lists are maintained in Matrix rooms. Popular ones maintained in the public are:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:218 -msgid "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`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:220 -msgid "Creating your own policy lists and rules" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:222 -msgid "We also recommend **creating your own policy lists** with the [list create](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-policy-lists#using-draupnirs-list-create-command-to-create-a-policy-room) command." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:224 -msgid "You can do so by sending the following command to the Management Room: `!draupnir list create my-bans my-bans-bl`. This will create a policy list having a name (shortcode) of `my-bans` and stored in a public `#my-bans-bl:example.com` room on your server. As soon as you run this command, the bot will invite you to the policy list room." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:226 -msgid "A policy list does nothing by itself, so the next step is **adding some rules to your policy list**. Policies target a so-called `entity` (one of: `user`, `room` or `server`). These entities are mentioned on the [policy lists](https://the-draupnir-project.github.io/draupnir-documentation/concepts/policy-lists) documentation page and in the Matrix Spec [here](https://spec.matrix.org/v1.11/client-server-api/#mban-recommendation)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:228 -msgid "The simplest and most useful entity to target is `user`. Below are a few examples using the [ban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-ban-command) and targeting users." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:230 -msgid "To create rules, you run commands in the Management Room (**not** in the policy list room)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:232 -msgid "(ban a single user on a given homeserver): `!draupnir ban @charles:example.com my-bans Rude to others`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:233 -msgid "(ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server - all users are fake`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:235 -msgid "As a result of running these commands, you may observe:" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:237 -msgid "Draupnir creating `m.policy.rule.user` state events in the `#my-bans-bl:example.com` room on your server" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:238 -msgid "applying these rules against all rooms that Draupnir is an Administrator in" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:240 -msgid "You can undo bans with the [unban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-unban-command)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:242 -msgid "Enabling built-in protections" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:244 -msgid "You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuit` (\"If X amount of users join in Y time, set the room to invite-only\")." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:246 -msgid "To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room." +#: ../../../docs/configuring-playbook-bot-draupnir.md:247 +msgid "`#community-moderation-effort-bl:neko.dev`" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:248 -msgid "To **see the configuration options for a given protection**, send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuit`)." +msgid "`#huginn-muninn-active-threats:feline.support`" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:250 -msgid "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`)." +msgid "You can tell Draupnir to subscribe to each of these by sending the following command to the Management Room: `!draupnir watch POLICY_LIST_ADDRESS_HERE` (e.g. `!draupnir watch #community-moderation-effort-bl:neko.dev`)" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:252 -msgid "To **enable a given protection**, send a command like this: `!draupnir enable PROTECTION_NAME` (e.g. `!draupnir enable JoinWaveShortCircuit`)." +msgid "Creating your own policy lists and rules" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:254 -msgid "To **disable a given protection**, send a command like this: `!draupnir disable PROTECTION_NAME` (e.g. `!draupnir disable JoinWaveShortCircuit`)." +msgid "We also recommend **creating your own policy lists** with the [list create](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-policy-lists#using-draupnirs-list-create-command-to-create-a-policy-room) command." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:256 +msgid "You can do so by sending the following command to the Management Room: `!draupnir list create my-bans my-bans-bl`. This will create a policy list having a name (shortcode) of `my-bans` and stored in a public `#my-bans-bl:example.com` room on your server. As soon as you run this command, the bot will invite you to the policy list room." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:258 +msgid "A policy list does nothing by itself, so the next step is **adding some rules to your policy list**. Policies target a so-called `entity` (one of: `user`, `room` or `server`). These entities are mentioned on the [policy lists](https://the-draupnir-project.github.io/draupnir-documentation/concepts/policy-lists) documentation page and in the Matrix Spec [here](https://spec.matrix.org/v1.11/client-server-api/#mban-recommendation)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:260 +msgid "The simplest and most useful entity to target is `user`. Below are a few examples using the [ban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-ban-command) and targeting users." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:262 +msgid "To create rules, you run commands in the Management Room (**not** in the policy list room)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:264 +msgid "(ban a single user on a given homeserver): `!draupnir ban @charles:example.com my-bans Rude to others`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:265 +msgid "(ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server, all users are fake`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:267 +msgid "As a result of running these commands, you may observe:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:269 +msgid "Draupnir creating `m.policy.rule.user` state events in the `#my-bans-bl:example.com` room on your server" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:270 +msgid "applying these rules against all rooms that Draupnir is an Administrator in" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:272 +msgid "You can undo bans with the [unban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-unban-command)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:274 +msgid "Enabling built-in protections" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:276 +msgid "You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuitProtection` (\"If X amount of users join in Y time, set the room to invite-only\")." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:278 +msgid "To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:280 +msgid "To [**see the configuration options for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#displaying-the-protection-settings), send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuitProtection`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:282 +msgid "To [**set a specific option for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#changing-protection-settings), send a command like this: `!draupnir protections config set PROTECTION_NAME OPTION VALUE` (e.g. `!draupnir protections config set JoinWaveShortCircuitProtection timescaleMinutes 30`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:284 +msgid "To [**enable a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/block-invitations-on-server-protection#enabling-the-protection), send a command like this: `!draupnir protections enable PROTECTION_NAME` (e.g. `!draupnir protections enable JoinWaveShortCircuitProtection`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:286 +msgid "To **disable a given protection**, send a command like this: `!draupnir protections disable PROTECTION_NAME` (e.g. `!draupnir protections disable JoinWaveShortCircuitProtection`)." msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po index 355bfcd89..f002d7a61 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,108 +19,140 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-honoroit.md:1 +#: ../../../docs/configuring-playbook-bot-honoroit.md:9 msgid "Setting up Honoroit (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:3 +#: ../../../docs/configuring-playbook-bot-honoroit.md:11 msgid "The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:5 +#: ../../../docs/configuring-playbook-bot-honoroit.md:13 msgid "It's a bot you can use to setup **your own helpdesk on matrix**" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:7 +#: ../../../docs/configuring-playbook-bot-honoroit.md:15 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:9 +#: ../../../docs/configuring-playbook-bot-honoroit.md:17 msgid "Adjusting DNS records (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:11 +#: ../../../docs/configuring-playbook-bot-honoroit.md:19 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:13 +#: ../../../docs/configuring-playbook-bot-honoroit.md:21 msgid "If you wish to adjust it, see the section [below](#adjusting-the-honoroit-url-optional) for details about DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:15 +#: ../../../docs/configuring-playbook-bot-honoroit.md:23 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:17 +#: ../../../docs/configuring-playbook-bot-honoroit.md:25 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:32 +#: ../../../docs/configuring-playbook-bot-honoroit.md:40 msgid "Adjusting the Honoroit URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:34 +#: ../../../docs/configuring-playbook-bot-honoroit.md:42 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:36 +#: ../../../docs/configuring-playbook-bot-honoroit.md:44 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:44 +#: ../../../docs/configuring-playbook-bot-honoroit.md:52 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:46 +#: ../../../docs/configuring-playbook-bot-honoroit.md:54 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:48 +#: ../../../docs/configuring-playbook-bot-honoroit.md:56 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:58 +msgid "There are some additional things you may wish to configure about the bot." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:60 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:62 +msgid "`roles/custom/matrix-bot-honoroit/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:64 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:50 +#: ../../../docs/configuring-playbook-bot-honoroit.md:66 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:57 +#: ../../../docs/configuring-playbook-bot-honoroit.md:73 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:59 +#: ../../../docs/configuring-playbook-bot-honoroit.md:75 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:61 +#: ../../../docs/configuring-playbook-bot-honoroit.md:77 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:63 +#: ../../../docs/configuring-playbook-bot-honoroit.md:79 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:65 -msgid "If you change the bot password (`matrix_bot_honoroit_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_honoroit_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-honoroit.md:81 +msgid "If you change the bot password (`matrix_bot_honoroit_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_honoroit_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:67 +#: ../../../docs/configuring-playbook-bot-honoroit.md:83 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:69 +#: ../../../docs/configuring-playbook-bot-honoroit.md:85 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:71 +#: ../../../docs/configuring-playbook-bot-honoroit.md:87 msgid "After the bot joins the room, any Matrix user can send a message to it to start a new thread in that room." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:73 +#: ../../../docs/configuring-playbook-bot-honoroit.md:89 msgid "Send `!ho help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:75 +#: ../../../docs/configuring-playbook-bot-honoroit.md:91 msgid "You can also refer to the upstream [documentation](https://github.com/etkecc/honoroit#features)." msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:93 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:95 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:97 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:99 +msgid "If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po index 3471823b4..095b41d16 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-23 13:09+0900\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,84 +19,120 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:1 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:13 msgid "Setting up matrix-registration-bot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:3 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:15 msgid "The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:5 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:17 msgid "The bot allows you to easily **create and manage registration tokens** aka. invitation codes. It can be used for an invitation-based server, where you invite someone by sending them a registration token (tokens look like this: `rbalQ0zkaDSRQCOp`). They can register as per normal but have to provide a valid registration token in the final step of the registration process." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:7 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:19 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:9 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:21 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:11 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:23 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:30 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:46 msgid "The bot account will be created automatically." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:32 -msgid "Installing" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:48 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:34 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:50 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:41 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:52 +msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:43 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:45 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:47 -msgid "`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." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:49 -msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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_matrix_registration_bot_bot_password` to let the bot know its new password." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:51 -msgid "Usage" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:53 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:54 +msgid "`roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:55 -msgid "Send `help` to the bot to see the available commands." +msgid "`roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2` for the bridge's default configuration" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:57 -msgid "You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands)." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:59 -msgid "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)." +msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:61 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:66 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:68 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:70 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:72 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:74 +msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_registration_bot_bot_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:76 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:78 +msgid "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)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:80 +msgid "Send `help` to the bot to see the available commands." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:82 +msgid "You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:84 +msgid "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)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:86 msgid "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:" msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:92 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:94 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:96 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:98 +msgid "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:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po index 84f39a049..f23c8b587 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-23 13:09+0900\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,80 +19,116 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:1 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:9 msgid "Setting up matrix-reminder-bot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:3 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:11 msgid "The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:5 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:13 msgid "It's a bot you can use to **schedule one-off & recurring reminders and alarms**." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:7 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:15 msgid "See the project's [documentation](https://github.com/anoadragon453/matrix-reminder-bot/blob/master/README.md) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:9 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:17 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:11 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:19 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:26 -msgid "Installing" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:34 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:28 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:36 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:35 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:38 +msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:37 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:39 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:40 +msgid "`roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:41 -msgid "`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." +msgid "`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" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:43 -msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:45 +msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:52 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:54 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:56 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:58 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:60 +msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:62 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:47 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:64 msgid "To use the bot, start a chat with `@bot.matrix-reminder-bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:49 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:66 msgid "You can also add the bot to any existing Matrix room (`/invite @bot.matrix-reminder-bot:example.com`)." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:51 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:68 msgid "Basic usage is like this: `!remindme in 2 minutes; This is a test`" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:53 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:70 msgid "Send `!help reminders` to the room to see the bot's help menu for additional commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:55 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:72 msgid "You can also refer to the upstream [Usage documentation](https://github.com/anoadragon453/matrix-reminder-bot#usage)." msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:74 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:76 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:78 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:80 +msgid "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:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po index 3cd9e33f9..df65ff5d0 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,149 +19,185 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-maubot.md:1 +#: ../../../docs/configuring-playbook-bot-maubot.md:12 msgid "Setting up maubot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:3 +#: ../../../docs/configuring-playbook-bot-maubot.md:14 msgid "The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:5 +#: ../../../docs/configuring-playbook-bot-maubot.md:16 msgid "After setting up maubot, you can use the web management interface to make it do things. The default location of the management interface is `matrix.example.com/_matrix/maubot/`" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:7 +#: ../../../docs/configuring-playbook-bot-maubot.md:18 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:9 +#: ../../../docs/configuring-playbook-bot-maubot.md:20 msgid "Adjusting DNS records (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:11 +#: ../../../docs/configuring-playbook-bot-maubot.md:22 msgid "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**." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:13 +#: ../../../docs/configuring-playbook-bot-maubot.md:24 msgid "If you wish to adjust it, see the section [below](#adjusting-the-maubot-url-optional) for details about DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:15 +#: ../../../docs/configuring-playbook-bot-maubot.md:26 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:17 +#: ../../../docs/configuring-playbook-bot-maubot.md:28 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:32 +#: ../../../docs/configuring-playbook-bot-maubot.md:43 msgid "You can add multiple admins. The admin accounts are only used to access the maubot administration interface." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:34 +#: ../../../docs/configuring-playbook-bot-maubot.md:45 msgid "Adjusting the maubot URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:36 +#: ../../../docs/configuring-playbook-bot-maubot.md:47 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:38 -#: ../../../docs/configuring-playbook-bot-maubot.md:56 +#: ../../../docs/configuring-playbook-bot-maubot.md:49 +#: ../../../docs/configuring-playbook-bot-maubot.md:76 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:46 +#: ../../../docs/configuring-playbook-bot-maubot.md:57 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:48 +#: ../../../docs/configuring-playbook-bot-maubot.md:59 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:50 -msgid "Customizing the maubot container image" +#: ../../../docs/configuring-playbook-bot-maubot.md:61 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:52 -msgid "Certain [maubot plugins](https://plugins.mau.bot/) require additional dependencies to be installed." +#: ../../../docs/configuring-playbook-bot-maubot.md:63 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:54 -msgid "You can customize the default maubot container image and install your own dependencies." +#: ../../../docs/configuring-playbook-bot-maubot.md:65 +msgid "Take a look at:" msgstr "" #: ../../../docs/configuring-playbook-bot-maubot.md:67 +msgid "`roles/custom/matrix-bot-maubot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:68 +msgid "`roles/custom/matrix-bot-maubot/templates/config.yaml.j2` for the bot's default configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:70 +msgid "Customizing the maubot container image" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:72 +msgid "Certain [maubot plugins](https://plugins.mau.bot/) require additional dependencies to be installed." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:74 +msgid "You can customize the default maubot container image and install your own dependencies." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:87 msgid "Consult the [Dockerfile reference](https://docs.docker.com/reference/dockerfile/) for more information about the syntax." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:69 +#: ../../../docs/configuring-playbook-bot-maubot.md:89 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:71 +#: ../../../docs/configuring-playbook-bot-maubot.md:91 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:78 +#: ../../../docs/configuring-playbook-bot-maubot.md:98 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:80 +#: ../../../docs/configuring-playbook-bot-maubot.md:100 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:82 +#: ../../../docs/configuring-playbook-bot-maubot.md:102 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:84 +#: ../../../docs/configuring-playbook-bot-maubot.md:104 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:86 -msgid "If you change the bot password (`matrix_bot_maubot_initial_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_maubot_initial_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-maubot.md:106 +msgid "If you change the bot password (`matrix_bot_maubot_initial_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_maubot_initial_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:88 +#: ../../../docs/configuring-playbook-bot-maubot.md:108 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:90 +#: ../../../docs/configuring-playbook-bot-maubot.md:110 msgid "By default, you can visit `matrix.example.com/_matrix/maubot/` to manage your available plugins, clients and instances." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:92 +#: ../../../docs/configuring-playbook-bot-maubot.md:112 msgid "You should start in the following order" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:93 +#: ../../../docs/configuring-playbook-bot-maubot.md:113 msgid "**Create one or more clients**: A client is a Matrix account which the bot will use to message. By default, the playbook creates a `bot.maubot` account (as per the configuration above). You only need to [obtain an access token](#obtaining-an-access-token) for it" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:94 +#: ../../../docs/configuring-playbook-bot-maubot.md:114 msgid "**Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:95 +#: ../../../docs/configuring-playbook-bot-maubot.md:115 msgid "**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)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:97 +#: ../../../docs/configuring-playbook-bot-maubot.md:117 msgid "Obtain an access token" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:99 +#: ../../../docs/configuring-playbook-bot-maubot.md:119 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:101 +#: ../../../docs/configuring-playbook-bot-maubot.md:121 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:103 +#: ../../../docs/configuring-playbook-bot-maubot.md:123 msgid "[!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." msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:126 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:128 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:130 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:132 +msgid "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:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po index 4240cbd70..c70fcc272 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,254 +19,266 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:1 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:12 msgid "Setting up Mjolnir (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:3 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:14 msgid "The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:5 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:16 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:7 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:18 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:9 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:20 msgid "Register the bot account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:11 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:22 msgid "The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:13 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:24 msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:15 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:26 msgid "You can use the playbook to [register a new user](registering-users.md):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:21 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:32 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:23 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:34 msgid "Obtain an access token" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:25 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:36 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:27 -#: ../../../docs/configuring-playbook-bot-mjolnir.md:52 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:38 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:63 msgid "[!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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:30 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:41 msgid "Make sure the account is free from rate limiting" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:32 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:43 msgid "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.**" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:34 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:45 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:36 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:47 msgid "**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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:38 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-mjolnir.md:49 +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:40 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:51 msgid "Add the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:42 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:53 msgid "To expose the APIs publicly, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:48 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:59 msgid "Obtain an access token for admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:50 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:61 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:55 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:66 msgid "Run the `curl` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:57 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:68 msgid "To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:59 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:70 msgid "`ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:60 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:71 msgid "`example.com` with your base domain" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:61 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:72 msgid "`@bot.mjolnir:example.com` with the MXID of your Mjolnir bot user" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:67 -#: ../../../docs/configuring-playbook-bot-mjolnir.md:184 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:78 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:195 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:68 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:79 msgid "This does not work on outdated Windows 10 as curl is not available there." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:69 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:80 msgid "Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:71 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:82 msgid "Create a management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:73 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:84 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:75 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:86 msgid "[!WARNING] Anyone in this room can control the bot so it is important that you only invite trusted users to this room." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:78 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:89 msgid "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))." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:80 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:91 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:82 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:93 msgid "Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:84 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:95 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:86 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:97 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:95 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:106 msgid "End-to-End Encryption support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:97 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:108 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:99 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:110 msgid "To support E2EE, Mjolnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:101 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:112 msgid "Configuration with E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:103 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:114 msgid "When using Pantalaimon, Mjolnir will log in to its bot account itself through Pantalaimon, so configure its username and password." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:105 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:116 msgid "Add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:119 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:130 msgid "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`:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:131 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:142 msgid "Configuration without E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:133 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:144 msgid "When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:135 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:146 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:141 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:152 msgid "Adding Mjolnir synapse antispam module (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:143 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:154 msgid "To enable Mjolnir synapse antispam module, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:153 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:164 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:155 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:166 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:157 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:168 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:159 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:170 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:161 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:172 msgid "For example, to change Mjolnir's `recordIgnoredInvites` option to `true`, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:175 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:186 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:177 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:188 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:186 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-mjolnir.md:188 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:197 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:190 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:199 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:192 -msgid "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." +#: ../../../docs/configuring-playbook-bot-mjolnir.md:201 +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:194 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:203 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:196 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:205 msgid "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." msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:207 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:209 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:211 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:213 +msgid "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:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po index 3c5a68453..c01b54bce 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po @@ -8,60 +8,60 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:1 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:10 msgid "Setting up Postmoogle email bridging (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:3 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:12 msgid "The playbook can install and configure [Postmoogle](https://github.com/etkecc/postmoogle) for you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:5 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:14 msgid "Postmoogle is a bridge you can use to have its bot user forward emails to Matrix rooms. It runs an SMTP email server and allows you to assign mailbox addresses to the rooms." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:7 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:16 msgid "See the project's [documentation](https://github.com/etkecc/postmoogle/blob/master/README.md) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:9 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:18 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:11 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:20 msgid "Open the following ports on your server to be able to receive incoming emails:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:13 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:22 msgid "`25/tcp`: SMTP" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:14 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:23 msgid "`587/tcp`: Submission (TLS-encrypted SMTP)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:16 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:25 msgid "If you don't open these ports, you will still be able to send emails, but not receive any." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:18 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:27 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:20 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:29 msgid "Adjusting DNS records" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:22 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:31 msgid "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." msgstr "" @@ -137,90 +137,94 @@ msgstr "" msgid "get it from `!pm dkim`" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:31 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:40 msgid "**Note**: the DKIM record can be retrieved after configuring and installing the bridge's bot." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:33 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:42 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:35 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:44 msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:56 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:65 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:58 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:67 msgid "There are some additional things you may wish to configure about the bridge." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:60 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:69 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:62 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:71 msgid "`roles/custom/matrix-bridge-postmoogle/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:64 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:73 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:66 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:75 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:73 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:82 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:75 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:84 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create a user account of the bridge's bot." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:77 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:86 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:79 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:88 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:81 -msgid "If you change the bridge's bot password (`matrix_postmoogle_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_postmoogle_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:90 +msgid "If you change the bridge's bot password (`matrix_postmoogle_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_postmoogle_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:83 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:92 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:85 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:94 msgid "To use the bridge, invite the `@postmoogle:example.com` bot user into a room you want to use as a mailbox." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:87 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:96 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:89 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:98 msgid "Send `!pm help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:91 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:100 msgid "You can also refer to the upstream [documentation](https://github.com/etkecc/postmoogle)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:93 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:102 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:95 -msgid "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`" +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:104 +msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:97 -msgid "The default logging level for this bridge is `INFO`, but you can increase it to `DEBUG` with the following additional configuration:" +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:106 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:108 +msgid "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:" msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-element-admin.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-element-admin.po new file mode 100644 index 000000000..b76d5f2a0 --- /dev/null +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-element-admin.po @@ -0,0 +1,118 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community +# members +# This file is distributed under the same license as the +# matrix-docker-ansible-deploy package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: bg\n" +"Language-Team: bg \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../../docs/configuring-playbook-element-admin.md:8 +msgid "Setting up Element Admin (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:10 +msgid "The playbook can install and configure [Element Admin](https://github.com/element-hq/element-admin) for you." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:12 +msgid "Element Admin is a web-based administration panel for Synapse and [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:14 +msgid "See the project's [documentation](https://github.com/element-hq/element-admin) to learn more." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:16 +msgid "💡 **Note**: This project is still very young and doesn't have many features. [Ketesa](./configuring-playbook-ketesa.md) is the fully-featured alternative — it covers all Synapse and MAS Admin APIs, including complete user management, session management, and MAS policy data. Element Admin remains a valid choice if you prefer its interface." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:18 +msgid "Prerequisites" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:20 +msgid "A [Synapse](configuring-playbook-synapse.md) homeserver with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:21 +msgid "[Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:23 +msgid "Decide on a domain and path" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:25 +msgid "By default, the Element Admin is configured to be served on the `admin.element.example.com` domain." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:27 +msgid "If you'd like to run Element Admin on another hostname, see the [Adjusting the Element Admin URL](#adjusting-the-element-admin-url-optional) section below." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:29 +msgid "Adjusting DNS records (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:31 +msgid "By default, this playbook installs Element Admin on the `admin.element.` subdomain (`admin.element.example.com`) and requires you to create a `CNAME` record for `admin.element`, which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:33 +msgid "When setting these values, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:35 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:37 +msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:43 +msgid "Adjusting the Element Admin URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:45 +msgid "By tweaking the `matrix_element_admin_hostname` variable, you can easily make the service available at a **different hostname** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:47 +msgid "Example additional configuration for your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:53 +msgid "[!WARNING] A `matrix_element_admin_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Admin service, but **Element Admin does not support running under a sub-path yet**." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:56 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:58 +msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:65 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:67 +msgid "`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." +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-ketesa.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-ketesa.po new file mode 100644 index 000000000..5fcb09741 --- /dev/null +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-ketesa.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community +# members +# This file is distributed under the same license as the +# matrix-docker-ansible-deploy package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 12:02+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: bg\n" +"Language-Team: bg \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../../docs/configuring-playbook-ketesa.md:14 +msgid "Setting up Ketesa (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:16 +msgid "The playbook can install and configure [Ketesa](https://github.com/etkecc/ketesa) for you." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:18 +msgid "Ketesa is a fully-featured admin interface for Matrix homeservers — manage users, rooms, media, sessions, and more from one clean, responsive web UI. It is the evolution of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin): what began as a fork has grown into its own independent project with a redesigned interface, comprehensive Synapse and MAS API coverage, and multi-language support." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:20 +msgid "[!NOTE]" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:22 +msgid "Ketesa does not work with other homeserver implementations than Synapse due to API's incompatibility." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:23 +msgid "The latest version of Ketesa is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:24 +msgid "This playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). Please note that it's currently less feature-rich than Ketesa and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:26 +msgid "Adjusting DNS records (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:28 +msgid "By default, this playbook installs Ketesa on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin) — the legacy path is kept for backward compatibility. 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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:30 +msgid "If you wish to adjust it, see the section [below](#adjusting-the-ketesa-url-optional) for details about DNS configuration." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:32 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:34 +msgid "To enable Ketesa, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:40 +msgid "**Note**: Ketesa requires Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) to function. Access to them is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, for additional security, we normally leave them unexposed, following [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). Because Ketesa needs these APIs to function, when installing Ketesa, the playbook **automatically** exposes the Synapse Admin API publicly for you. Depending on the homeserver implementation you're using (Synapse, Dendrite), this is equivalent to:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:42 +msgid "for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:43 +msgid "for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:45 +msgid "By default, Ketesa installation will be [restricted to only work with one homeserver](https://github.com/etkecc/ketesa/blob/main/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_ketesa_config_restrictBaseUrl` variable." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:47 +msgid "Adjusting the Ketesa URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:49 +msgid "By tweaking the `matrix_ketesa_hostname` and `matrix_ketesa_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:51 +msgid "We recommend updating the path prefix to `/ketesa` to align with the new branding, while the default `/synapse-admin` is kept for backward compatibility:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:57 +msgid "Or to change the hostname entirely:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:65 +msgid "If you've changed the default hostname, you may need to create a CNAME record for the Ketesa domain (`admin.example.com`), which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:67 +msgid "When setting, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:69 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:71 +msgid "There are some additional things you may wish to configure about the component." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:73 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:75 +msgid "`roles/custom/matrix-ketesa/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_ketesa_configuration_extension_json` variable" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:77 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:79 +msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:86 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:88 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:90 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:92 +msgid "After installation, Ketesa will be accessible at: `https://matrix.example.com/synapse-admin/` (or `/ketesa/` if you updated the path prefix as recommended)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:94 +msgid "To use Ketesa, you need to have [registered at least one administrator account](registering-users.md) on your server." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:96 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:98 +msgid "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-ketesa`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:100 +msgid "If you have questions, you can join this community room and feel free to ask: [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc)" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po index 554766af6..23112f83e 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,150 +19,134 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:1 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:8 msgid "Setting up Matrix Authentication Service (optional)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:3 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:10 msgid "The playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) — a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:5 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:12 msgid "Matrix Authentication Service is an implementation of [MSC3861: Next-generation auth for Matrix, based on OAuth 2.0/OIDC](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and still work in progress, tracked at the [areweoidcyet.com](https://areweoidcyet.com/) website." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:7 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:14 msgid "**Before going through with starting to use Matrix Authentication Service**, make sure to read:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:9 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:16 msgid "the [Reasons to use Matrix Authentication Service](#reasons-to-use-matrix-authentication-service) section below" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:10 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:17 msgid "the [Expectations](#expectations) section below" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:11 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:18 msgid "the [FAQ section on areweoidcyet.com](https://areweoidcyet.com/#faqs)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:13 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:20 msgid "**If you've already been using Synapse** and have user accounts in its database, you can [migrate to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:15 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:22 msgid "Reasons to use Matrix Authentication Service" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:17 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:24 msgid "You may be wondering whether you should make the switch to Matrix Authentication Service (MAS) or keep using your existing authentication flow via Synapse (password-based or [OIDC](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)-enabled)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:19 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:26 msgid "Matrix Authentication Service is **still an experimental service** and **not a default** for this Ansible playbook." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:21 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:28 msgid "The [Expectations](#expectations) section contains a list of what works and what doesn't (**some services don't work with MAS yet**), as well as the **relative irreversability** of the migration process." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:23 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:30 msgid "Below, we'll try to **highlight some potential reasons for switching** to Matrix Authentication Service:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:25 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:32 msgid "To use SSO in [Element X](https://element.io/blog/element-x-ignition/). The old [Synapse OIDC](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on) login flow is only supported in old Element clients and will not be supported in Element X. Element X will only support the new SSO-based login flow provided by MAS, so if you want to use SSO with Element X, you will need to switch to MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:27 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:34 msgid "To help drive adoption of the \"Next-generation auth for Matrix\" by switching to what's ultimately coming anyway" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:29 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:36 msgid "To help discover (and potentially fix) MAS integration issues with this Ansible playbook" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:31 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:38 msgid "To help discover (and potentially fix) MAS integration issues with various other Matrix components (bridges, bots, clients, etc.)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:33 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:40 msgid "To reap some of the security benefits that Matrix Authentication Service offers, as outlined in the [Better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/) article." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:35 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:42 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:37 -msgid "⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:44 +msgid "⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:39 -msgid "⚠️ **email sending** configured (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:41 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:46 msgid "❌ **disabling all password providers** for Synapse (things like [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc.) More details about this are available in the [Expectations](#expectations) section below." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:43 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:48 msgid "Expectations" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:45 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:50 msgid "This section details what you can expect when switching to the Matrix Authentication Service (MAS)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:47 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:52 msgid "❌ **Synapse password providers will need to be disabled**. You can no longer use [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc. When the authentication flow is handled by MAS (not by Synapse anymore), it doesn't make sense to extend the Synapse authentication flow with additional modules. Many bridges used to rely on shared-secret-auth for doing double-puppeting (impersonating other users), but most (at least the mautrix bridges) nowadays use [Appservice Double Puppet](./configuring-playbook-appservice-double-puppet.md) as a better alternative. Older/maintained bridges may still rely on shared-secret-auth, as do other services like [matrix-corporal](./configuring-playbook-matrix-corporal.md)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:49 -msgid "❌ Certain **tools like [synapse-admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. synapse-admin already supports [login with access token](https://github.com/etkecc/synapse-admin/pull/58), browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which synapse-admin cannot interact with yet." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:54 +msgid "✅ **[Ketesa](./configuring-playbook-ketesa.md) has full MAS integration**. Ketesa supports OIDC auth, user management, all session types (browser, OAuth2, compatibility), linked email addresses, upstream OAuth provider links, MAS policy data, and user creation through MAS. It is the recommended tool for managing homeservers running MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:51 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:56 msgid "❌ **Some services experience issues when authenticating via MAS**:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:53 -msgid "[Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:55 -msgid "cannot initialize matrix bot error=\"olm account is marked as shared, keys seem to have disappeared from the server\"" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:57 -msgid "[matrix-reminder-bot](./configuring-playbook-bot-matrix-reminder-bot.md) fails to start (see [element-hq/matrix-authentication-service#3439](https://github.com/element-hq/matrix-authentication-service/issues/3439))" -msgstr "" - #: ../../../docs/configuring-playbook-matrix-authentication-service.md:58 -msgid "Other services may be similarly affected. This list is not exhaustive." +msgid "[Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:60 -msgid "❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting)." +msgid "[Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:62 -msgid "⚠️ **You will need to have email sending configured** (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working." +msgid "cannot initialize matrix bot error=\"olm account is marked as shared, keys seem to have disappeared from the server\"" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:64 -msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." +msgid "❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting)." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:66 -msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the \"admin\" flag for users (as found in the Synapse database). All users are imported as non-admin — see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`)" +msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:68 -msgid "⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependant on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch." +msgid "⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependent on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:70 @@ -182,7 +166,7 @@ msgid "✅ Various clients ([Cinny](./configuring-playbook-client-cinny.md), [El msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:78 -msgid "✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work. Going through the old login flow does not require users to have a verified email address, as [is the case](https://github.com/element-hq/matrix-authentication-service/issues/1505) for the new SSO-based login flow." +msgid "✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:80 @@ -210,7 +194,7 @@ msgid "Existing homeserver" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:92 -msgid "Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet." +msgid "Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:94 @@ -298,326 +282,346 @@ msgstr "" msgid "The playbook exposes a `matrix_authentication_service_config_upstream_oauth2_providers` variable for controlling this setting." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:269 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:273 msgid "💡 Refer to the [`upstream_oauth2.providers` setting](https://element-hq.github.io/matrix-authentication-service/reference/configuration.html#upstream_oauth2providers) for the most up-to-date schema and example for providers. The value shown above here may be out of date." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:271 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:275 msgid "⚠️ The syntax for existing [OIDC providers configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on) is slightly different, so you will need to adjust your configuration when switching from Synapse OIDC to MAS upstream OAuth2." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:273 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:277 msgid "⚠️ When [migrating an existing homeserver](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) which contains OIDC-sourced users, you will need to:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:275 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:279 msgid "[Configure upstream OIDC provider mapping for syn2mas](#configuring-upstream-oidc-provider-mapping-for-syn2mas)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:276 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:280 msgid "go through the [migrating an existing homeserver](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) process" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:277 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:281 msgid "remove all Synapse OIDC-related configuration (`matrix_synapse_oidc_*`) to prevent it being in conflict with the MAS OIDC configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:279 -msgid "Installing" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:283 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:281 -msgid "Now that you've [adjusted the playbook configuration](#adjusting-the-playbook-configuration) and [your DNS records](#adjusting-dns-records), you can run the playbook with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:285 +msgid "There are some additional things you may wish to configure about the component." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:288 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:287 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:289 +msgid "`roles/custom/matrix-authentication-service/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:290 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgid "`roles/custom/matrix-authentication-service/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_authentication_service_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:292 -msgid "`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." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:294 +msgid "Now that you've [adjusted the playbook configuration](#adjusting-the-playbook-configuration) and [your DNS records](#adjusting-dns-records), you can run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:301 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:303 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:305 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:307 msgid "If you're in the process of migrating an existing Synapse homeserver to MAS, you should now follow the rest of the steps in the [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) guide." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:296 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:309 msgid "💡 After installation, you should [verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:298 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:311 msgid "Migrating an existing Synapse homeserver to Matrix Authentication Service" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:300 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:313 msgid "Our migration guide is loosely based on the upstream [Migrating an existing homeserver](https://element-hq.github.io/matrix-authentication-service/setup/migration.html) guide." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:302 -msgid "Migration is done via a tool called `syn2mas`, which the playbook could run for you (in a container)." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:315 +msgid "Migration is done via a sub-command called `syn2mas`, which the playbook could run for you (in a container)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:304 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:317 msgid "The installation + migration steps are like this:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:306 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:319 msgid "[Adjust your configuration](#adjusting-the-playbook-configuration) to **disable the integration between the homeserver and MAS**. This is done by **uncommenting** the `matrix_authentication_service_migration_in_progress: true` line." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:308 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:321 msgid "Perform the initial [installation](#installing). At this point:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:310 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:323 msgid "Matrix Authentication Service will be installed. Its database will be empty, so it cannot validate existing access tokens or authentication users yet." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:312 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:325 msgid "The homeserver will still continue to use its local database for validating existing access tokens." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:314 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:327 msgid "Various [compatibility layer URLs](https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#set-up-the-compatibility-layer) are not yet installed. New login sessions will still be forwarded to the homeserver, which is capable of completing them." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:316 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:329 msgid "The `matrix-user-creator` role would be suppressed, so that it doesn't automatically attempt to create users (for bots, etc.) in the MAS database. These user accounts likely already exist in Synapse's user database and could be migrated over (via syn2mas, as per the steps below), so creating them in the MAS database would have been unnecessary and potentially problematic (conflicts during the syn2mas migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:318 -msgid "Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration tool does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:331 +msgid "Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration command does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:320 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:333 msgid "[Migrate your data from Synapse to Matrix Authentication Service using syn2mas](#migrate-your-data-from-synapse-to-matrix-authentication-service-using-syn2mas)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:322 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:335 msgid "[Adjust your configuration](#adjusting-the-playbook-configuration) again, to:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:324 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:337 msgid "remove the `matrix_authentication_service_migration_in_progress: false` line" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:326 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:339 msgid "if you had been using [OIDC providers configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), remove all Synapse OIDC-related configuration (`matrix_synapse_oidc_*`) to prevent it being in conflict with the MAS OIDC configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:328 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:341 msgid "Perform the [installation](#installing) again. At this point:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:330 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:343 msgid "The homeserver will start delegating authentication to MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:332 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:345 msgid "The compatibility layer URLs will be installed. New login sessions will be completed by MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:334 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:347 msgid "[Verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:336 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:349 msgid "Migrate your data from Synapse to Matrix Authentication Service using syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:338 -msgid "We **don't** ask you to [run the `syn2mas` migration advisor command](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#run-the-migration-advisor), because it only gives you the green light if your Synapse configuration (`homeserver.yaml`) is configured in a way that's compatible with MAS (delegating authentication to MAS; disabling Synapse's password config; etc.). Until we migrate your data with the `syn2mas` tool, we intentionally avoid doing these changes to allow existing user sessions to work." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:340 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:351 msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:342 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:353 msgid "Configuring syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:344 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:355 msgid "If you're using [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), you will need to [Configuring upstream OIDC provider mapping for syn2mas](#configuring-upstream-oidc-provider-mapping-for-syn2mas)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:346 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:357 msgid "If you only have local (non-OIDC) users in your Synapse database, you can likely run `syn2mas` as-is (without doing additional configuration changes)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:348 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:359 msgid "When you're done with potentially configuring `syn2mas`, proceed to doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:350 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:361 msgid "Configuring upstream OIDC provider mapping for syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:352 -msgid "If you have existing OIDC users in your Synapse user database (which will be the case if when using [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)), you may need to pass an additional `--upstreamProviderMapping` argument to the `syn2mas` tool to tell it which provider (on the Synapse side) maps to which other provider on the MAS side." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:363 +msgid "Since Matrix Authentication Service v0.16.0 (which replaced the standalone `syn2mas` tool with a `mas-cli syn2mas` sub-command), OIDC configuration (mapping from your old OIDC configuration to your new one, etc) is meant to be configured in the Matrix Authentication Service configuration (via `matrix_authentication_service_config_upstream_oauth2_providers`) as a `synapse_idp_id` property for each provider." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:354 -msgid "If you don't do this, `syn2mas` would report errors like this one:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:365 +msgid "You can refer to the [Map any upstream SSO providers](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#map-any-upstream-sso-providers) section of the MAS documentation for figuring out how to set the `synapse_idp_id` value in `matrix_authentication_service_config_upstream_oauth2_providers` correctly." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:356 -msgid "[FATAL] migrate - [Failed to import external id 4264b0f0-4f11-4ddd-aedb-b500e4d07c25 with oidc-keycloak for user @alice:example.com: Error: Unknown upstream provider oidc-keycloak]" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:358 -msgid "Below is an example situation and a guide for how to solve it." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:360 -msgid "If in `matrix_synapse_oidc_providers` your provider `idp_id` is (was) named `keycloak`, in the Synapse database users would be associated with the `oidc-keycloak` provider (note the `oidc-` prefix that was added automatically by Synapse to your `idp_id` value)." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:362 -msgid "The same OIDC provider may have an `id` of `01HFVBY12TMNTYTBV8W921M5FA` on the MAS side, as defined in `matrix_authentication_service_config_upstream_oauth2_providers` (see the [Upstream OAuth2 configuration](#upstream-oauth2-configuration) section above)." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:364 -msgid "To tell `syn2mas` how the Synapse-configured OIDC provider maps to the new MAS-configured OIDC provider, add this additional configuration to your `vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:373 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:367 msgid "Performing a syn2mas dry-run" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:375 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:369 msgid "Having [configured syn2mas](#configuring-syn2mas), we recommend doing a [dry-run](https://en.wikipedia.org/wiki/Dry_run_(testing)) first to verify that everything will work out as expected." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:377 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:371 msgid "A dry-run would not cause downtime, because it avoids stopping Synapse." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:379 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:373 msgid "To perform a dry-run, run:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:385 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:379 msgid "Observe the command output (especially the last line of the the syn2mas output). If you are confident that the migration will work out as expected, you can proceed with a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:387 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:381 msgid "Performing a real syn2mas migration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:389 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:383 msgid "Before performing a real migration make sure:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:391 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:385 msgid "you've familiarized yourself with the [expectations](#expectations)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:393 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:387 msgid "you've performed a Postgres backup, just in case" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:395 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:389 msgid "you're aware of the irreversibility of the migration process without disruption after users have created new login sessions via the new MAS setup" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:397 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:391 msgid "you've [configured syn2mas](#configuring-syn2mas), especially if you've used [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:399 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:393 msgid "you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and don't see any issues in its output" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:395 msgid "To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407 -msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors for users that were already migrated (e.g. \"Error: Unknown upstream provider oauth-delegated\")." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401 +msgid "After `syn2mas` completes, Synapse will intentionally remain stopped to avoid new registrations or other authentication changes from being accepted before the migration is completed. Continue with the next steps in this guide before re-running the installation." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:409 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:403 +msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors (e.g. \"Error: The MAS database is not empty: rows found in at least `users`. Please drop and recreate the database, then try again.\")." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:405 msgid "Verify that Matrix Authentication Service is installed correctly" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:411 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407 msgid "After [installation](#installing), run the `doctor` subcommand of the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) to verify that MAS is installed correctly." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:413 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:409 msgid "You can do it:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:415 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:411 msgid "either via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag: `just run-tags matrix-authentication-service-mas-cli-doctor`" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:417 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:413 msgid "or by running the `mas-cli` script on the server (which invokes the `mas-cli` tool inside a container): `/matrix/matrix-authentication-service/bin/mas-cli doctor`" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:419 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:415 msgid "If successful, you should see some output that looks like this:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:427 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:429 msgid "Management" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 msgid "You can use the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) (exposed via the `/matrix/matrix-authentication-service/bin/mas-cli` script) to perform administrative tasks against MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 msgid "This documentation page already mentions:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 msgid "the `mas-cli doctor` sub-command in the [Verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly) section, which you can run via the CLI and via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 msgid "the `mas-cli manage register-user` sub-command in the [Registering users](./registering-users.md) documentation" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 msgid "There are other sub-commands available. Run `/matrix/matrix-authentication-service/bin/mas-cli` to get an overview." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 msgid "User registration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 msgid "After Matrix Authentication Service is [installed](#installing), users need to be managed there (unless you're managing them in an [upstream OAuth2 provider](#upstream-oauth2-configuration))." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 msgid "You can register users new users as described in the [Registering users](./registering-users.md) documentation (via `mas-cli manage register-user` or the Ansible playbook's `register-user` tag)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 msgid "Working around email deliverability issues" msgstr "" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 +msgid "Matrix Authentication Service only sends emails when:" +msgstr "" + #: ../../../docs/configuring-playbook-matrix-authentication-service.md:451 -msgid "Because Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user, you may need to work around email deliverability issues if [your email-sending configuration](./configuring-playbook-email.md) is not working." +msgid "it verifies email addresses for users who are self-registering with a password" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:453 -msgid "Matrix Authentication Service attempts to verify email addresses by sending a verification email to the address specified by the user whenever they log in to an account without a verified email address." +msgid "a user tries to add an email to their account" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:455 -msgid "If email delivery is not working, **you can retrieve the email configuration code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`)." +msgid "If Matrix Authentication Service tries to send an email and it fails because [your email-sending configuration](./configuring-playbook-email.md) is not working, you may need to work around email deliverability." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:457 +msgid "If email delivery is not working, **you can retrieve the email verification code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`)." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:459 msgid "Alternatively, you can use the [`mas-cli` management tool](#management) to manually verify email addresses for users. Example: `/matrix/matrix-authentication-service/bin/mas-cli manage verify-email some.username email@example.com`" msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:461 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:463 +msgid "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-authentication-service`." +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-synapse.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-synapse.po index 579bd895c..280cb6a51 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-synapse.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook-synapse.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,261 +19,305 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-synapse.md:1 +#: ../../../docs/configuring-playbook-synapse.md:12 msgid "Configuring Synapse (optional)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:3 +#: ../../../docs/configuring-playbook-synapse.md:14 msgid "By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, so that it works for the general case. If that's okay, you can skip this document." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:5 +#: ../../../docs/configuring-playbook-synapse.md:16 +msgid "💡 See this page for details about maintaining Synapse: [Synapse maintenance](maintenance-synapse.md)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:18 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:7 +#: ../../../docs/configuring-playbook-synapse.md:20 msgid "Load balancing with workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:9 +#: ../../../docs/configuring-playbook-synapse.md:22 msgid "To have Synapse gracefully handle thousands of users, worker support should be enabled. It factors out some homeserver tasks and spreads the load of incoming client and server-to-server traffic between multiple processes. More information can be found in the [official Synapse workers documentation](https://github.com/element-hq/synapse/blob/master/docs/workers.md) and [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:11 +#: ../../../docs/configuring-playbook-synapse.md:24 msgid "To enable Synapse worker support, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:19 +#: ../../../docs/configuring-playbook-synapse.md:32 msgid "By default, this enables the `one-of-each` [worker preset](#worker-presets), but you may wish to use another preset or [control the number of worker instances](#controlling-the-number-of-worker-instances)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:21 +#: ../../../docs/configuring-playbook-synapse.md:34 msgid "Worker presets" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:23 +#: ../../../docs/configuring-playbook-synapse.md:36 msgid "We support a few configuration presets (`matrix_synapse_workers_preset: one-of-each` being the default configuration right now):" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:25 +#: ../../../docs/configuring-playbook-synapse.md:38 msgid "(federation-only) `little-federation-helper` — a very minimal worker configuration to improve federation performance" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:26 +#: ../../../docs/configuring-playbook-synapse.md:39 msgid "(generic) `one-of-each` — defaults to one worker of each supported type — no smart routing, just generic workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:27 +#: ../../../docs/configuring-playbook-synapse.md:40 msgid "(specialized) `specialized-workers` — defaults to one worker of each supported type, but disables generic workers and uses [specialized workers](#specialized-workers) instead" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:29 +#: ../../../docs/configuring-playbook-synapse.md:42 msgid "These presets represent a few common configurations. There are many worker types which can be mixed and matched based on your needs." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:31 +#: ../../../docs/configuring-playbook-synapse.md:44 msgid "Generic workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:33 +#: ../../../docs/configuring-playbook-synapse.md:46 msgid "Previously, the playbook only supported the most basic type of load-balancing. We call it **generic load-balancing** below, because incoming HTTP requests are sent to a generic worker. Load-balancing was done based on the requestor's IP address. This is simple, but not necessarily optimal. If you're accessing your account from multiple IP addresses (e.g. your mobile phone being on a different network than your PC), these separate requests may potentially be routed to different workers, each of which would need to cache roughly the same data." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:35 +#: ../../../docs/configuring-playbook-synapse.md:48 msgid "This is **still the default load-balancing method (preset) used by the playbook**." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:37 +#: ../../../docs/configuring-playbook-synapse.md:50 msgid "To use generic load-balancing, do not specify `matrix_synapse_workers_preset` to make it use the default value (`one-of-each`), or better yet — explicitly set it as `one-of-each`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:39 +#: ../../../docs/configuring-playbook-synapse.md:52 msgid "You may also consider [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:41 +#: ../../../docs/configuring-playbook-synapse.md:54 msgid "Specialized workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:43 -msgid "The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requestor's IP adddress, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requestor and/or on the resource (room, etc.) being requested." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:45 -msgid "The playbook supports these **4 types** of specialized workers:" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:47 -msgid "Room workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:48 -msgid "Sync workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync))" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:49 -msgid "Client readers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**)" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:50 -msgid "Federation readers — handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**)" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:52 -msgid "To use specialized load-balancing, consider enabling the `specialized-workers` [worker preset](#worker-presets) and potentially [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:54 -msgid "Controlling the number of worker instances" -msgstr "" - #: ../../../docs/configuring-playbook-synapse.md:56 -msgid "If you'd like more customization power, you can start with one of the [worker presets](#worker-presets) and then tweak various `matrix_synapse_workers_*_count` variables manually." +msgid "The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requester's IP address, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requester and/or on the resource (room, etc.) being requested." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:58 -msgid "To find what variables are available for you to override in your own `vars.yml` configuration file, see the [`defaults/main.yml` file for the `matrix-synapse` Ansible role](../roles/custom/matrix-synapse/defaults/main.yml)." +msgid "The playbook supports these **4 types** of specialized workers:" msgstr "" #: ../../../docs/configuring-playbook-synapse.md:60 -msgid "The only thing you **cannot** do is mix [generic workers](#generic-workers) and [specialized workers](#specialized-workers)." +msgid "Room workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:61 +msgid "Sync workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync))" msgstr "" #: ../../../docs/configuring-playbook-synapse.md:62 +msgid "Client readers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:63 +msgid "Federation readers — handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:65 +msgid "To use specialized load-balancing, consider enabling the `specialized-workers` [worker preset](#worker-presets) and potentially [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:67 +msgid "Controlling the number of worker instances" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:69 +msgid "If you'd like more customization power, you can start with one of the [worker presets](#worker-presets) and then tweak various `matrix_synapse_workers_*_count` variables manually." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:71 +msgid "To find what variables are available for you to override in your own `vars.yml` configuration file, see the [`defaults/main.yml` file for the `matrix-synapse` Ansible role](../roles/custom/matrix-synapse/defaults/main.yml)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:73 +msgid "The only thing you **cannot** do is mix [generic workers](#generic-workers) and [specialized workers](#specialized-workers)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:75 msgid "Effect of enabling workers on the rest of your server" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:64 +#: ../../../docs/configuring-playbook-synapse.md:77 msgid "When Synapse workers are enabled, the integrated [Postgres database is tuned](maintenance-postgres.md#tuning-postgresql), so that the maximum number of Postgres connections are increased from `200` to `500`. If you need to decrease or increase the number of maximum Postgres connections further, use the `postgres_max_connections` variable." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:66 -msgid "A separate Ansible role (`matrix-synapse-reverse-proxy-companion`) and component handles load-balancing for workers. This role/component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." +#: ../../../docs/configuring-playbook-synapse.md:79 +msgid "The `matrix-synapse` role also manages the `matrix-synapse-reverse-proxy-companion` component for load-balancing with workers. This component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:68 +#: ../../../docs/configuring-playbook-synapse.md:81 msgid "In case any problems occur, make sure to have a look at the [list of synapse issues about workers](https://github.com/element-hq/synapse/issues?q=workers+in%3Atitle) and your `journalctl --unit 'matrix-*'`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:70 +#: ../../../docs/configuring-playbook-synapse.md:83 +msgid "Limit joining heavy rooms on constrained hosts" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:85 +msgid "If your server is underpowered, joining heavy rooms can cause Synapse to consume a lot of resources and be unavailable for long (while it catches up)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:87 +msgid "To avoid this, Synapse can be configured to reject joins for remote rooms that are too complex before users enter them." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:89 +msgid "Complexity is computed as `current_state_events / 500` (Synapse state event count for current room state). When the resulting value is higher than `matrix_synapse_limit_remote_rooms_complexity` and `matrix_synapse_limit_remote_rooms_enabled` is `true`, Synapse blocks joining the room." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:91 +msgid "We recommend using this as a guardrail on low-resource servers:" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:106 msgid "Synapse + OpenID Connect for Single-Sign-On" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:72 +#: ../../../docs/configuring-playbook-synapse.md:108 msgid "💡 An alternative to setting up OIDC in Synapse is to use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS). Newer clients (like Element X) only support SSO-based authentication via MAS and not via the legacy Synapse OIDC setup described below. That said, MAS is still a new experimental service which comes with its own downsides. Consult its documentation to learn if it will be a good fit for your deployment." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:74 +#: ../../../docs/configuring-playbook-synapse.md:110 msgid "If you'd like to use OpenID Connect authentication with Synapse, you'll need some additional configuration." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:76 +#: ../../../docs/configuring-playbook-synapse.md:112 msgid "This example configuration is for [keycloak](https://www.keycloak.org/), an opensource Identity Provider maintained by Red Hat." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:78 +#: ../../../docs/configuring-playbook-synapse.md:114 msgid "For more detailed documentation on available options and how to setup keycloak, see the [Synapse documentation on OpenID Connect with keycloak](https://github.com/element-hq/synapse/blob/develop/docs/openid.md#keycloak)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:80 -#, python-format +#: ../../../docs/configuring-playbook-synapse.md:116 +#, python-format, python-brace-format msgid "In case you encounter errors regarding the parsing of the variables, you can try to add `{% raw %}` and `{% endraw %}` blocks around them. For example ;" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:101 +#: ../../../docs/configuring-playbook-synapse.md:137 msgid "Customizing templates" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:103 +#: ../../../docs/configuring-playbook-synapse.md:139 msgid "[Templates](https://github.com/element-hq/synapse/blob/develop/docs/templates.md) are used by Synapse for showing **certain web pages** handled by the server, as well as for **email notifications**." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:105 +#: ../../../docs/configuring-playbook-synapse.md:141 msgid "This playbook allows you to customize the default templates (see the [`synapse/res/templates` directory](https://github.com/element-hq/synapse/tree/develop/synapse/res/templates))." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:107 +#: ../../../docs/configuring-playbook-synapse.md:143 msgid "If template customization is enabled, the playbook will build a custom container image based on the official one." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:109 +#: ../../../docs/configuring-playbook-synapse.md:145 msgid "Your custom templates need to live in a public or private git repository. This repository will be cloned during Synapse image customization (during the playbook run)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:111 +#: ../../../docs/configuring-playbook-synapse.md:147 msgid "To enable template customizations, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:137 +#: ../../../docs/configuring-playbook-synapse.md:173 msgid "As mentioned in Synapse's Templates documentation, Synapse will fall back to its own templates if a template is not found in that directory. Due to this, it's recommended to only store and maintain template files in your repository if you need to make custom changes. Other files (which you don't need to change), should not be duplicated, so that you don't need to worry about getting out-of-sync with the original Synapse templates." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:139 +#: ../../../docs/configuring-playbook-synapse.md:175 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:141 +#: ../../../docs/configuring-playbook-synapse.md:177 msgid "There are some additional things you may wish to configure about the server." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:143 +#: ../../../docs/configuring-playbook-synapse.md:179 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:145 +#: ../../../docs/configuring-playbook-synapse.md:181 msgid "`roles/custom/matrix-synapse/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:146 +#: ../../../docs/configuring-playbook-synapse.md:182 msgid "`roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2` for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_synapse_configuration_extension_yaml` variable" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:148 +#: ../../../docs/configuring-playbook-synapse.md:184 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:150 +#: ../../../docs/configuring-playbook-synapse.md:186 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:157 +#: ../../../docs/configuring-playbook-synapse.md:193 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:159 +#: ../../../docs/configuring-playbook-synapse.md:195 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:161 +#: ../../../docs/configuring-playbook-synapse.md:197 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:163 -msgid "Synapse Admin" +#: ../../../docs/configuring-playbook-synapse.md:199 +msgid "Ketesa" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:165 -msgid "With [Synapse Admin](configuring-playbook-synapse-admin.md), certain Synapse administration tasks (managing users and rooms, etc.) can be performed via a web user-interace." +#: ../../../docs/configuring-playbook-synapse.md:201 +msgid "[Ketesa](configuring-playbook-ketesa.md) is a fully-featured web UI for administrating your homeserver — managing users, rooms, media, sessions, and more." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:167 -msgid "The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md)." +#: ../../../docs/configuring-playbook-synapse.md:203 +msgid "The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:169 +#: ../../../docs/configuring-playbook-synapse.md:205 msgid "Monitoring Synapse Metrics with Prometheus and Grafana" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:171 +#: ../../../docs/configuring-playbook-synapse.md:207 msgid "This playbook allows you to enable Synapse metrics, which can provide insight into the performance and activity of Synapse." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:173 -msgid "To enable Synapse runtime metrics see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md)" +#: ../../../docs/configuring-playbook-synapse.md:209 +msgid "To enable Synapse runtime metrics, see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) and [its subsection](configuring-playbook-prometheus-grafana.md#expose-metrics-of-other-services-roles)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:175 +#: ../../../docs/configuring-playbook-synapse.md:211 msgid "To enable Synapse usage metrics, see: [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)" msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:213 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:215 +msgid "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-synapse`." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:217 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:219 +msgid "Because Synapse is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:221 +msgid "If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increase the logging verbosity to `INFO`. To do so, add the following configuration to your `vars.yml` file and re-run the playbook:" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook.po b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook.po index 68873c18e..427a912fe 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/configuring-playbook.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,528 +19,568 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook.md:1 +#: ../../../docs/configuring-playbook.md:17 msgid "Configuring the playbook" msgstr "" -#: ../../../docs/configuring-playbook.md:3 -msgid "[Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:5 -msgid "If you've configured your DNS records and retrieved the playbook's source code to your computer, you can start configuring the playbook. To do so, follow these steps inside the playbook directory:" -msgstr "" - -#: ../../../docs/configuring-playbook.md:7 -msgid "create a directory to hold your configuration (`mkdir -p inventory/host_vars/matrix.example.com` where `example.com` is your \"base domain\")" -msgstr "" - -#: ../../../docs/configuring-playbook.md:9 -msgid "copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:11 -msgid "edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files and see if there's something you'd like to copy over and override in your `vars.yml` configuration file." -msgstr "" - -#: ../../../docs/configuring-playbook.md:13 -msgid "copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:15 -msgid "edit the inventory hosts file (`inventory/hosts`) to your liking" -msgstr "" - -#: ../../../docs/configuring-playbook.md:17 -msgid "(optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system." -msgstr "" - #: ../../../docs/configuring-playbook.md:19 -msgid "(optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh`](../bin/ansible-all-hosts.sh) script [in the installation step](installing.md)." +msgid "[Prerequisites](prerequisites.md) > [Configuring DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md)" msgstr "" #: ../../../docs/configuring-playbook.md:21 -msgid "For a basic Matrix installation, that's all you need." +msgid "If you've configured your DNS records and retrieved the playbook's source code to your computer, you can start configuring the playbook. To do so, follow these steps inside the playbook directory:" msgstr "" #: ../../../docs/configuring-playbook.md:23 -msgid "For a more custom setup, see the [Other configuration options](#other-configuration-options) below." +msgid "create a directory to hold your configuration (`mkdir -p inventory/host_vars/matrix.example.com` where `example.com` is your \"base domain\")" msgstr "" #: ../../../docs/configuring-playbook.md:25 -msgid "[▶️](installing.md) When you're done with all the configuration you'd like to do, continue with [Installing](installing.md)." +msgid "copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`)" msgstr "" #: ../../../docs/configuring-playbook.md:27 -msgid "Other configuration options" +msgid "edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files (after importing external roles with `just update` into `roles/galaxy`) and see if there's something you'd like to copy over and override in your `vars.yml` configuration file." msgstr "" #: ../../../docs/configuring-playbook.md:29 -msgid "**Note**: some of the roles like one for integrating Etherpad or Jitsi are managed by their own repositories, and the configuration files for them cannot be found locally (in `roles/galaxy`) until those roles are fetched from the upstream projects. Check [requirements.yml](../requirements.yml) for the URLs of those roles." +msgid "copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)" msgstr "" #: ../../../docs/configuring-playbook.md:31 -msgid "Core service adjustments" +msgid "edit the inventory hosts file (`inventory/hosts`) to your liking" msgstr "" #: ../../../docs/configuring-playbook.md:33 -msgid "Homeserver configuration:" +msgid "(optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system. The `inventory` directory path is ignored via `.gitignore`, so it won't be part of the playbook repository. You can safely create a new git repository inside that directory with `git init`, etc." msgstr "" -#: ../../../docs/configuring-playbook.md:34 -msgid "[Configuring Synapse](configuring-playbook-synapse.md), if you're going with the default/recommended homeserver implementation" +#: ../../../docs/configuring-playbook.md:35 +msgid "(optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh`](../bin/ansible-all-hosts.sh) script [in the installation step](installing.md)." msgstr "" -#: ../../../docs/configuring-playbook.md:36 -msgid "[Configuring Conduit](configuring-playbook-conduit.md), if you've switched to the [Conduit](https://conduit.rs) homeserver implementation" +#: ../../../docs/configuring-playbook.md:37 +msgid "For a basic Matrix installation, that's all you need." msgstr "" -#: ../../../docs/configuring-playbook.md:38 -msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation" +#: ../../../docs/configuring-playbook.md:39 +msgid "For a more custom setup, see the [Other configuration options](#other-configuration-options) below." msgstr "" -#: ../../../docs/configuring-playbook.md:40 -msgid "[Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation" -msgstr "" - -#: ../../../docs/configuring-playbook.md:42 -msgid "Server components:" +#: ../../../docs/configuring-playbook.md:41 +msgid "[▶️](installing.md) When you're done with all the configuration you'd like to do, continue with [Installing](installing.md)." msgstr "" #: ../../../docs/configuring-playbook.md:43 -msgid "[Using an external PostgreSQL server](configuring-playbook-external-postgres.md)" +msgid "Other configuration options" msgstr "" #: ../../../docs/configuring-playbook.md:45 -msgid "[Configuring a TURN server](configuring-playbook-turn.md) (advanced)" +msgid "**Note**: some of the roles like one for integrating Etherpad or Jitsi are managed by their own repositories, and the configuration files for them cannot be found locally (in `roles/galaxy`) until those roles are fetched from the upstream projects. Check [requirements.yml](../requirements.yml) for the URLs of those roles." msgstr "" #: ../../../docs/configuring-playbook.md:47 -msgid "[Configuring the Traefik reverse-proxy](configuring-playbook-traefik.md) (advanced)" +msgid "Core service adjustments" msgstr "" #: ../../../docs/configuring-playbook.md:49 -msgid "[Using your own webserver, instead of this playbook's Traefik reverse-proxy](configuring-playbook-own-webserver.md) (advanced)" +msgid "Homeserver configuration:" msgstr "" -#: ../../../docs/configuring-playbook.md:51 -msgid "[Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) (advanced)" +#: ../../../docs/configuring-playbook.md:50 +msgid "[Configuring Synapse](configuring-playbook-synapse.md), if you're going with the default/recommended homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:53 -msgid "[Adjusting email-sending settings](configuring-playbook-email.md)" +#: ../../../docs/configuring-playbook.md:52 +msgid "[Configuring Conduit](configuring-playbook-conduit.md), if you've switched to the [Conduit](https://conduit.rs) homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:55 -msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md)" +#: ../../../docs/configuring-playbook.md:54 +msgid "[Configuring continuwuity](configuring-playbook-continuwuity.md), if you've switched to the [continuwuity](https://continuwuity.org) homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:57 -msgid "[Setting up Dynamic DNS](configuring-playbook-dynamic-dns.md)" +#: ../../../docs/configuring-playbook.md:56 +msgid "[Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation" +msgstr "" + +#: ../../../docs/configuring-playbook.md:58 +msgid "Server components:" msgstr "" #: ../../../docs/configuring-playbook.md:59 +msgid "[Using an external PostgreSQL server](configuring-playbook-external-postgres.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:61 +msgid "[Configuring a TURN server](configuring-playbook-turn.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:63 +msgid "[Configuring the Traefik reverse-proxy](configuring-playbook-traefik.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:65 +msgid "[Using your own webserver, instead of this playbook's Traefik reverse-proxy](configuring-playbook-own-webserver.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:67 +msgid "[Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:69 +msgid "[Adjusting email-sending settings](configuring-playbook-email.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:71 +msgid "[Setting up Dynamic DNS](configuring-playbook-dynamic-dns.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:73 msgid "Server connectivity:" msgstr "" -#: ../../../docs/configuring-playbook.md:60 +#: ../../../docs/configuring-playbook.md:74 msgid "[Enabling Telemetry for your Matrix server](configuring-playbook-telemetry.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:62 +#: ../../../docs/configuring-playbook.md:76 msgid "[Controlling Matrix federation](configuring-playbook-federation.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:64 -msgid "Clients" -msgstr "" - -#: ../../../docs/configuring-playbook.md:66 -msgid "Web clients for Matrix that you can host on your own domains." -msgstr "" - -#: ../../../docs/configuring-playbook.md:68 -msgid "[Configuring Element Web](configuring-playbook-client-element-web.md), if you're going with the default/recommended client" -msgstr "" - -#: ../../../docs/configuring-playbook.md:70 -msgid "[Setting up Hydrogen](configuring-playbook-client-hydrogen.md), if you've enabled [Hydrogen](https://github.com/element-hq/hydrogen-web), a lightweight Matrix client with legacy and mobile browser support" -msgstr "" - -#: ../../../docs/configuring-playbook.md:72 -msgid "[Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface" -msgstr "" - -#: ../../../docs/configuring-playbook.md:74 -msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" -msgstr "" - -#: ../../../docs/configuring-playbook.md:76 -msgid "Authentication and user-related" -msgstr "" - #: ../../../docs/configuring-playbook.md:78 -msgid "Extend and modify how users are authenticated on your homeserver." +msgid "[Configuring IPv6](./configuring-ipv6.md)" msgstr "" #: ../../../docs/configuring-playbook.md:80 -msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)" +msgid "Clients" msgstr "" #: ../../../docs/configuring-playbook.md:82 -msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)" +msgid "Web clients for Matrix that you can host on your own domains." msgstr "" #: ../../../docs/configuring-playbook.md:84 -msgid "[Setting up Synapse Admin](configuring-playbook-synapse-admin.md)" +msgid "[Configuring Element Web](configuring-playbook-client-element-web.md), if you're going with the default/recommended client" msgstr "" #: ../../../docs/configuring-playbook.md:86 -msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" +msgid "[Setting up Hydrogen](configuring-playbook-client-hydrogen.md), if you've enabled [Hydrogen](https://github.com/element-hq/hydrogen-web), a lightweight Matrix client with legacy and mobile browser support" msgstr "" #: ../../../docs/configuring-playbook.md:88 -msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" +msgid "[Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface" msgstr "" #: ../../../docs/configuring-playbook.md:90 -msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" +msgid "[Setting up Sable](configuring-playbook-client-sable.md), if you've enabled [Sable](https://github.com/7w1/sable), a web client focusing primarily on simple, elegant and secure interface" msgstr "" #: ../../../docs/configuring-playbook.md:92 -msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" +msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" msgstr "" #: ../../../docs/configuring-playbook.md:94 +msgid "[Setting up FluffyChat Web](configuring-playbook-client-fluffychat-web.md), if you've enabled [FluffyChat Web](https://github.com/krille-chan/fluffychat), a cute cross-platform messenger (web, iOS, Android) for Matrix written in [Flutter](https://flutter.dev/)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:97 +msgid "Authentication and user-related" +msgstr "" + +#: ../../../docs/configuring-playbook.md:99 +msgid "Extend and modify how users are authenticated on your homeserver." +msgstr "" + +#: ../../../docs/configuring-playbook.md:101 +msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:103 +msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:105 +msgid "[Setting up Ketesa](configuring-playbook-ketesa.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:107 +msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:109 +msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:111 +msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:113 +msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:115 msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:96 +#: ../../../docs/configuring-playbook.md:117 msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:98 +#: ../../../docs/configuring-playbook.md:119 msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:100 +#: ../../../docs/configuring-playbook.md:121 msgid "File Storage" msgstr "" -#: ../../../docs/configuring-playbook.md:102 +#: ../../../docs/configuring-playbook.md:123 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" -#: ../../../docs/configuring-playbook.md:104 -msgid "[Storing Matrix media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:106 -msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:108 +#: ../../../docs/configuring-playbook.md:125 msgid "[Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:110 +#: ../../../docs/configuring-playbook.md:127 +msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:129 +msgid "[Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:131 +msgid "[Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:133 msgid "Bridging other networks" msgstr "" -#: ../../../docs/configuring-playbook.md:112 +#: ../../../docs/configuring-playbook.md:135 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" -#: ../../../docs/configuring-playbook.md:114 +#: ../../../docs/configuring-playbook.md:137 msgid "[Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges" msgstr "" -#: ../../../docs/configuring-playbook.md:116 +#: ../../../docs/configuring-playbook.md:139 +msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:141 msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:118 +#: ../../../docs/configuring-playbook.md:143 msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:120 +#: ../../../docs/configuring-playbook.md:145 msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:122 +#: ../../../docs/configuring-playbook.md:147 msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:124 +#: ../../../docs/configuring-playbook.md:149 msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:126 +#: ../../../docs/configuring-playbook.md:151 msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:128 +#: ../../../docs/configuring-playbook.md:153 msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:130 +#: ../../../docs/configuring-playbook.md:155 msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:132 +#: ../../../docs/configuring-playbook.md:157 msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:134 +#: ../../../docs/configuring-playbook.md:159 msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:136 +#: ../../../docs/configuring-playbook.md:161 msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:138 +#: ../../../docs/configuring-playbook.md:163 msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:140 +#: ../../../docs/configuring-playbook.md:165 msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:142 -msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:144 +#: ../../../docs/configuring-playbook.md:167 msgid "[Setting up Appservice Kakaotalk bridging](configuring-playbook-bridge-appservice-kakaotalk.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:146 +#: ../../../docs/configuring-playbook.md:169 msgid "[Setting up Beeper LinkedIn bridging](configuring-playbook-bridge-beeper-linkedin.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:148 +#: ../../../docs/configuring-playbook.md:171 msgid "[Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) — a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira)." msgstr "" -#: ../../../docs/configuring-playbook.md:150 -msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:152 -msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:154 -msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:156 -msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:158 +#: ../../../docs/configuring-playbook.md:173 msgid "[Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:160 +#: ../../../docs/configuring-playbook.md:175 +msgid "[Setting up Steam bridging](configuring-playbook-bridge-steam.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:177 msgid "[Setting up MX Puppet Steam bridging](configuring-playbook-bridge-mx-puppet-steam.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:162 -msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:164 +#: ../../../docs/configuring-playbook.md:179 msgid "[Setting up Postmoogle email bridging](configuring-playbook-bridge-postmoogle.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:166 +#: ../../../docs/configuring-playbook.md:181 msgid "[Setting up Matrix SMS bridging](configuring-playbook-bridge-matrix-bridge-sms.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:168 +#: ../../../docs/configuring-playbook.md:183 msgid "[Setting up Heisenbridge bouncer-style IRC bridging](configuring-playbook-bridge-heisenbridge.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:170 +#: ../../../docs/configuring-playbook.md:185 msgid "[Setting up WeChat bridging](configuring-playbook-bridge-wechat.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:172 +#: ../../../docs/configuring-playbook.md:187 msgid "Bots" msgstr "" -#: ../../../docs/configuring-playbook.md:174 +#: ../../../docs/configuring-playbook.md:189 msgid "Bots provide various additional functionality to your installation." msgstr "" -#: ../../../docs/configuring-playbook.md:176 +#: ../../../docs/configuring-playbook.md:191 msgid "[Setting up baibot](configuring-playbook-bot-baibot.md) — a bot through which you can talk to various [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) services ([OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) and [others](https://github.com/etkecc/baibot/blob/main/docs/providers.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:178 +#: ../../../docs/configuring-playbook.md:193 msgid "[Setting up matrix-reminder-bot](configuring-playbook-bot-matrix-reminder-bot.md) — a bot to remind you about stuff" msgstr "" -#: ../../../docs/configuring-playbook.md:180 +#: ../../../docs/configuring-playbook.md:195 msgid "[Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) — a bot to create and manage registration tokens to invite users" msgstr "" -#: ../../../docs/configuring-playbook.md:182 +#: ../../../docs/configuring-playbook.md:197 msgid "[Setting up maubot](configuring-playbook-bot-maubot.md) — a plugin-based Matrix bot system" msgstr "" -#: ../../../docs/configuring-playbook.md:184 +#: ../../../docs/configuring-playbook.md:199 msgid "[Setting up Honoroit](configuring-playbook-bot-honoroit.md) — a helpdesk bot" msgstr "" -#: ../../../docs/configuring-playbook.md:186 +#: ../../../docs/configuring-playbook.md:201 msgid "[Setting up Mjolnir](configuring-playbook-bot-mjolnir.md) — a moderation tool/bot" msgstr "" -#: ../../../docs/configuring-playbook.md:188 +#: ../../../docs/configuring-playbook.md:203 msgid "[Setting up Draupnir](configuring-playbook-bot-draupnir.md) — a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer" msgstr "" -#: ../../../docs/configuring-playbook.md:190 +#: ../../../docs/configuring-playbook.md:205 msgid "[Setting up Draupnir for all/D4A](configuring-playbook-appservice-draupnir-for-all.md) — like the [Draupnir bot](configuring-playbook-bot-draupnir.md) mentioned above, but running in appservice mode and supporting multiple instances" msgstr "" -#: ../../../docs/configuring-playbook.md:192 +#: ../../../docs/configuring-playbook.md:207 msgid "[Setting up Buscarron](configuring-playbook-bot-buscarron.md) — a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" msgstr "" -#: ../../../docs/configuring-playbook.md:194 +#: ../../../docs/configuring-playbook.md:209 msgid "Administration" msgstr "" -#: ../../../docs/configuring-playbook.md:196 +#: ../../../docs/configuring-playbook.md:211 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" -#: ../../../docs/configuring-playbook.md:198 +#: ../../../docs/configuring-playbook.md:213 msgid "[Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](configuring-playbook-alertmanager-receiver.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:200 +#: ../../../docs/configuring-playbook.md:215 msgid "[Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:202 -msgid "[Enabling metrics and graphs for NginX logs](configuring-playbook-prometheus-nginxlog.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:204 +#: ../../../docs/configuring-playbook.md:217 msgid "[Setting up the rageshake bug report server](configuring-playbook-rageshake.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:206 +#: ../../../docs/configuring-playbook.md:219 msgid "[Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:208 +#: ../../../docs/configuring-playbook.md:221 msgid "Backups:" msgstr "" -#: ../../../docs/configuring-playbook.md:209 +#: ../../../docs/configuring-playbook.md:222 msgid "[Setting up BorgBackup](configuring-playbook-backup-borg.md) — a full Matrix server backup solution, including the Postgres database" msgstr "" -#: ../../../docs/configuring-playbook.md:211 -msgid "[Setting up postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files)" +#: ../../../docs/configuring-playbook.md:224 +msgid "[Setting up Postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files)" msgstr "" -#: ../../../docs/configuring-playbook.md:213 +#: ../../../docs/configuring-playbook.md:226 msgid "Other specialized services" msgstr "" -#: ../../../docs/configuring-playbook.md:215 +#: ../../../docs/configuring-playbook.md:228 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../docs/configuring-playbook.md:217 -msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)" +#: ../../../docs/configuring-playbook.md:230 +msgid "[Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application, built on top of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" msgstr "" -#: ../../../docs/configuring-playbook.md:219 +#: ../../../docs/configuring-playbook.md:232 +msgid "[Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:234 +msgid "[Setting up LiveKit Server](configuring-playbook-livekit-server.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:236 +msgid "[Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:238 msgid "[Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers" msgstr "" -#: ../../../docs/configuring-playbook.md:221 +#: ../../../docs/configuring-playbook.md:240 msgid "[Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:223 +#: ../../../docs/configuring-playbook.md:242 +msgid "[Setting up Matrix.to](configuring-playbook-matrixto.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:244 msgid "[Setting up Etherpad](configuring-playbook-etherpad.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:225 +#: ../../../docs/configuring-playbook.md:246 msgid "[Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:227 +#: ../../../docs/configuring-playbook.md:248 msgid "[Setting up Cactus Comments](configuring-playbook-cactus-comments.md) — a federated comment system built on Matrix" msgstr "" -#: ../../../docs/configuring-playbook.md:229 +#: ../../../docs/configuring-playbook.md:250 msgid "[Setting up Pantalaimon (E2EE aware proxy daemon)](configuring-playbook-pantalaimon.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:231 +#: ../../../docs/configuring-playbook.md:252 msgid "[Setting up the Sygnal push gateway](configuring-playbook-sygnal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:233 +#: ../../../docs/configuring-playbook.md:254 msgid "[Setting up the ntfy push notifications server](configuring-playbook-ntfy.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:235 +#: ../../../docs/configuring-playbook.md:256 msgid "Deprecated / unmaintained / removed services" msgstr "" -#: ../../../docs/configuring-playbook.md:237 +#: ../../../docs/configuring-playbook.md:258 msgid "**Note**: since a deprecated or unmaintained service will not be updated, its bug or vulnerability will be unlikely to get patched. It is recommended to migrate from the service to an alternative if any, and make sure to do your own research before you decide to keep it running nonetheless." msgstr "" -#: ../../../docs/configuring-playbook.md:239 +#: ../../../docs/configuring-playbook.md:260 +msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md) (removed; this component has been abandoned and unmaintained)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:262 msgid "[Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-proxy.md) for clients which require Sliding Sync support (like old Element X versions, before it got switched to Simplified Sliding Sync)" msgstr "" -#: ../../../docs/configuring-playbook.md:241 -msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; 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))" +#: ../../../docs/configuring-playbook.md:264 +msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)" msgstr "" -#: ../../../docs/configuring-playbook.md:243 +#: ../../../docs/configuring-playbook.md:266 +msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; 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))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:268 msgid "[Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:245 -msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (unmaintained; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md))" +#: ../../../docs/configuring-playbook.md:270 +msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:247 -msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md))" +#: ../../../docs/configuring-playbook.md:272 +msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:249 -msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bot-baibot.md))" +#: ../../../docs/configuring-playbook.md:274 +msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025)" msgstr "" -#: ../../../docs/configuring-playbook.md:251 +#: ../../../docs/configuring-playbook.md:276 +msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook.)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:278 +msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:280 msgid "[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:253 -msgid "[Setting up Mautrix Hangouts bridging](configuring-playbook-bridge-mautrix-hangouts.md) (deprecated in favor of the Google Chat bridge with [mautrix-googlechat](configuring-playbook-bridge-mautrix-googlechat.md))" -msgstr "" - -#: ../../../docs/configuring-playbook.md:255 +#: ../../../docs/configuring-playbook.md:282 msgid "[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:257 +#: ../../../docs/configuring-playbook.md:284 +msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:286 +msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:288 msgid "[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md))" msgstr "" + +#: ../../../docs/configuring-playbook.md:290 +msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:292 +msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:294 +msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/container-images.po b/i18n/locales/bg/LC_MESSAGES/docs/container-images.po index e4e665f10..e25bc0a8b 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/container-images.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/container-images.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,21 +19,21 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/container-images.md:1 +#: ../../../docs/container-images.md:18 msgid "Container images used by the playbook" msgstr "" -#: ../../../docs/container-images.md:3 +#: ../../../docs/container-images.md:20 msgid "This page summarizes the container ([Docker](https://www.docker.com/)) images used by the playbook when setting up your server." msgstr "" -#: ../../../docs/container-images.md:5 +#: ../../../docs/container-images.md:22 msgid "We try to stick to official images (provided by their respective projects) as much as possible." msgstr "" -#: ../../../docs/container-images.md:7 +#: ../../../docs/container-images.md:24 msgid "Homeserver" msgstr "" @@ -86,15 +86,15 @@ msgid "Storing your data and managing your presence in the [Matrix](http://matri msgstr "" #: ../../../docs/container-images.md -msgid "[conduwuit](configuring-playbook-conduwuit.md)" +msgid "[continuwuity](configuring-playbook-continuwuity.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit)" +msgid "[continuwuation/continuwuity](https://forgejo.ellis.link/continuwuation/continuwuity)" msgstr "" #: ../../../docs/container-images.md -msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit." +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit." msgstr "" #: ../../../docs/container-images.md @@ -109,11 +109,11 @@ msgstr "" msgid "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." msgstr "" -#: ../../../docs/container-images.md:16 +#: ../../../docs/container-images.md:33 msgid "Clients" msgstr "" -#: ../../../docs/container-images.md:18 +#: ../../../docs/container-images.md:35 msgid "Web clients for Matrix that you can host on your own domains." msgstr "" @@ -153,6 +153,14 @@ msgstr "" msgid "Simple, elegant and secure web client" msgstr "" +#: ../../../docs/container-images.md +msgid "[Sable](configuring-playbook-client-sable.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[7w1/sable](https://ghcr.io/7w1/sable)" +msgstr "" + #: ../../../docs/container-images.md msgid "[SchildiChat Web](configuring-playbook-client-schildichat-web.md)" msgstr "" @@ -165,11 +173,11 @@ msgstr "" msgid "Based on Element Web, with a more traditional instant messaging experience" msgstr "" -#: ../../../docs/container-images.md:27 +#: ../../../docs/container-images.md:45 msgid "Server Components" msgstr "" -#: ../../../docs/container-images.md:29 +#: ../../../docs/container-images.md:47 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -206,7 +214,7 @@ msgid "[Traefik](https://hub.docker.com/_/traefik/)" msgstr "" #: ../../../docs/container-images.md -msgid "Web server, listening on ports 80, 443 and 8448 — standing in front of all the other services. Using your own webserver [is possible](configuring-playbook-own-webserver.md)" +msgid "Web server, listening on ports 80, 443 and 8448 — standing in front of all the other services. [Using your own webserver](configuring-playbook-own-webserver.md) is also possible." msgstr "" #: ../../../docs/container-images.md @@ -218,7 +226,7 @@ msgid "[certbot/certbot](https://hub.docker.com/r/certbot/certbot/)" msgstr "" #: ../../../docs/container-images.md -msgid "The [certbot](https://certbot.eff.org/) tool for obtaining SSL certificates from [Let's Encrypt](https://letsencrypt.org/)" +msgid "[Certbot](https://certbot.eff.org/) tool for obtaining SSL certificates from [Let's Encrypt](https://letsencrypt.org/)" msgstr "" #: ../../../docs/container-images.md @@ -233,18 +241,6 @@ msgstr "" msgid "Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server)" msgstr "" -#: ../../../docs/container-images.md -msgid "[ma1sd](configuring-playbook-ma1sd.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Matrix Identity Server" -msgstr "" - #: ../../../docs/container-images.md msgid "[ddclient](configuring-playbook-dynamic-dns.md)" msgstr "" @@ -257,11 +253,35 @@ msgstr "" msgid "Update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider" msgstr "" -#: ../../../docs/container-images.md:41 +#: ../../../docs/container-images.md +msgid "[LiveKit Server](configuring-playbook-livekit-server.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[livekit/livekit-server](https://hub.docker.com/r/livekit/livekit-server/)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "WebRTC server for audio/video calls" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[Livekit JWT Service](configuring-playbook-livekit-jwt-service.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[element-hq/lk-jwt-service](https://ghcr.io/element-hq/lk-jwt-service)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md)" +msgstr "" + +#: ../../../docs/container-images.md:60 msgid "Authentication" msgstr "" -#: ../../../docs/container-images.md:43 +#: ../../../docs/container-images.md:62 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" @@ -302,7 +322,7 @@ msgid "[activism.international/matrix_ldap_registration_proxy](https://gitlab.co msgstr "" #: ../../../docs/container-images.md -msgid "A proxy that handles Matrix registration requests and forwards them to LDAP." +msgid "Proxy that handles Matrix registration requests and forwards them to LDAP" msgstr "" #: ../../../docs/container-images.md @@ -314,11 +334,11 @@ msgid "[zeratax/matrix-registration](https://hub.docker.com/r/devture/zeratax-ma msgstr "" #: ../../../docs/container-images.md -msgid "A simple python application to have a token based Matrix registration" +msgid "Simple python application to have a token based Matrix registration" msgstr "" #: ../../../docs/container-images.md -msgid "[Matrix User Verification Service](configuring-playbook-user-verification-service.md) (UVS)" +msgid "[Matrix User Verification Service](configuring-playbook-user-verification-service.md)" msgstr "" #: ../../../docs/container-images.md @@ -334,14 +354,14 @@ msgid "[synapse-simple-antispam](configuring-playbook-synapse-simple-antispam.md msgstr "" #: ../../../docs/container-images.md -msgid "A spam checker module" +msgid "Spam checker module" msgstr "" -#: ../../../docs/container-images.md:55 +#: ../../../docs/container-images.md:74 msgid "File Storage" msgstr "" -#: ../../../docs/container-images.md:57 +#: ../../../docs/container-images.md:76 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" @@ -370,17 +390,29 @@ msgid "[t2bot/matrix-media-repo](https://ghcr.io/t2bot/matrix-media-repo)" msgstr "" #: ../../../docs/container-images.md -msgid "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." +msgid "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." msgstr "" -#: ../../../docs/container-images.md:65 +#: ../../../docs/container-images.md:84 msgid "Bridges" msgstr "" -#: ../../../docs/container-images.md:67 +#: ../../../docs/container-images.md:86 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" +#: ../../../docs/container-images.md +msgid "[mautrix-bluesky](configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mautrix/bluesky](https://mau.dev/mautrix/bluesky/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Bluesky](https://bsky.social/about)" +msgstr "" + #: ../../../docs/container-images.md msgid "[mautrix-discord](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" @@ -549,14 +581,6 @@ msgstr "" msgid "Bridge to [Discord](https://discordapp.com/)" msgstr "" -#: ../../../docs/container-images.md -msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" -msgstr "" - #: ../../../docs/container-images.md msgid "[matrix-hookshot](configuring-playbook-bridge-hookshot.md)" msgstr "" @@ -605,62 +629,6 @@ msgstr "" msgid "Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat)" msgstr "" -#: ../../../docs/container-images.md -msgid "[go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[nodefyme/go-skype-bridge](https://hub.docker.com/r/nodefyme/go-skype-bridge)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Skype](https://www.skype.com)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Slack](https://slack.com)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry)" -msgstr "" - #: ../../../docs/container-images.md msgid "[mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" @@ -673,6 +641,18 @@ msgstr "" msgid "Bridge to [GroupMe](https://groupme.com/)" msgstr "" +#: ../../../docs/container-images.md +msgid "[matrix-steam-bridge](configuring-playbook-bridge-steam.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Steam](https://steampowered.com/)" +msgstr "" + #: ../../../docs/container-images.md msgid "[mx-puppet-steam](configuring-playbook-bridge-mx-puppet-steam.md)" msgstr "" @@ -697,11 +677,11 @@ msgstr "" msgid "Email to Matrix bridge" msgstr "" -#: ../../../docs/container-images.md:99 +#: ../../../docs/container-images.md:114 msgid "Bots" msgstr "" -#: ../../../docs/container-images.md:101 +#: ../../../docs/container-images.md:116 msgid "Bots provide various additional functionality to your installation." msgstr "" @@ -714,7 +694,7 @@ msgid "[etke.cc/baibot](https://ghcr.io/etkecc/baibot)" msgstr "" #: ../../../docs/container-images.md -msgid "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" +msgid "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" msgstr "" #: ../../../docs/container-images.md @@ -750,7 +730,7 @@ msgid "[dock.mau.dev/maubot/maubot](https://mau.dev/maubot/maubot/container_regi msgstr "" #: ../../../docs/container-images.md -msgid "A plugin-based Matrix bot system" +msgid "Plugin-based Matrix bot system" msgstr "" #: ../../../docs/container-images.md @@ -762,7 +742,7 @@ msgid "[etke.cc/honoroit](https://github.com/etkecc/honoroit/container_registry) msgstr "" #: ../../../docs/container-images.md -msgid "A helpdesk bot" +msgid "Helpdesk bot" msgstr "" #: ../../../docs/container-images.md @@ -774,7 +754,7 @@ msgid "[matrixdotorg/mjolnir](https://hub.docker.com/r/matrixdotorg/mjolnir)" msgstr "" #: ../../../docs/container-images.md -msgid "A moderation tool for Matrix" +msgid "Moderation tool for Matrix" msgstr "" #: ../../../docs/container-images.md @@ -786,7 +766,7 @@ msgid "[gnuxie/draupnir](https://hub.docker.com/r/gnuxie/draupnir)" msgstr "" #: ../../../docs/container-images.md -msgid "A moderation tool for Matrix (Fork of Mjolnir)" +msgid "Moderation tool for Matrix (Fork of Mjolnir)" msgstr "" #: ../../../docs/container-images.md @@ -801,11 +781,11 @@ msgstr "" msgid "Web forms (HTTP POST) to Matrix" msgstr "" -#: ../../../docs/container-images.md:114 +#: ../../../docs/container-images.md:129 msgid "Administration" msgstr "" -#: ../../../docs/container-images.md:116 +#: ../../../docs/container-images.md:131 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" @@ -834,15 +814,15 @@ msgid "OAuth 2.0 and OpenID Provider server" msgstr "" #: ../../../docs/container-images.md -msgid "[synapse-admin](configuring-playbook-synapse-admin.md)" +msgid "[ketesa](configuring-playbook-ketesa.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[etke.cc/synapse-admin](https://ghcr.io/etkecc/synapse-admin)" +msgid "[etkecc/ketesa](https://ghcr.io/etkecc/ketesa)" msgstr "" #: ../../../docs/container-images.md -msgid "A web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../docs/container-images.md @@ -874,7 +854,7 @@ msgid "Graphing tool that works well with the above two images. Our playbook als msgstr "" #: ../../../docs/container-images.md -msgid "[Metrics and Graphs](configuring-playbook-prometheus-nginxlog.md)" +msgid "[Metrics and Graphs](configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional)" msgstr "" #: ../../../docs/container-images.md @@ -893,6 +873,18 @@ msgstr "" msgid "Backups" msgstr "" +#: ../../../docs/container-images.md +msgid "[postgres-backup-local](configuring-playbook-postgres-backup.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[prodrigestivill/postgres-backup-local](https://hub.docker.com/r/prodrigestivill/postgres-backup-local)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Create automatic database backups" +msgstr "" + #: ../../../docs/container-images.md msgid "[rageshake](configuring-playbook-rageshake.md)" msgstr "" @@ -913,44 +905,24 @@ msgstr "" msgid "Export the usage statistics of a Synapse homeserver to be scraped by Prometheus." msgstr "" -#: ../../../docs/container-images.md:131 +#: ../../../docs/container-images.md:147 msgid "Misc" msgstr "" -#: ../../../docs/container-images.md:133 +#: ../../../docs/container-images.md:149 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../docs/container-images.md -msgid "[sliding-sync](configuring-playbook-sliding-sync-proxy.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "A Synapse module to automatically accept invites." -msgstr "" - #: ../../../docs/container-images.md msgid "[synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[etke.cc/rust-synapse-compress-state](https://gitlab.com/etke.cc/rust-synapse-compress-state/container_registry)" +msgid "[mb-saces/rust-synapse-tools](https://gitlab.com/mb-saces/rust-synapse-tools/container_registry)" msgstr "" #: ../../../docs/container-images.md -msgid "A cli tool that automatically compresses `state_groups` database table in background." +msgid "Cli tool that automatically compresses Synapse's `state_groups` database table in background" msgstr "" #: ../../../docs/container-images.md @@ -974,7 +946,7 @@ msgid "[etherpad/etherpad](https://hub.docker.com/r/etherpad/etherpad/)" msgstr "" #: ../../../docs/container-images.md -msgid "An open source collaborative text editor" +msgid "Open source collaborative text editor" msgstr "" #: ../../../docs/container-images.md @@ -986,7 +958,7 @@ msgid "[jitsi/web](https://hub.docker.com/r/jitsi/web)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) web UI" +msgid "[Jitsi](https://jitsi.org/) web UI" msgstr "" #: ../../../docs/container-images.md @@ -994,7 +966,7 @@ msgid "[jitsi/jicofo](https://hub.docker.com/r/jitsi/jicofo)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Focus component" +msgid "[Jitsi](https://jitsi.org/) Focus component" msgstr "" #: ../../../docs/container-images.md @@ -1002,7 +974,7 @@ msgid "[jitsi/prosody](https://hub.docker.com/r/jitsi/prosody)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Prosody XMPP server component" +msgid "[Jitsi](https://jitsi.org/) Prosody XMPP server component" msgstr "" #: ../../../docs/container-images.md @@ -1010,7 +982,7 @@ msgid "[jitsi/jvb](https://hub.docker.com/r/jitsi/jvb)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Video Bridge component" +msgid "[Jitsi](https://jitsi.org/) Video Bridge component" msgstr "" #: ../../../docs/container-images.md @@ -1022,7 +994,7 @@ msgid "[cactuscomments/cactus-appservice](https://hub.docker.com/r/cactuscomment msgstr "" #: ../../../docs/container-images.md -msgid "A federated comment system built on Matrix" +msgid "Federated comment system built on Matrix" msgstr "" #: ../../../docs/container-images.md @@ -1038,7 +1010,7 @@ msgid "[matrixdotorg/pantalaimon](https://hub.docker.com/r/matrixdotorg/pantalai msgstr "" #: ../../../docs/container-images.md -msgid "An E2EE aware proxy daemon" +msgid "E2EE aware proxy daemon" msgstr "" #: ../../../docs/container-images.md @@ -1065,24 +1037,36 @@ msgstr "" msgid "Self-hosted, UnifiedPush-compatible push notifications server" msgstr "" -#: ../../../docs/container-images.md:152 +#: ../../../docs/container-images.md +msgid "[Element Call](configuring-playbook-element-call.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[element-hq/element-call](https://ghcr.io/element-hq/element-call)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "A native Matrix video conferencing application" +msgstr "" + +#: ../../../docs/container-images.md:167 msgid "Container images of deprecated / unmaintained services" msgstr "" -#: ../../../docs/container-images.md:154 +#: ../../../docs/container-images.md:169 msgid "The list of the deprecated or unmaintained services is available [here](configuring-playbook.md#deprecated--unmaintained--removed-services)." msgstr "" #: ../../../docs/container-images.md -msgid "[matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md)" +msgid "[conduwuit](configuring-playbook-conduwuit.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[turt2live/matrix-appservice-webhooks](https://hub.docker.com/r/turt2live/matrix-appservice-webhooks)" +msgid "[girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit)" msgstr "" #: ../../../docs/container-images.md -msgid "Bridge for slack compatible webhooks ([ConcourseCI](https://concourse-ci.org/), [Slack](https://slack.com/) etc. pp.)" +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit was a fork of Conduit." msgstr "" #: ../../../docs/container-images.md @@ -1094,7 +1078,7 @@ msgid "[turt2live/matrix-dimension](https://hub.docker.com/r/turt2live/matrix-di msgstr "" #: ../../../docs/container-images.md -msgid "An open source integration manager for Matrix clients" +msgid "Open source integration manager for Matrix clients" msgstr "" #: ../../../docs/container-images.md @@ -1118,7 +1102,39 @@ msgid "[matrixdotorg/go-neb](https://hub.docker.com/r/matrixdotorg/go-neb)" msgstr "" #: ../../../docs/container-images.md -msgid "A multi functional bot written in Go" +msgid "Multi functional bot written in Go" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[ma1sd](configuring-playbook-ma1sd.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Matrix Identity Server" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[turt2live/matrix-appservice-webhooks](https://hub.docker.com/r/turt2live/matrix-appservice-webhooks)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for slack compatible webhooks ([ConcourseCI](https://concourse-ci.org/), [Slack](https://slack.com/) etc. pp.)" msgstr "" #: ../../../docs/container-images.md @@ -1145,18 +1161,6 @@ msgstr "" msgid "Bridge to [Facebook](https://facebook.com/)" msgstr "" -#: ../../../docs/container-images.md -msgid "[mautrix-hangouts](configuring-playbook-bridge-mautrix-hangouts.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mautrix/hangouts](https://mau.dev/mautrix/hangouts/container_registry)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Google Hangouts](https://en.wikipedia.org/wiki/Google_Hangouts)" -msgstr "" - #: ../../../docs/container-images.md msgid "[mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md)" msgstr "" @@ -1168,3 +1172,67 @@ msgstr "" #: ../../../docs/container-images.md msgid "Bridge to [Instagram](https://instagram.com/)" msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Slack](https://slack.com)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sliding-sync](configuring-playbook-sliding-sync-proxy.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Synapse module to automatically accept invites" +msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/registering-users.po b/i18n/locales/bg/LC_MESSAGES/docs/registering-users.po index 6beb19bb6..dc8db7563 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/registering-users.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/registering-users.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,228 +19,225 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/registering-users.md:1 +#: ../../../docs/registering-users.md:11 msgid "Registering users" msgstr "" -#: ../../../docs/registering-users.md:3 +#: ../../../docs/registering-users.md:13 msgid "This documentation page tells you how to create user accounts on your Matrix server." msgstr "" -#: ../../../docs/registering-users.md:5 +#: ../../../docs/registering-users.md:15 msgid "Table of contents:" msgstr "" -#: ../../../docs/registering-users.md:7 +#: ../../../docs/registering-users.md:16 msgid "[Registering users](#registering-users)" msgstr "" -#: ../../../docs/registering-users.md:8 +#: ../../../docs/registering-users.md:17 msgid "[Registering users manually](#registering-users-manually)" msgstr "" -#: ../../../docs/registering-users.md:9 +#: ../../../docs/registering-users.md:18 msgid "[Managing users via a Web UI](#managing-users-via-a-web-ui)" msgstr "" -#: ../../../docs/registering-users.md:10 +#: ../../../docs/registering-users.md:19 msgid "[Letting certain users register on your private server](#letting-certain-users-register-on-your-private-server)" msgstr "" -#: ../../../docs/registering-users.md:11 +#: ../../../docs/registering-users.md:20 msgid "[Enabling public user registration](#enabling-public-user-registration)" msgstr "" -#: ../../../docs/registering-users.md:12 +#: ../../../docs/registering-users.md:21 msgid "[Adding/Removing Administrator privileges to an existing user](#addingremoving-administrator-privileges-to-an-existing-user)" msgstr "" -#: ../../../docs/registering-users.md:14 +#: ../../../docs/registering-users.md:23 msgid "Registering users manually" msgstr "" -#: ../../../docs/registering-users.md:16 ../../../docs/registering-users.md:121 +#: ../../../docs/registering-users.md:25 ../../../docs/registering-users.md:127 msgid "**Notes**:" msgstr "" -#: ../../../docs/registering-users.md:17 +#: ../../../docs/registering-users.md:26 msgid "Make sure to adjust `USERNAME_HERE` and `PASSWORD_HERE`" msgstr "" -#: ../../../docs/registering-users.md:18 +#: ../../../docs/registering-users.md:27 msgid "For `USERNAME_HERE`, use a plain username like `alice`, not a full ID (`@alice:example.com`)" msgstr "" -#: ../../../docs/registering-users.md:19 +#: ../../../docs/registering-users.md:28 msgid "Use `admin=yes` or `admin=no` depending on whether you wish to make the user an administrator of the Matrix server" msgstr "" -#: ../../../docs/registering-users.md:21 +#: ../../../docs/registering-users.md:30 msgid "After registering a user (using one of the methods below), **you can log in with that user** via the [Element Web](configuring-playbook-client-element-web.md) service that this playbook has installed for you at a URL like this: `https://element.example.com/`." msgstr "" -#: ../../../docs/registering-users.md:23 +#: ../../../docs/registering-users.md:32 msgid "Registering users via the Ansible playbook" msgstr "" -#: ../../../docs/registering-users.md:25 +#: ../../../docs/registering-users.md:34 msgid "It's best to register users via the Ansible playbook, because it works regardless of homeserver implementation (Synapse, Dendrite, etc) or usage of [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" -#: ../../../docs/registering-users.md:27 +#: ../../../docs/registering-users.md:36 msgid "To register a user via this Ansible playbook:" msgstr "" -#: ../../../docs/registering-users.md:35 +#: ../../../docs/registering-users.md:44 msgid "**or** by invoking `ansible-playbook` manually:" msgstr "" -#: ../../../docs/registering-users.md:43 +#: ../../../docs/registering-users.md:52 msgid "Feel free to register as many users (for friends, family, etc.) as you want. Still, perhaps you should grant full administrative access to your user account only (with `admin=yes`), and others should be created with `admin=no`." msgstr "" -#: ../../../docs/registering-users.md:45 +#: ../../../docs/registering-users.md:54 msgid "[!WARNING] If you're registering users against Matrix Authentication Service, do note that it [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information." msgstr "" -#: ../../../docs/registering-users.md:48 +#: ../../../docs/registering-users.md:57 msgid "Registering users manually for Synapse" msgstr "" -#: ../../../docs/registering-users.md:50 +#: ../../../docs/registering-users.md:59 msgid "If you're using the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default), you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:58 +#: ../../../docs/registering-users.md:67 msgid "Registering users manually for Dendrite" msgstr "" -#: ../../../docs/registering-users.md:60 +#: ../../../docs/registering-users.md:69 msgid "If you're using the [Dendrite](./configuring-playbook-dendrite.md) homeserver implementation, you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:68 +#: ../../../docs/registering-users.md:77 msgid "Registering users manually for Matrix Authentication Service" msgstr "" -#: ../../../docs/registering-users.md:70 +#: ../../../docs/registering-users.md:79 msgid "If you're using the [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) and your existing homeserver (most likely [Synapse](./configuring-playbook-synapse.md)) is delegating authentication to it, you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:78 +#: ../../../docs/registering-users.md:87 msgid "This `register-user` script actually invokes the `mas-cli manage register-user` command under the hood. If you'd like more control over the registration process, consider invoking the `mas-cli` command directly:" msgstr "" -#: ../../../docs/registering-users.md:84 +#: ../../../docs/registering-users.md:93 msgid "[!WARNING] Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information." msgstr "" -#: ../../../docs/registering-users.md:87 +#: ../../../docs/registering-users.md:96 msgid "Managing users via a Web UI" msgstr "" -#: ../../../docs/registering-users.md:89 -msgid "To manage users more easily (via a web user-interace), you can install [Synapse Admin](configuring-playbook-synapse-admin.md)." -msgstr "" - -#: ../../../docs/registering-users.md:91 -msgid "[!WARNING] If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information." -msgstr "" - -#: ../../../docs/registering-users.md:94 -msgid "Letting certain users register on your private server" -msgstr "" - -#: ../../../docs/registering-users.md:96 -msgid "If you'd rather **keep your server private** (public registration closed, as is the default), and **let certain people create accounts by themselves** (instead of creating user accounts manually like this), consider installing and making use of [matrix-registration](configuring-playbook-matrix-registration.md)." -msgstr "" - #: ../../../docs/registering-users.md:98 -msgid "Enabling public user registration" +msgid "To manage users and your homeserver more easily (via a web interface), you can install [Ketesa](configuring-playbook-ketesa.md) — a fully-featured admin UI covering users, rooms, media, sessions, and MAS management." msgstr "" #: ../../../docs/registering-users.md:100 -msgid "To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgid "Letting certain users register on your private server" msgstr "" #: ../../../docs/registering-users.md:102 -msgid "For Synapse:" +msgid "If you'd rather **keep your server private** (public registration closed, as is the default), and **let certain people create accounts by themselves** (instead of creating user accounts manually like this), consider installing and making use of [matrix-registration](configuring-playbook-matrix-registration.md)." +msgstr "" + +#: ../../../docs/registering-users.md:104 +msgid "Enabling public user registration" +msgstr "" + +#: ../../../docs/registering-users.md:106 +msgid "To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" #: ../../../docs/registering-users.md:108 -msgid "For Dendrite:" +msgid "For Synapse:" msgstr "" #: ../../../docs/registering-users.md:114 +msgid "For Dendrite:" +msgstr "" + +#: ../../../docs/registering-users.md:120 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/registering-users.md:123 +#: ../../../docs/registering-users.md:129 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/registering-users.md:125 +#: ../../../docs/registering-users.md:131 msgid "`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." msgstr "" -#: ../../../docs/registering-users.md:127 +#: ../../../docs/registering-users.md:133 msgid "If you're opening up registrations publicly like this, you might also wish to [configure CAPTCHA protection](configuring-captcha.md)." msgstr "" -#: ../../../docs/registering-users.md:129 +#: ../../../docs/registering-users.md:135 msgid "Adding/Removing Administrator privileges to an existing user" msgstr "" -#: ../../../docs/registering-users.md:131 +#: ../../../docs/registering-users.md:137 msgid "Adding/Removing Administrator privileges to an existing user in Synapse" msgstr "" -#: ../../../docs/registering-users.md:133 +#: ../../../docs/registering-users.md:139 msgid "To change the admin privileges for a user in Synapse's local database, you need to run an SQL query like this against the `synapse` database:" msgstr "" -#: ../../../docs/registering-users.md:139 +#: ../../../docs/registering-users.md:145 msgid "where:" msgstr "" -#: ../../../docs/registering-users.md:141 +#: ../../../docs/registering-users.md:147 msgid "`ADMIN_VALUE` being either `0` (regular user) or `1` (admin)" msgstr "" -#: ../../../docs/registering-users.md:142 +#: ../../../docs/registering-users.md:148 msgid "`USER` and `example.com` pointing to a valid user on your server" msgstr "" -#: ../../../docs/registering-users.md:144 +#: ../../../docs/registering-users.md:150 msgid "If you're using the integrated Postgres server and not an [external Postgres server](configuring-playbook-external-postgres.md), you can launch a Postgres into the `synapse` database by:" msgstr "" -#: ../../../docs/registering-users.md:146 +#: ../../../docs/registering-users.md:152 msgid "running `/matrix/postgres/bin/cli` — to launch [`psql`](https://www.postgresql.org/docs/current/app-psql.html)" msgstr "" -#: ../../../docs/registering-users.md:147 +#: ../../../docs/registering-users.md:153 msgid "running `\\c synapse` — to change to the `synapse` database" msgstr "" -#: ../../../docs/registering-users.md:149 +#: ../../../docs/registering-users.md:155 msgid "You can then proceed to run the query above." msgstr "" -#: ../../../docs/registering-users.md:151 +#: ../../../docs/registering-users.md:157 msgid "**Note**: directly modifying the raw data of Synapse (or any other software) could cause the software to break. You've been warned!" msgstr "" -#: ../../../docs/registering-users.md:153 +#: ../../../docs/registering-users.md:159 msgid "Adding/Removing Administrator privileges to an existing user in Matrix Authentication Service" msgstr "" -#: ../../../docs/registering-users.md:155 -msgid "Promoting/demoting a user in Matrix Authentication Service cannot currently (2024-10-19) be done via the [`mas-cli` Management tool](./configuring-playbook-matrix-authentication-service.md#management)." +#: ../../../docs/registering-users.md:161 +msgid "Promoting/demoting a user in Matrix Authentication Service can be done using the [`mas-cli`](./configuring-playbook-matrix-authentication-service.md#management) management tool's [`manage promote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-promote-admin) and [`manage demote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-demote-admin) commands. For example: `/matrix/matrix-authentication-service/bin/mas-cli manage promote-admin some.username`." msgstr "" -#: ../../../docs/registering-users.md:157 -msgid "You can do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint." +#: ../../../docs/registering-users.md:163 +#, python-brace-format +msgid "You can also do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint." msgstr "" diff --git a/i18n/locales/bg/LC_MESSAGES/docs/self-building.po b/i18n/locales/bg/LC_MESSAGES/docs/self-building.po index 89bf5c0f5..987b82885 100644 --- a/i18n/locales/bg/LC_MESSAGES/docs/self-building.po +++ b/i18n/locales/bg/LC_MESSAGES/docs/self-building.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-16 12:05+0900\n" +"POT-Creation-Date: 2026-04-03 12:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: bg\n" @@ -19,160 +19,136 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/self-building.md:1 +#: ../../../docs/self-building.md:15 msgid "Self-building" msgstr "" -#: ../../../docs/self-building.md:3 +#: ../../../docs/self-building.md:17 msgid "**Caution: self-building does not have to be used on its own. See the [Alternative Architectures](alternative-architectures.md) page.**" msgstr "" -#: ../../../docs/self-building.md:5 +#: ../../../docs/self-building.md:19 msgid "The playbook supports self-building of various components, which don't have a container image for your architecture (see the [container images we use](container-images.md)). For `amd64`, self-building is not required." msgstr "" -#: ../../../docs/self-building.md:7 +#: ../../../docs/self-building.md:21 msgid "For other architectures (e.g. `arm32`, `arm64`), ready-made container images are used when available. If there's no ready-made image for a specific component and said component supports self-building, an image will be built on the host. Building images like this takes more time and resources (some build tools need to get installed by the playbook to assist building)." msgstr "" -#: ../../../docs/self-building.md:9 +#: ../../../docs/self-building.md:23 msgid "To make use of self-building, you don't need to do anything. If a component has an image for the specified architecture, the playbook will use it directly. If not, it will build the image on the server itself." msgstr "" -#: ../../../docs/self-building.md:11 +#: ../../../docs/self-building.md:25 msgid "Note that **not all components support self-building yet**." msgstr "" -#: ../../../docs/self-building.md:13 +#: ../../../docs/self-building.md:27 msgid "Possibly outdated list of roles where self-building the Docker image is currently possible:" msgstr "" -#: ../../../docs/self-building.md:14 +#: ../../../docs/self-building.md:28 msgid "`matrix-synapse`" msgstr "" -#: ../../../docs/self-building.md:15 -msgid "`matrix-synapse-admin`" -msgstr "" - -#: ../../../docs/self-building.md:16 -msgid "`matrix-client-element`" -msgstr "" - -#: ../../../docs/self-building.md:17 -msgid "`matrix-client-hydrogen`" -msgstr "" - -#: ../../../docs/self-building.md:18 -msgid "`matrix-client-cinny`" -msgstr "" - -#: ../../../docs/self-building.md:19 -msgid "`matrix-registration`" -msgstr "" - -#: ../../../docs/self-building.md:20 -msgid "`matrix-coturn`" -msgstr "" - -#: ../../../docs/self-building.md:21 -msgid "`matrix-corporal`" -msgstr "" - -#: ../../../docs/self-building.md:22 -msgid "`matrix-dimension`" -msgstr "" - -#: ../../../docs/self-building.md:23 -msgid "`matrix-ma1sd`" -msgstr "" - -#: ../../../docs/self-building.md:24 -msgid "`exim-relay`" -msgstr "" - -#: ../../../docs/self-building.md:25 -msgid "`matrix-bridge-hookshot`" -msgstr "" - -#: ../../../docs/self-building.md:26 -msgid "`matrix-bridge-appservice-irc`" -msgstr "" - -#: ../../../docs/self-building.md:27 -msgid "`matrix-bridge-appservice-slack`" -msgstr "" - -#: ../../../docs/self-building.md:28 -msgid "`matrix-bridge-appservice-webhooks`" -msgstr "" - #: ../../../docs/self-building.md:29 -msgid "`matrix-bridge-beeper-linkedin`" +msgid "`matrix-ketesa`" msgstr "" #: ../../../docs/self-building.md:30 -msgid "`matrix-bridge-mautrix-facebook`" +msgid "`matrix-client-element`" msgstr "" #: ../../../docs/self-building.md:31 -msgid "`matrix-bridge-mautrix-hangouts`" +msgid "`hydrogen`" msgstr "" #: ../../../docs/self-building.md:32 -msgid "`matrix-bridge-mautrix-googlechat`" +msgid "`cinny`" msgstr "" #: ../../../docs/self-building.md:33 -msgid "`matrix-bridge-mautrix-telegram`" +msgid "`sable`" msgstr "" #: ../../../docs/self-building.md:34 -msgid "`matrix-bridge-mautrix-signal`" +msgid "`matrix-registration`" msgstr "" #: ../../../docs/self-building.md:35 -msgid "`matrix-bridge-mautrix-gmessages`" +msgid "`coturn`" msgstr "" #: ../../../docs/self-building.md:36 -msgid "`matrix-bridge-mautrix-whatsapp`" +msgid "`matrix-corporal`" msgstr "" #: ../../../docs/self-building.md:37 -msgid "`matrix-bridge-mx-puppet-steam`" +msgid "`exim-relay`" msgstr "" #: ../../../docs/self-building.md:38 -msgid "`matrix-bot-mjolnir`" +msgid "`matrix-bridge-hookshot`" msgstr "" #: ../../../docs/self-building.md:39 -msgid "`matrix-bot-honoroit`" +msgid "`matrix-bridge-appservice-irc`" msgstr "" #: ../../../docs/self-building.md:40 -msgid "`matrix-bot-matrix-reminder-bot`" +msgid "`matrix-bridge-beeper-linkedin`" msgstr "" #: ../../../docs/self-building.md:41 -msgid "`matrix-bot-maubot`" +msgid "`matrix-bridge-mautrix-googlechat`" msgstr "" #: ../../../docs/self-building.md:42 -msgid "`matrix-email2matrix`" +msgid "`matrix-bridge-mautrix-telegram`" msgstr "" #: ../../../docs/self-building.md:43 -msgid "`matrix-pantalaimon`" +msgid "`matrix-bridge-mautrix-signal`" +msgstr "" + +#: ../../../docs/self-building.md:44 +msgid "`matrix-bridge-mautrix-gmessages`" msgstr "" #: ../../../docs/self-building.md:45 -msgid "Adding self-building support to other roles is welcome. Feel free to contribute!" +msgid "`matrix-bridge-mautrix-whatsapp`" +msgstr "" + +#: ../../../docs/self-building.md:46 +msgid "`matrix-bridge-mx-puppet-steam`" msgstr "" #: ../../../docs/self-building.md:47 +msgid "`matrix-bot-mjolnir`" +msgstr "" + +#: ../../../docs/self-building.md:48 +msgid "`matrix-bot-honoroit`" +msgstr "" + +#: ../../../docs/self-building.md:49 +msgid "`matrix-bot-matrix-reminder-bot`" +msgstr "" + +#: ../../../docs/self-building.md:50 +msgid "`matrix-bot-maubot`" +msgstr "" + +#: ../../../docs/self-building.md:51 +msgid "`matrix-pantalaimon`" +msgstr "" + +#: ../../../docs/self-building.md:53 +msgid "Adding self-building support to other roles is welcome. Feel free to contribute!" +msgstr "" + +#: ../../../docs/self-building.md:55 msgid "If you'd like **to force self-building** even if an image is available for your architecture, look into the `matrix_*_self_build` variables provided by individual roles." msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/CHANGELOG.po b/i18n/locales/jp/LC_MESSAGES/CHANGELOG.po index 331c474d9..9b0296d1a 100644 --- a/i18n/locales/jp/LC_MESSAGES/CHANGELOG.po +++ b/i18n/locales/jp/LC_MESSAGES/CHANGELOG.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,7052 +18,8207 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../../CHANGELOG.md:1 -msgid "2025-01-27" +msgid "2026-04-03" msgstr "" #: ../../../CHANGELOG.md:3 -msgid "Redis and KeyDB are no longer part of the playbook" +msgid "(BC Break) Synapse Admin is now Ketesa" msgstr "" #: ../../../CHANGELOG.md:5 -msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly definining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." +msgid "Synapse Admin has been rebranded to **[Ketesa](https://github.com/etkecc/ketesa)** — a landmark release that introduces a new identity, a full UI redesign, mobile-first layout, and deep Matrix Authentication Service (MAS) integration." msgstr "" #: ../../../CHANGELOG.md:7 -msgid "The playbook has gone through several iterations of memorystore implementations:" +msgid "Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables." msgstr "" #: ../../../CHANGELOG.md:9 -msgid "It initially used Redis, auto-installing it when needed by features/services" -msgstr "" - -#: ../../../CHANGELOG.md:10 -msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" +msgid "The `matrix-synapse-admin` role has been **renamed** to `matrix-ketesa`. All `matrix_synapse_admin_*` variables must be **renamed** to `matrix_ketesa_*` in your `vars.yml`." msgstr "" #: ../../../CHANGELOG.md:11 -msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" +msgid "Additionally, the **Docker image** changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. The default path prefix remains `/synapse-admin` for backward compatibility — updating to `/ketesa` is recommended but not required." msgstr "" #: ../../../CHANGELOG.md:13 -msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgid "The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed." msgstr "" #: ../../../CHANGELOG.md:15 -msgid "removing Redis and KeyDB support entirely" +msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details." msgstr "" -#: ../../../CHANGELOG.md:16 -msgid "using Valkey as the sole Redis-compatible memorystore implementation" +#: ../../../CHANGELOG.md:17 +msgid "2026-04-02" msgstr "" -#: ../../../CHANGELOG.md:18 -msgid "To update your configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:20 -msgid "**Most users** don't need to do anything" +#: ../../../CHANGELOG.md:19 +msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default" msgstr "" #: ../../../CHANGELOG.md:21 -msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" +msgid "💡 If you don't use [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md), then this breaking change does not concern you.." msgstr "" -#: ../../../CHANGELOG.md:24 -msgid "2025-01-19" +#: ../../../CHANGELOG.md:23 +msgid "[Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) now ships with `allowSelfServiceProvisioning: false` as default upstream and in this playbook." msgstr "" -#: ../../../CHANGELOG.md:26 -msgid "conduwuit support" +#: ../../../CHANGELOG.md:25 +msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in." msgstr "" -#: ../../../CHANGELOG.md:28 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." +#: ../../../CHANGELOG.md:27 +msgid "Manual provisioning by administrators is now the recommended approach. You do not want to enable Self Service Provisioning unless you have additional custom safeguards like those used by asgard.chat in place." msgstr "" -#: ../../../CHANGELOG.md:30 -msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." -msgstr "" - -#: ../../../CHANGELOG.md:32 -msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:34 -msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." +#: ../../../CHANGELOG.md:29 +msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:" msgstr "" #: ../../../CHANGELOG.md:36 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." +msgid "2026-03-23" msgstr "" -#: ../../../CHANGELOG.md:39 -msgid "2025-01-14" +#: ../../../CHANGELOG.md:38 +msgid "Migration validation system introduced" msgstr "" -#: ../../../CHANGELOG.md:41 -msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +#: ../../../CHANGELOG.md:40 +msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage." msgstr "" -#: ../../../CHANGELOG.md:43 -msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +#: ../../../CHANGELOG.md:42 +msgid "Now, the playbook includes a migration validation system that ensures you're aware of breaking changes before they affect your deployment. You're now forced to acknowledge each breaking change, unless you wish to live dangerously (see below)." msgstr "" #: ../../../CHANGELOG.md:45 -msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." +msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced." msgstr "" #: ../../../CHANGELOG.md:47 -msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." +msgid "**New users** who started from the [example `vars.yml`](examples/vars.yml) file already have this variable set and do not need to do anything." msgstr "" #: ../../../CHANGELOG.md:49 -msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." +msgid "**Existing users** will need to add the following to their `vars.yml` file after reviewing all changelog entries up to now:" msgstr "" -#: ../../../CHANGELOG.md:51 -msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:55 +msgid "Going forward, whenever a breaking change is introduced the playbook will:" +msgstr "" + +#: ../../../CHANGELOG.md:57 +msgid "bump its expected version value (`matrix_playbook_migration_expected_version`), causing a discrepancy with what you validated (`matrix_playbook_migration_validated_version`)" msgstr "" #: ../../../CHANGELOG.md:59 -msgid "2024-11-26" +msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries" msgstr "" #: ../../../CHANGELOG.md:61 -msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" +msgid "After reviewing and adapting your setup, you simply update the variable to the new version." msgstr "" #: ../../../CHANGELOG.md:63 -msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." -msgstr "" - -#: ../../../CHANGELOG.md:65 -msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." -msgstr "" - -#: ../../../CHANGELOG.md:67 -msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." +msgid "If you'd like to live dangerously and skip these checks (not recommended), you can set this once and be done with it:" msgstr "" #: ../../../CHANGELOG.md:69 -msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." +msgid "2026-03-19" msgstr "" #: ../../../CHANGELOG.md:71 -msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." +msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres" msgstr "" #: ../../../CHANGELOG.md:73 -msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." +msgid "When [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) uses the playbook-managed Postgres service, it now connects to it via a [UNIX socket](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" #: ../../../CHANGELOG.md:75 -msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." +msgid "This follows the same approach [applied to Synapse](#synapse-now-prefers-unix-sockets-for-playbook-managed-postgres-and-valkey) and reduces unnecessary container-network wiring, keeping local IPC off the network stack." msgstr "" -#: ../../../CHANGELOG.md:78 -msgid "2024-11-23" +#: ../../../CHANGELOG.md:77 +msgid "If you use an external Postgres server for MAS, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:80 -msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" +#: ../../../CHANGELOG.md:79 ../../../CHANGELOG.md:95 +msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:82 -msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." +#: ../../../CHANGELOG.md:85 +msgid "2026-03-17" msgstr "" -#: ../../../CHANGELOG.md:84 -msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." +#: ../../../CHANGELOG.md:87 +msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey" msgstr "" -#: ../../../CHANGELOG.md:86 -msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." +#: ../../../CHANGELOG.md:89 +msgid "When Synapse uses the playbook-managed Postgres and Valkey services, it now connects to them via [UNIX sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" -#: ../../../CHANGELOG.md:88 -msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." +#: ../../../CHANGELOG.md:91 +msgid "This reduces unnecessary container-network wiring and keeps local IPC off the network stack, which is a bit simpler and slightly more secure." msgstr "" -#: ../../../CHANGELOG.md:90 -msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." +#: ../../../CHANGELOG.md:93 +msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:92 -msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." +#: ../../../CHANGELOG.md:102 +msgid "2026-03-01" msgstr "" -#: ../../../CHANGELOG.md:94 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." +#: ../../../CHANGELOG.md:104 +msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" msgstr "" -#: ../../../CHANGELOG.md:96 ../../../CHANGELOG.md:436 -msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:106 +msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" msgstr "" -#: ../../../CHANGELOG.md:107 -msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:108 +msgid "the Synapse `s3_storage_provider` module configuration" +msgstr "" + +#: ../../../CHANGELOG.md:109 +msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" +msgstr "" + +#: ../../../CHANGELOG.md:111 +msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." +msgstr "" + +#: ../../../CHANGELOG.md:113 +msgid "**Affects**: users of [synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) who have configured a non-empty `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` value." +msgstr "" + +#: ../../../CHANGELOG.md:115 +msgid "If your bucket data was uploaded without the prefix before this fix, enabling proper prefix usage can make existing objects appear missing until data is migrated/copied to the prefixed key namespace." msgstr "" #: ../../../CHANGELOG.md:117 -msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." +msgid "2026-02-26" msgstr "" -#: ../../../CHANGELOG.md:120 -msgid "2024-11-14" +#: ../../../CHANGELOG.md:119 +msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:122 -msgid "HTTP-compression support for Traefik-based setups" +#: ../../../CHANGELOG.md:121 +msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." msgstr "" -#: ../../../CHANGELOG.md:124 -msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." +#: ../../../CHANGELOG.md:123 +msgid "This is not a user-facing change and does not change variable names (`matrix_synapse_reverse_proxy_companion_*` remain the same). The split looked clean on paper, but in practice both parts are tightly coupled through worker routing, tags (`setup-synapse`/`install-synapse`), and lifecycle ordering, so keeping them separate added coordination overhead with little practical benefit." msgstr "" -#: ../../../CHANGELOG.md:126 -msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +#: ../../../CHANGELOG.md:125 +msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." msgstr "" -#: ../../../CHANGELOG.md:128 -msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +#: ../../../CHANGELOG.md:127 +msgid "With this change, Synapse and its reverse-proxy companion are managed in one role (`matrix-synapse`) while still keeping companion logic in dedicated task/template subdirectories for maintainability." msgstr "" -#: ../../../CHANGELOG.md:130 -msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +#: ../../../CHANGELOG.md:129 +msgid "2026-02-21" msgstr "" -#: ../../../CHANGELOG.md:132 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +#: ../../../CHANGELOG.md:131 +msgid "(BC Break) coturn is no longer auto-enabled by default" msgstr "" -#: ../../../CHANGELOG.md:134 -msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +#: ../../../CHANGELOG.md:133 +msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." msgstr "" #: ../../../CHANGELOG.md:135 -msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgid "This reduces resources and attach surface for deployments which:" msgstr "" -#: ../../../CHANGELOG.md:136 -msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +#: ../../../CHANGELOG.md:137 +msgid "either don't need calls at all" msgstr "" #: ../../../CHANGELOG.md:138 -msgid "Timeout adjustments for Traefik-based setups" +msgid "or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack." msgstr "" #: ../../../CHANGELOG.md:140 -msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +msgid "Coturn is still auto-enabled when [Jitsi](./docs/configuring-playbook-jitsi.md) is enabled (`jitsi_enabled: true`), because Jitsi still depends on TURN for legacy Matrix integration." msgstr "" #: ../../../CHANGELOG.md:142 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." +msgid "Additionally, Coturn (when enabled) now defaults to using automatic IP detection of your server's external IP address, instead of assuming your Ansible inventory (`ansible_host`) points to a public address and using it for configuring `coturn_turn_external_ip_address`." msgstr "" #: ../../../CHANGELOG.md:144 -msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." +msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:146 -msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." +#: ../../../CHANGELOG.md:153 +msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" msgstr "" -#: ../../../CHANGELOG.md:148 -msgid "Example of the default timeout values used by the playbook:" +#: ../../../CHANGELOG.md:155 +msgid "For deployments that use the playbook-managed Traefik reverse-proxy, LiveKit TURN over TCP is now SSL-terminated at Traefik and passed as plain TCP to LiveKit (`turn.external_tls = true`) by default." +msgstr "" + +#: ../../../CHANGELOG.md:157 +msgid "To disable this behavior, set `livekit_server_config_turn_external_tls: false` and the playbook will revert to the old behavior - using traefik-certs-dumper to extract SSL certificates out of Traefik and pass them to LiveKit for explicit SSL termination there." msgstr "" #: ../../../CHANGELOG.md:159 -msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." +msgid "If you are using `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), this change does **not** switch behavior automatically. That mode remains using certificate files in the container (Traefik certificates dumper flow) unless you explicitly set the TURN-Traefik mode variables to opt in." msgstr "" -#: ../../../CHANGELOG.md:162 -msgid "2024-11-08" +#: ../../../CHANGELOG.md:161 +msgid "2026-02-17" msgstr "" -#: ../../../CHANGELOG.md:164 -msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" +#: ../../../CHANGELOG.md:163 +msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:166 -msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." +#: ../../../CHANGELOG.md:165 +msgid "The role for prometheus-nginxlog-exporter has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:168 -msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." +#: ../../../CHANGELOG.md:167 +msgid "Along with the relocation, the `matrix_prometheus_nginxlog_exporter_` prefix on its variable names has been renamed to `prometheus_nginxlog_exporter_`, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:170 -msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:173 -msgid "2024-10-28" -msgstr "" - -#: ../../../CHANGELOG.md:175 -msgid "(BC Break) Postmoogle's variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:177 -msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." -msgstr "" - -#: ../../../CHANGELOG.md:179 -msgid "2024-10-19" -msgstr "" - -#: ../../../CHANGELOG.md:181 -msgid "Support for Matrix Authentication Service" -msgstr "" - -#: ../../../CHANGELOG.md:183 -msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." -msgstr "" - -#: ../../../CHANGELOG.md:185 -msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." -msgstr "" - -#: ../../../CHANGELOG.md:187 -msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." -msgstr "" - -#: ../../../CHANGELOG.md:189 -msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." -msgstr "" - -#: ../../../CHANGELOG.md:192 -msgid "2024-09-27" -msgstr "" - -#: ../../../CHANGELOG.md:194 -msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" -msgstr "" - -#: ../../../CHANGELOG.md:196 -msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." -msgstr "" - -#: ../../../CHANGELOG.md:198 -msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." -msgstr "" - -#: ../../../CHANGELOG.md:200 -msgid "You need to do the following replacements:" -msgstr "" - -#: ../../../CHANGELOG.md:202 -msgid "`devture_postgres_` -> `postgres_`" -msgstr "" - -#: ../../../CHANGELOG.md:203 -msgid "`devture_traefik_` -> `traefik_`" -msgstr "" - -#: ../../../CHANGELOG.md:205 +#: ../../../CHANGELOG.md:169 ../../../CHANGELOG.md:231 +#: ../../../CHANGELOG.md:241 ../../../CHANGELOG.md:302 +#: ../../../CHANGELOG.md:324 ../../../CHANGELOG.md:859 msgid "As always, the playbook would let you know about this and point out any variables you may have missed." msgstr "" +#: ../../../CHANGELOG.md:171 +msgid "synapse-auto-invite-accept has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:173 +msgid "[synapse-auto-invite-accept](./docs/configuring-playbook-synapse-auto-accept-invite.md) has been removed from the playbook, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0)." +msgstr "" + +#: ../../../CHANGELOG.md:175 +msgid "See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:177 +msgid "If you're using any `matrix_synapse_ext_synapse_auto_accept_invite_*` variables, the playbook will let you know which one you'll need to remove from `vars.yml`." +msgstr "" + +#: ../../../CHANGELOG.md:179 +msgid "2026-02-16" +msgstr "" + +#: ../../../CHANGELOG.md:181 +msgid "matrix-appservice-slack has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:183 +msgid "[matrix-appservice-slack](./docs/configuring-playbook-bridge-appservice-slack.md) has been removed from the playbook, as it has been discontinued because the public Matrix.org Slack bridge has been decommissioned on January 14th, 2026." +msgstr "" + +#: ../../../CHANGELOG.md:185 +msgid "The playbook will let you know if you're using any `matrix_appservice_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bridge-appservice-slack.md#uninstalling-the-component-manually)." +msgstr "" + +#: ../../../CHANGELOG.md:187 +msgid "**Note**: Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](./docs/configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:189 +msgid "2026-02-13" +msgstr "" + +#: ../../../CHANGELOG.md:191 +msgid "Conditional service restart for `install-*` commands" +msgstr "" + +#: ../../../CHANGELOG.md:193 +msgid "When running `install-all` or `install-service` (whether via `just` or raw `ansible-playbook`), only services whose configuration or container image actually changed during the playbook run will now be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime — particularly for services like Traefik (the reverse proxy), which previously caused brief connectivity interruptions on every playbook run even when nothing changed." +msgstr "" + +#: ../../../CHANGELOG.md:195 +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." +msgstr "" + +#: ../../../CHANGELOG.md:197 +msgid "Currently, only Traefik tracks its own changes and benefits from conditional restart. All other services default to being restarted (the previous behavior). This is just the beginning — as more roles gain change-tracking support, playbook performance will improve and downtime will decrease dramatically, especially for `install-all` runs where most services haven't changed." +msgstr "" + +#: ../../../CHANGELOG.md:199 +msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" +msgstr "" + +#: ../../../CHANGELOG.md:201 +msgid "**Before**:" +msgstr "" + +#: ../../../CHANGELOG.md:202 +msgid "total time: ~56 seconds 🐌" +msgstr "" + +#: ../../../CHANGELOG.md:203 +msgid "Traefik restarted: yes (unnecessarily) ❌" +msgstr "" + +#: ../../../CHANGELOG.md:204 +msgid "dependent services restarted: yes, all of them ❌" +msgstr "" + +#: ../../../CHANGELOG.md:205 +msgid "**After**:" +msgstr "" + +#: ../../../CHANGELOG.md:206 +msgid "total time: ~27 seconds ⚡" +msgstr "" + +#: ../../../CHANGELOG.md:207 +msgid "Traefik restarted: no ✅" +msgstr "" + #: ../../../CHANGELOG.md:208 -msgid "2024-09-12" +msgid "dependent services restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:210 -msgid "Support for baibot" +msgid "This behavior can be overridden via `--extra-vars='devture_systemd_service_manager_conditional_restart_enabled=false'` to force unconditional restarts. See [Conditional service restart](docs/just.md#conditional-service-restart) for details." msgstr "" -#: ../../../CHANGELOG.md:212 -msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" +#: ../../../CHANGELOG.md:213 +msgid "2026-02-12" msgstr "" -#: ../../../CHANGELOG.md:214 -msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." +#: ../../../CHANGELOG.md:215 +msgid "Dimension integration manager has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:216 -msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." +#: ../../../CHANGELOG.md:217 +msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." msgstr "" -#: ../../../CHANGELOG.md:218 -msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +#: ../../../CHANGELOG.md:219 +msgid "The playbook will let you know if you're using any `matrix_dimension_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-dimension.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:220 -msgid "Switching synapse-admin to etke.cc's fork" +#: ../../../CHANGELOG.md:221 +msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:222 -msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +#: ../../../CHANGELOG.md:223 +msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:224 -msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +#: ../../../CHANGELOG.md:225 +msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:226 -msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +#: ../../../CHANGELOG.md:227 ../../../CHANGELOG.md:320 +msgid "You need to do the following replacement:" msgstr "" -#: ../../../CHANGELOG.md:228 -msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:229 +msgid "`matrix_client_hydrogen_` -> `hydrogen_`" msgstr "" -#: ../../../CHANGELOG.md:241 -msgid "2024-08-17" +#: ../../../CHANGELOG.md:233 +msgid "2026-02-11" +msgstr "" + +#: ../../../CHANGELOG.md:235 +msgid "(BC Break) coturn role has been relocated and variable names need adjustments" +msgstr "" + +#: ../../../CHANGELOG.md:237 +msgid "The role for coturn has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgstr "" + +#: ../../../CHANGELOG.md:239 +msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:243 -msgid "New appservice-double-puppet service for better double-puppeting" +msgid "conduwuit has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:245 -msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." msgstr "" #: ../../../CHANGELOG.md:247 -msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +msgid "The playbook will let you know if you're using any `matrix_conduwuit_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the service manually](./docs/configuring-playbook-conduwuit.md#uninstalling-the-service-manually)." msgstr "" #: ../../../CHANGELOG.md:249 -msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details." msgstr "" #: ../../../CHANGELOG.md:251 -msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." +msgid "2026-02-09" msgstr "" #: ../../../CHANGELOG.md:253 -msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" +msgstr "" + +#: ../../../CHANGELOG.md:255 +msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +msgstr "" + +#: ../../../CHANGELOG.md:257 +msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)." msgstr "" #: ../../../CHANGELOG.md:259 -msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." +msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use." msgstr "" #: ../../../CHANGELOG.md:261 -msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgid "**For existing installations**, retrieve your current values from the server:" msgstr "" -#: ../../../CHANGELOG.md:264 -msgid "2024-08-15" +#: ../../../CHANGELOG.md:267 +msgid "Then add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:266 -msgid "matrix-media-repo now configured for Authenticated Media" +#: ../../../CHANGELOG.md:276 +msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it." msgstr "" -#: ../../../CHANGELOG.md:268 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +#: ../../../CHANGELOG.md:278 +msgid "2026-02-08" msgstr "" -#: ../../../CHANGELOG.md:270 -msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." +#: ../../../CHANGELOG.md:280 +msgid "Zulip bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:272 -msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." +#: ../../../CHANGELOG.md:282 +msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context." msgstr "" -#: ../../../CHANGELOG.md:274 -msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:284 +msgid "Switched to faster secret derivation for service passwords" msgstr "" -#: ../../../CHANGELOG.md:277 -msgid "2024-08-08" +#: ../../../CHANGELOG.md:286 +msgid "We've switched the method used for deriving service passwords (database passwords, appservice tokens, etc.) from the `matrix_homeserver_generic_secret_key` variable." msgstr "" -#: ../../../CHANGELOG.md:279 -msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +#: ../../../CHANGELOG.md:288 +msgid "The old method used `password_hash('sha512', rounds=655555)` (655,555 rounds of SHA-512 hashing), which was designed for protecting low-entropy human passwords against brute-force attacks. For deriving secrets from an already high-entropy secret key, this many rounds provide no additional security - the secret key's entropy is what protects the derived passwords, not the computational cost of hashing." msgstr "" -#: ../../../CHANGELOG.md:281 -msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +#: ../../../CHANGELOG.md:290 +msgid "The new method uses a single-round `hash('sha512')` with a unique salt per service. This is equally secure for this use case (SHA-512 remains preimage-resistant; brute-forcing a high-entropy key is infeasible regardless of rounds), while being dramatically faster." msgstr "" -#: ../../../CHANGELOG.md:283 -msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +#: ../../../CHANGELOG.md:292 +msgid "On a fast mini PC, evaluating `postgres_managed_databases` (which references multiple database passwords) dropped from **~10.7 seconds to ~0.6 seconds**. The Postgres role evaluates this variable multiple times during a run, so the cumulative savings are significant. All other roles that reference derived passwords also benefit." msgstr "" -#: ../../../CHANGELOG.md:285 -msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +#: ../../../CHANGELOG.md:294 +msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change." msgstr "" -#: ../../../CHANGELOG.md:291 -msgid "2024-07-25" +#: ../../../CHANGELOG.md:296 +msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:293 -msgid "synapse-usage-exporter support" -msgstr "" - -#: ../../../CHANGELOG.md:295 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." -msgstr "" - -#: ../../../CHANGELOG.md:297 -msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +#: ../../../CHANGELOG.md:298 +msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:300 -msgid "2024-07-06" -msgstr "" - -#: ../../../CHANGELOG.md:302 -msgid "matrix-alertmanager-receiver support" +msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:304 -msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +msgid "ma1sd has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:306 -msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." msgstr "" #: ../../../CHANGELOG.md:308 -msgid "Traefik v3 and HTTP/3 are here now" +msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)." msgstr "" #: ../../../CHANGELOG.md:310 -msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." +msgid "Please note that some of the functions can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./docs/configuring-playbook-ldap-auth.md) instead." msgstr "" #: ../../../CHANGELOG.md:312 -msgid "Traefik v3" +msgid "2026-02-07" msgstr "" #: ../../../CHANGELOG.md:314 -msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:316 -msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:318 -msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." -msgstr "" - -#: ../../../CHANGELOG.md:320 -msgid "**Most people using the playbook should not have to do any changes**." +msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:322 -msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." -msgstr "" - -#: ../../../CHANGELOG.md:324 -msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." +msgid "`matrix_client_cinny_` -> `cinny_`" msgstr "" #: ../../../CHANGELOG.md:326 -msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." +msgid "The Sliding Sync proxy has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:328 -msgid "HTTP/3 is enabled by default" +msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)." msgstr "" #: ../../../CHANGELOG.md:330 -msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)." msgstr "" #: ../../../CHANGELOG.md:332 -msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +msgid "2026-02-04" msgstr "" #: ../../../CHANGELOG.md:334 -msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" msgstr "" #: ../../../CHANGELOG.md:336 -msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." +#, python-format +msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities." msgstr "" #: ../../../CHANGELOG.md:338 -msgid "To **disable HTTP/3**, you can use the following configuration:" +msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" msgstr "" -#: ../../../CHANGELOG.md:352 -msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +#: ../../../CHANGELOG.md:345 +msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details." msgstr "" -#: ../../../CHANGELOG.md:365 -msgid "2024-07-01" +#: ../../../CHANGELOG.md:347 +msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" msgstr "" -#: ../../../CHANGELOG.md:367 -msgid "synapse-admin is now restricted to your homeserver's URL by default" +#: ../../../CHANGELOG.md:349 +msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))." msgstr "" -#: ../../../CHANGELOG.md:369 -msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." +#: ../../../CHANGELOG.md:351 +msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." msgstr "" -#: ../../../CHANGELOG.md:371 -msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +#: ../../../CHANGELOG.md:353 +msgid "The new implementation calls Synapse's `/whoami` endpoint to resolve access tokens to usernames, enabling proper user-level sticky routing regardless of the authentication system in use (native Synapse auth, MAS, etc.). Results are cached to minimize overhead." msgstr "" -#: ../../../CHANGELOG.md:373 -msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +#: ../../../CHANGELOG.md:355 +msgid "This change:" msgstr "" -#: ../../../CHANGELOG.md:381 -msgid "2024-06-25" +#: ../../../CHANGELOG.md:356 +msgid "**Automatically enables** when sync workers are configured (no action required)" msgstr "" -#: ../../../CHANGELOG.md:383 -msgid "The URL-prefix for Hookshot generic webhooks has changed" +#: ../../../CHANGELOG.md:357 +msgid "**Works universally** with any authentication system" msgstr "" -#: ../../../CHANGELOG.md:385 -msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +#: ../../../CHANGELOG.md:358 +msgid "**Replaces the old implementation** entirely to keep the codebase simple" msgstr "" -#: ../../../CHANGELOG.md:387 -msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +#: ../../../CHANGELOG.md:359 +msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" msgstr "" -#: ../../../CHANGELOG.md:389 -msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." +#: ../../../CHANGELOG.md:361 +msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" msgstr "" -#: ../../../CHANGELOG.md:391 -msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." +#: ../../../CHANGELOG.md:372 +msgid "2025-12-09" msgstr "" -#: ../../../CHANGELOG.md:393 -msgid "When generating new webhooks, you should start seeing the new URLs being used." +#: ../../../CHANGELOG.md:374 +msgid "Traefik Cert Dumper upgrade" msgstr "" -#: ../../../CHANGELOG.md:395 -msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." +#: ../../../CHANGELOG.md:376 +msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration." msgstr "" -#: ../../../CHANGELOG.md:397 -msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +#: ../../../CHANGELOG.md:378 +msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration." msgstr "" -#: ../../../CHANGELOG.md:400 -msgid "2024-06-22" +#: ../../../CHANGELOG.md:380 +msgid "2025-11-23" +msgstr "" + +#: ../../../CHANGELOG.md:382 +msgid "Matrix.to support" +msgstr "" + +#: ../../../CHANGELOG.md:384 +msgid "The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to)." +msgstr "" + +#: ../../../CHANGELOG.md:386 +msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:388 +msgid "2025-11-09" +msgstr "" + +#: ../../../CHANGELOG.md:390 +msgid "matrix-appservice-webhooks has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:392 +msgid "[matrix-appservice-webhooks](./docs/configuring-playbook-bridge-appservice-webhooks.md) has been removed from the playbook, as it has been deprecated since more than several years." +msgstr "" + +#: ../../../CHANGELOG.md:394 +msgid "The playbook will let you know if you're using any `matrix_appservice_webhooks_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-appservice-webhooks.md#uninstalling-the-bridge-manually)." +msgstr "" + +#: ../../../CHANGELOG.md:396 +msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:398 +msgid "[mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) have been removed from the playbook, as they have been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, integrated to the playbook at [2024-02-19](#2024-02-19)." +msgstr "" + +#: ../../../CHANGELOG.md:400 ../../../CHANGELOG.md:432 +msgid "The playbook will let you know if you're using any variables for those bridges:" msgstr "" #: ../../../CHANGELOG.md:402 -msgid "The maubot user is now managed by the playbook" +msgid "`matrix_mautrix_facebook_*`" msgstr "" -#: ../../../CHANGELOG.md:404 -msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +#: ../../../CHANGELOG.md:403 +msgid "`matrix_mautrix_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:406 -msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +#: ../../../CHANGELOG.md:405 ../../../CHANGELOG.md:439 +msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" +msgstr "" + +#: ../../../CHANGELOG.md:407 +msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:408 -msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." +msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:411 -msgid "2024-06-03" +#: ../../../CHANGELOG.md:410 +msgid "2025-11-08" msgstr "" -#: ../../../CHANGELOG.md:413 -msgid "WeChat bridging support" +#: ../../../CHANGELOG.md:412 +msgid "MatrixZulipBridge support" msgstr "" -#: ../../../CHANGELOG.md:415 -msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." +#: ../../../CHANGELOG.md:414 +msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)." msgstr "" -#: ../../../CHANGELOG.md:417 -msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +#: ../../../CHANGELOG.md:416 +msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:418 +msgid "2025-11-07" msgstr "" #: ../../../CHANGELOG.md:420 -msgid "2024-03-26" +msgid "The matrix-chatgpt-bot has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:422 -msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024." msgstr "" #: ../../../CHANGELOG.md:424 -msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)." msgstr "" #: ../../../CHANGELOG.md:426 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." +msgid "2025-11-05" msgstr "" #: ../../../CHANGELOG.md:428 -msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:430 -msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." -msgstr "" - -#: ../../../CHANGELOG.md:432 -msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context." msgstr "" #: ../../../CHANGELOG.md:434 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgid "`matrix_mx_puppet_discord_*`" msgstr "" -#: ../../../CHANGELOG.md:445 -msgid "2024-03-24" +#: ../../../CHANGELOG.md:435 +msgid "`matrix_mx_puppet_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:447 -msgid "Initial work on IPv6 support" +#: ../../../CHANGELOG.md:436 +msgid "`matrix_mx_puppet_slack_*`" msgstr "" -#: ../../../CHANGELOG.md:449 -msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." +#: ../../../CHANGELOG.md:437 +msgid "`matrix_mx_puppet_twitter_*`" msgstr "" -#: ../../../CHANGELOG.md:451 -msgid "It should be noted that:" +#: ../../../CHANGELOG.md:441 +msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:453 -msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" +#: ../../../CHANGELOG.md:442 +msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:443 +msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:444 +msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:446 +msgid "2025-11-04" +msgstr "" + +#: ../../../CHANGELOG.md:448 +msgid "The Go Skype bridge has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:450 +msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025." +msgstr "" + +#: ../../../CHANGELOG.md:452 +msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)." msgstr "" #: ../../../CHANGELOG.md:454 -msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgid "2025-10-02" msgstr "" -#: ../../../CHANGELOG.md:455 -msgid "this is all very new and untested" +#: ../../../CHANGELOG.md:456 +msgid "Element Admin support" msgstr "" -#: ../../../CHANGELOG.md:457 -msgid "Pantalaimon support" +#: ../../../CHANGELOG.md:458 +msgid "The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md)." msgstr "" -#: ../../../CHANGELOG.md:459 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +#: ../../../CHANGELOG.md:460 +msgid "Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time." msgstr "" -#: ../../../CHANGELOG.md:461 -msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +#: ../../../CHANGELOG.md:462 +msgid "Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form)." msgstr "" -#: ../../../CHANGELOG.md:464 -msgid "2024-03-05" +#: ../../../CHANGELOG.md:465 +msgid "2025-04-26" msgstr "" -#: ../../../CHANGELOG.md:466 -msgid "Support for Draupnir-for-all" +#: ../../../CHANGELOG.md:467 +msgid "Continuwuity support" msgstr "" -#: ../../../CHANGELOG.md:468 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +#: ../../../CHANGELOG.md:469 +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." msgstr "" -#: ../../../CHANGELOG.md:470 -msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +#: ../../../CHANGELOG.md:471 +msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path." msgstr "" -#: ../../../CHANGELOG.md:472 -msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +#: ../../../CHANGELOG.md:473 ../../../CHANGELOG.md:686 +msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" #: ../../../CHANGELOG.md:475 -msgid "2024-02-19" +msgid "People that used to run conduwuit, may wish to:" msgstr "" #: ../../../CHANGELOG.md:477 -msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" msgstr "" -#: ../../../CHANGELOG.md:479 -msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." +#: ../../../CHANGELOG.md:478 +msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" msgstr "" -#: ../../../CHANGELOG.md:481 -msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." +#: ../../../CHANGELOG.md:480 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss." msgstr "" #: ../../../CHANGELOG.md:483 -msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" +msgid "2025-04-09" msgstr "" #: ../../../CHANGELOG.md:485 -msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgid "Element Call frontend installation is now optional" msgstr "" #: ../../../CHANGELOG.md:487 -msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**." msgstr "" #: ../../../CHANGELOG.md:489 -msgid "The documentation pages contain more information on how to migrate." +msgid "💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client)." msgstr "" -#: ../../../CHANGELOG.md:492 -msgid "2024-02-14" +#: ../../../CHANGELOG.md:491 +msgid "The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack)." msgstr "" -#: ../../../CHANGELOG.md:494 -msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +#: ../../../CHANGELOG.md:493 +msgid "If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by:" msgstr "" -#: ../../../CHANGELOG.md:496 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." -msgstr "" - -#: ../../../CHANGELOG.md:498 -msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." -msgstr "" - -#: ../../../CHANGELOG.md:500 -msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" +#: ../../../CHANGELOG.md:495 +msgid "Adjusting your `vars.yml` configuration like this:" msgstr "" #: ../../../CHANGELOG.md:502 -msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" -msgstr "" - -#: ../../../CHANGELOG.md:503 -msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" +msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" msgstr "" #: ../../../CHANGELOG.md:504 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +msgid "Getting rid of the `call.element.example.com` DNS record" msgstr "" -#: ../../../CHANGELOG.md:506 -msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +#: ../../../CHANGELOG.md:507 +msgid "2025-03-15" msgstr "" -#: ../../../CHANGELOG.md:508 -msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +#: ../../../CHANGELOG.md:509 +msgid "Element Call support" msgstr "" #: ../../../CHANGELOG.md:511 -msgid "2024-01-31" +msgid "The playbook now supports [Element Call](https://github.com/element-hq/element-call) as an optional feature. Thanks to [wjbeckett](https://github.com/wjbeckett) for getting us started via [PR#3562](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562)." msgstr "" #: ../../../CHANGELOG.md:513 -msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions." msgstr "" #: ../../../CHANGELOG.md:515 -msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." +msgid "💡 For now, Element Call is only supported with the [Synapse](docs/configuring-playbook-synapse.md) homeserver (with [federation](docs/configuring-playbook-federation.md) enabled) and [Element Web](docs/configuring-playbook-client-element-web.md) and Element X mobile clients. See the [Prerequisites](docs/configuring-playbook-element-call.md#prerequisites) section of the [Element Call documentation](docs/configuring-playbook-element-call.md) for more details." msgstr "" #: ../../../CHANGELOG.md:517 -msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." +msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:519 -msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:520 +msgid "2025-03-08" msgstr "" #: ../../../CHANGELOG.md:522 -msgid "2024-01-20" +msgid "6️⃣ IPv6 support enablement recommended by default" msgstr "" #: ../../../CHANGELOG.md:524 -msgid "Support for more efficient (specialized) Synapse workers" +msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet." msgstr "" #: ../../../CHANGELOG.md:526 -msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." msgstr "" #: ../../../CHANGELOG.md:528 -msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" msgstr "" #: ../../../CHANGELOG.md:530 -msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgid "enabling IPv6 support for the Docker container networks:" +msgstr "" + +#: ../../../CHANGELOG.md:531 +msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" msgstr "" #: ../../../CHANGELOG.md:532 -msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +msgid "stop all services (`just stop-all`)" msgstr "" -#: ../../../CHANGELOG.md:535 -msgid "2024-01-17" +#: ../../../CHANGELOG.md:533 +msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" msgstr "" -#: ../../../CHANGELOG.md:537 -msgid "Switching to Element's AGPLv3-licensed Synapse release" +#: ../../../CHANGELOG.md:534 +msgid "re-run the playbook fully: `just install-all`" msgstr "" -#: ../../../CHANGELOG.md:539 -msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +#: ../../../CHANGELOG.md:536 +msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" msgstr "" -#: ../../../CHANGELOG.md:541 -msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +#: ../../../CHANGELOG.md:538 +msgid "2025-02-26" +msgstr "" + +#: ../../../CHANGELOG.md:540 +msgid "🪦 Bye-bye, Email2Matrix" msgstr "" #: ../../../CHANGELOG.md:542 -msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today." msgstr "" #: ../../../CHANGELOG.md:544 -msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration." msgstr "" -#: ../../../CHANGELOG.md:546 -msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +#: ../../../CHANGELOG.md:547 +msgid "2025-02-23" msgstr "" -#: ../../../CHANGELOG.md:548 -msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." +#: ../../../CHANGELOG.md:549 +msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" msgstr "" -#: ../../../CHANGELOG.md:550 -msgid "**What does this mean to you?**" +#: ../../../CHANGELOG.md:551 +msgid "Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks." msgstr "" -#: ../../../CHANGELOG.md:552 -msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." -msgstr "" - -#: ../../../CHANGELOG.md:554 -msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +#: ../../../CHANGELOG.md:553 +msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**." msgstr "" #: ../../../CHANGELOG.md:556 -msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgid "In light of this new information, you have 2 options:" msgstr "" #: ../../../CHANGELOG.md:558 -msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by intruducing a new Ansible variable. You can do it like this:" +msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" +msgstr "" + +#: ../../../CHANGELOG.md:560 +msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." +msgstr "" + +#: ../../../CHANGELOG.md:562 +msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" +msgstr "" + +#: ../../../CHANGELOG.md:564 +msgid "Consider closing the STUN/UDP port with the following configuration:" msgstr "" #: ../../../CHANGELOG.md:570 -msgid "Notes:" +msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" msgstr "" #: ../../../CHANGELOG.md:572 -msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +msgid "2025-02-21" msgstr "" #: ../../../CHANGELOG.md:574 -msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" msgstr "" #: ../../../CHANGELOG.md:576 -msgid "2024-01-16" +msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`." msgstr "" #: ../../../CHANGELOG.md:578 -msgid "`Draupnir` has been relicensed to AFL-3.0" +msgid "This variable did **2 different things at once**:" msgstr "" #: ../../../CHANGELOG.md:580 -msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +msgid "ensured that container networks were created with IPv6 being enabled" msgstr "" -#: ../../../CHANGELOG.md:582 -msgid "2024-01-15" +#: ../../../CHANGELOG.md:581 +msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)" +msgstr "" + +#: ../../../CHANGELOG.md:583 +msgid "Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:" msgstr "" #: ../../../CHANGELOG.md:584 -msgid "Goodbye, `matrix-nginx-proxy` 🪦" +msgid "`ip6tables` defaults to `true` for everyone" msgstr "" -#: ../../../CHANGELOG.md:586 -msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." +#: ../../../CHANGELOG.md:585 +msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" msgstr "" -#: ../../../CHANGELOG.md:588 -msgid "Backstory on `matrix-nginx-proxy`" +#: ../../../CHANGELOG.md:587 +msgid "In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`." msgstr "" #: ../../../CHANGELOG.md:590 -msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." +msgid "This change affects you like this:" msgstr "" #: ../../../CHANGELOG.md:592 -msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." +msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" +msgstr "" + +#: ../../../CHANGELOG.md:593 +msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" msgstr "" #: ../../../CHANGELOG.md:594 -msgid "To us, `matrix-nginx-proxy` was:" +msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected." msgstr "" -#: ../../../CHANGELOG.md:596 -msgid "an [nginx](https://nginx.org/)-based reverse-proxy" -msgstr "" - -#: ../../../CHANGELOG.md:597 -msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" -msgstr "" - -#: ../../../CHANGELOG.md:598 -msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" -msgstr "" - -#: ../../../CHANGELOG.md:599 -msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" -msgstr "" - -#: ../../../CHANGELOG.md:600 -msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" -msgstr "" - -#: ../../../CHANGELOG.md:601 -msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" -msgstr "" - -#: ../../../CHANGELOG.md:602 -msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" -msgstr "" - -#: ../../../CHANGELOG.md:604 -msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +#: ../../../CHANGELOG.md:595 +msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:" msgstr "" #: ../../../CHANGELOG.md:606 -msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +msgid "Support for bridging to Bluesky via mautrix-bluesky" msgstr "" #: ../../../CHANGELOG.md:608 -msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)." msgstr "" #: ../../../CHANGELOG.md:610 -msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:612 -msgid "Going Traefik-native and cutting out all middlemen" +#: ../../../CHANGELOG.md:613 +msgid "2025-02-19" msgstr "" -#: ../../../CHANGELOG.md:614 -msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +#: ../../../CHANGELOG.md:615 +msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" msgstr "" -#: ../../../CHANGELOG.md:616 -msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +#: ../../../CHANGELOG.md:617 +msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)." msgstr "" -#: ../../../CHANGELOG.md:618 -msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +#: ../../../CHANGELOG.md:619 +msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem." msgstr "" -#: ../../../CHANGELOG.md:620 -msgid "Traefik now has an extra job" +#: ../../../CHANGELOG.md:621 +msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." msgstr "" -#: ../../../CHANGELOG.md:622 -msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +#: ../../../CHANGELOG.md:623 +msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." msgstr "" -#: ../../../CHANGELOG.md:624 -msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +#: ../../../CHANGELOG.md:625 +msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:626 -msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." -msgstr "" - -#: ../../../CHANGELOG.md:628 -msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." -msgstr "" - -#: ../../../CHANGELOG.md:630 -msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." -msgstr "" - -#: ../../../CHANGELOG.md:632 -msgid "Traefik serving this second purpose has a few downsides:" -msgstr "" - -#: ../../../CHANGELOG.md:634 -msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +#: ../../../CHANGELOG.md:631 +msgid "[!WARNING] People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)." msgstr "" #: ../../../CHANGELOG.md:635 -msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +msgid "2025-02-17" msgstr "" #: ../../../CHANGELOG.md:637 -msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgid "FluffyChat Web support" msgstr "" #: ../../../CHANGELOG.md:639 -msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host." msgstr "" #: ../../../CHANGELOG.md:641 -msgid "**People runnning their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:643 -msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +#: ../../../CHANGELOG.md:644 +msgid "2025-02-03" msgstr "" -#: ../../../CHANGELOG.md:645 -msgid "People managing their own Traefik instance need to do minor changes" +#: ../../../CHANGELOG.md:646 +msgid "The mautrix-hangouts bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:647 -msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." +#: ../../../CHANGELOG.md:648 +msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025." msgstr "" -#: ../../../CHANGELOG.md:649 -msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." +#: ../../../CHANGELOG.md:650 +msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." msgstr "" -#: ../../../CHANGELOG.md:651 -msgid "People fronting Traefik with another reverse proxy need to do minor changes" -msgstr "" - -#: ../../../CHANGELOG.md:653 -msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +#: ../../../CHANGELOG.md:652 +msgid "The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually)." msgstr "" #: ../../../CHANGELOG.md:655 -msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +msgid "2025-01-27" msgstr "" #: ../../../CHANGELOG.md:657 -msgid "Supported reverse proxy types are now fewer" +msgid "Redis and KeyDB are no longer part of the playbook" msgstr "" #: ../../../CHANGELOG.md:659 -msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." +msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." msgstr "" #: ../../../CHANGELOG.md:661 -msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgid "The playbook has gone through several iterations of memorystore implementations:" msgstr "" #: ../../../CHANGELOG.md:663 -msgid "The complexity of this is too high, so we only support 3 values right now:" +msgid "It initially used Redis, auto-installing it when needed by features/services" +msgstr "" + +#: ../../../CHANGELOG.md:664 +msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" msgstr "" #: ../../../CHANGELOG.md:665 -msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" -msgstr "" - -#: ../../../CHANGELOG.md:666 -msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" msgstr "" #: ../../../CHANGELOG.md:667 -msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgid "To reduce configuration complexity and maintenance overhead, we are now:" msgstr "" #: ../../../CHANGELOG.md:669 -msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgid "removing Redis and KeyDB support entirely" msgstr "" -#: ../../../CHANGELOG.md:671 -msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +#: ../../../CHANGELOG.md:670 +msgid "using Valkey as the sole Redis-compatible memorystore implementation" msgstr "" -#: ../../../CHANGELOG.md:673 -msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +#: ../../../CHANGELOG.md:672 +msgid "To update your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:674 +msgid "**Most users** don't need to do anything" msgstr "" #: ../../../CHANGELOG.md:675 -msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" -msgstr "" - -#: ../../../CHANGELOG.md:676 -msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" msgstr "" #: ../../../CHANGELOG.md:678 -msgid "Container networking changes" +msgid "2025-01-19" msgstr "" #: ../../../CHANGELOG.md:680 -msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +msgid "conduwuit support" msgstr "" #: ../../../CHANGELOG.md:682 -msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." msgstr "" #: ../../../CHANGELOG.md:684 -msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." -msgstr "" - -#: ../../../CHANGELOG.md:686 -msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." msgstr "" #: ../../../CHANGELOG.md:688 -msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." msgstr "" #: ../../../CHANGELOG.md:690 -msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." msgstr "" -#: ../../../CHANGELOG.md:692 -msgid "Metrics exposure changes" +#: ../../../CHANGELOG.md:693 +msgid "2025-01-14" msgstr "" -#: ../../../CHANGELOG.md:694 -msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +#: ../../../CHANGELOG.md:695 +msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" msgstr "" -#: ../../../CHANGELOG.md:696 -msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +#: ../../../CHANGELOG.md:697 +msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." msgstr "" -#: ../../../CHANGELOG.md:698 -msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +#: ../../../CHANGELOG.md:699 +msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." msgstr "" -#: ../../../CHANGELOG.md:700 -msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." +#: ../../../CHANGELOG.md:701 +msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." msgstr "" -#: ../../../CHANGELOG.md:702 -msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +#: ../../../CHANGELOG.md:703 +msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." msgstr "" -#: ../../../CHANGELOG.md:704 -msgid "Matrix static files" +#: ../../../CHANGELOG.md:705 +msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:706 -msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +#: ../../../CHANGELOG.md:713 +msgid "2024-11-26" msgstr "" -#: ../../../CHANGELOG.md:708 -msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +#: ../../../CHANGELOG.md:715 +msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" msgstr "" -#: ../../../CHANGELOG.md:710 -msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +#: ../../../CHANGELOG.md:717 +msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." msgstr "" -#: ../../../CHANGELOG.md:712 -msgid "A note on performance" +#: ../../../CHANGELOG.md:719 +msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." msgstr "" -#: ../../../CHANGELOG.md:714 -msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +#: ../../../CHANGELOG.md:721 +msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." msgstr "" -#: ../../../CHANGELOG.md:716 -msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +#: ../../../CHANGELOG.md:723 +msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." msgstr "" -#: ../../../CHANGELOG.md:718 -msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +#: ../../../CHANGELOG.md:725 +msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." msgstr "" -#: ../../../CHANGELOG.md:720 -msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +#: ../../../CHANGELOG.md:727 +msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." msgstr "" -#: ../../../CHANGELOG.md:722 -msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." -msgstr "" - -#: ../../../CHANGELOG.md:724 -msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." -msgstr "" - -#: ../../../CHANGELOG.md:726 -msgid "Migration procedure" -msgstr "" - -#: ../../../CHANGELOG.md:728 -msgid "The updated playbook will automatically perform some migration tasks for you:" -msgstr "" - -#: ../../../CHANGELOG.md:730 -msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." +#: ../../../CHANGELOG.md:729 +msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." msgstr "" #: ../../../CHANGELOG.md:732 -msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." +msgid "2024-11-23" msgstr "" #: ../../../CHANGELOG.md:734 -msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." +msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" msgstr "" #: ../../../CHANGELOG.md:736 -msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." msgstr "" #: ../../../CHANGELOG.md:738 -msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." msgstr "" #: ../../../CHANGELOG.md:740 -msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." msgstr "" #: ../../../CHANGELOG.md:742 -msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." msgstr "" #: ../../../CHANGELOG.md:744 -msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." msgstr "" #: ../../../CHANGELOG.md:746 -msgid "Conclusion" +msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." msgstr "" #: ../../../CHANGELOG.md:748 -msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." msgstr "" -#: ../../../CHANGELOG.md:750 -msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" -msgstr "" - -#: ../../../CHANGELOG.md:753 -msgid "2024-01-14" -msgstr "" - -#: ../../../CHANGELOG.md:755 -msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" -msgstr "" - -#: ../../../CHANGELOG.md:757 -msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." -msgstr "" - -#: ../../../CHANGELOG.md:759 -msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." +#: ../../../CHANGELOG.md:750 ../../../CHANGELOG.md:1090 +msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:761 -msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:763 -msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." +#: ../../../CHANGELOG.md:771 +msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." msgstr "" -#: ../../../CHANGELOG.md:765 -msgid "Adapt your configuration as seen below:" +#: ../../../CHANGELOG.md:774 +msgid "2024-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:776 +msgid "HTTP-compression support for Traefik-based setups" +msgstr "" + +#: ../../../CHANGELOG.md:778 +msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." +msgstr "" + +#: ../../../CHANGELOG.md:780 +msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +msgstr "" + +#: ../../../CHANGELOG.md:782 +msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +msgstr "" + +#: ../../../CHANGELOG.md:784 +msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +msgstr "" + +#: ../../../CHANGELOG.md:786 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +msgstr "" + +#: ../../../CHANGELOG.md:788 +msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +msgstr "" + +#: ../../../CHANGELOG.md:789 +msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgstr "" + +#: ../../../CHANGELOG.md:790 +msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +msgstr "" + +#: ../../../CHANGELOG.md:792 +msgid "Timeout adjustments for Traefik-based setups" +msgstr "" + +#: ../../../CHANGELOG.md:794 +msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +msgstr "" + +#: ../../../CHANGELOG.md:796 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." msgstr "" #: ../../../CHANGELOG.md:798 -msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." msgstr "" -#: ../../../CHANGELOG.md:801 -msgid "2024-01-13" +#: ../../../CHANGELOG.md:800 +msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." msgstr "" -#: ../../../CHANGELOG.md:803 -msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" -msgstr "" - -#: ../../../CHANGELOG.md:805 -msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." -msgstr "" - -#: ../../../CHANGELOG.md:807 -msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." -msgstr "" - -#: ../../../CHANGELOG.md:809 -msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." -msgstr "" - -#: ../../../CHANGELOG.md:811 -msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +#: ../../../CHANGELOG.md:802 +msgid "Example of the default timeout values used by the playbook:" msgstr "" #: ../../../CHANGELOG.md:813 -msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." +msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." msgstr "" -#: ../../../CHANGELOG.md:815 -msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +#: ../../../CHANGELOG.md:816 +msgid "2024-11-08" msgstr "" -#: ../../../CHANGELOG.md:817 -msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +#: ../../../CHANGELOG.md:818 +msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" msgstr "" -#: ../../../CHANGELOG.md:819 -msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +#: ../../../CHANGELOG.md:820 +msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." msgstr "" -#: ../../../CHANGELOG.md:821 -msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +#: ../../../CHANGELOG.md:822 +msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." msgstr "" #: ../../../CHANGELOG.md:824 -msgid "2024-01-05" +msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" msgstr "" -#: ../../../CHANGELOG.md:826 -msgid "matrix-mailer has been replaced by the exim-relay external role" +#: ../../../CHANGELOG.md:827 +msgid "2024-10-28" msgstr "" -#: ../../../CHANGELOG.md:828 ../../../CHANGELOG.md:1468 -msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +#: ../../../CHANGELOG.md:829 +msgid "(BC Break) Postmoogle's variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:830 -msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +#: ../../../CHANGELOG.md:831 +msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." msgstr "" -#: ../../../CHANGELOG.md:832 -msgid "To migrate:" -msgstr "" - -#: ../../../CHANGELOG.md:834 -msgid "pull the playbook changes, as usual" +#: ../../../CHANGELOG.md:833 +msgid "2024-10-19" msgstr "" #: ../../../CHANGELOG.md:835 -msgid "update your roles (run `just roles` or `make roles`)" -msgstr "" - -#: ../../../CHANGELOG.md:836 -msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgid "Support for Matrix Authentication Service" msgstr "" #: ../../../CHANGELOG.md:837 -msgid "re-run the playbook (`install-all` or `setup-all`)" +msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" #: ../../../CHANGELOG.md:839 -msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." msgstr "" -#: ../../../CHANGELOG.md:842 -msgid "2024-01-02" +#: ../../../CHANGELOG.md:841 +msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." msgstr "" -#: ../../../CHANGELOG.md:844 -msgid "mautrix-signal now powered by the new Go-based bridge" +#: ../../../CHANGELOG.md:843 +msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." msgstr "" #: ../../../CHANGELOG.md:846 -msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +msgid "2024-09-27" msgstr "" #: ../../../CHANGELOG.md:848 -msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:850 -msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:853 -msgid "2023-10-23" +#: ../../../CHANGELOG.md:852 +msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:855 -msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +#: ../../../CHANGELOG.md:854 +msgid "You need to do the following replacements:" +msgstr "" + +#: ../../../CHANGELOG.md:856 +msgid "`devture_postgres_` -> `postgres_`" msgstr "" #: ../../../CHANGELOG.md:857 +msgid "`devture_traefik_` -> `traefik_`" +msgstr "" + +#: ../../../CHANGELOG.md:862 +msgid "2024-09-12" +msgstr "" + +#: ../../../CHANGELOG.md:864 +msgid "Support for baibot" +msgstr "" + +#: ../../../CHANGELOG.md:866 +msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" +msgstr "" + +#: ../../../CHANGELOG.md:868 +msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." +msgstr "" + +#: ../../../CHANGELOG.md:870 +msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." +msgstr "" + +#: ../../../CHANGELOG.md:872 +msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:874 +msgid "Switching synapse-admin to etke.cc's fork" +msgstr "" + +#: ../../../CHANGELOG.md:876 +msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +msgstr "" + +#: ../../../CHANGELOG.md:878 +msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +msgstr "" + +#: ../../../CHANGELOG.md:880 +msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +msgstr "" + +#: ../../../CHANGELOG.md:882 +msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:895 +msgid "2024-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:897 +msgid "New appservice-double-puppet service for better double-puppeting" +msgstr "" + +#: ../../../CHANGELOG.md:899 +msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +msgstr "" + +#: ../../../CHANGELOG.md:901 +msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +msgstr "" + +#: ../../../CHANGELOG.md:903 +msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +msgstr "" + +#: ../../../CHANGELOG.md:905 +msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." +msgstr "" + +#: ../../../CHANGELOG.md:907 +msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:913 +msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." +msgstr "" + +#: ../../../CHANGELOG.md:915 +msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgstr "" + +#: ../../../CHANGELOG.md:918 +msgid "2024-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:920 +msgid "matrix-media-repo now configured for Authenticated Media" +msgstr "" + +#: ../../../CHANGELOG.md:922 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +msgstr "" + +#: ../../../CHANGELOG.md:924 +msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." +msgstr "" + +#: ../../../CHANGELOG.md:926 +msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." +msgstr "" + +#: ../../../CHANGELOG.md:928 +msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:931 +msgid "2024-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:933 +msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +msgstr "" + +#: ../../../CHANGELOG.md:935 +msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +msgstr "" + +#: ../../../CHANGELOG.md:937 +msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +msgstr "" + +#: ../../../CHANGELOG.md:939 +msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:945 +msgid "2024-07-25" +msgstr "" + +#: ../../../CHANGELOG.md:947 +msgid "synapse-usage-exporter support" +msgstr "" + +#: ../../../CHANGELOG.md:949 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." +msgstr "" + +#: ../../../CHANGELOG.md:951 +msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:954 +msgid "2024-07-06" +msgstr "" + +#: ../../../CHANGELOG.md:956 +msgid "matrix-alertmanager-receiver support" +msgstr "" + +#: ../../../CHANGELOG.md:958 +msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +msgstr "" + +#: ../../../CHANGELOG.md:960 +msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +msgstr "" + +#: ../../../CHANGELOG.md:962 +msgid "Traefik v3 and HTTP/3 are here now" +msgstr "" + +#: ../../../CHANGELOG.md:964 +msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." +msgstr "" + +#: ../../../CHANGELOG.md:966 +msgid "Traefik v3" +msgstr "" + +#: ../../../CHANGELOG.md:968 +msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgstr "" + +#: ../../../CHANGELOG.md:970 +msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +msgstr "" + +#: ../../../CHANGELOG.md:972 +msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." +msgstr "" + +#: ../../../CHANGELOG.md:974 +msgid "**Most people using the playbook should not have to do any changes**." +msgstr "" + +#: ../../../CHANGELOG.md:976 +msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." +msgstr "" + +#: ../../../CHANGELOG.md:978 +msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." +msgstr "" + +#: ../../../CHANGELOG.md:980 +msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." +msgstr "" + +#: ../../../CHANGELOG.md:982 +msgid "HTTP/3 is enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:984 +msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +msgstr "" + +#: ../../../CHANGELOG.md:986 +msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +msgstr "" + +#: ../../../CHANGELOG.md:988 +msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +msgstr "" + +#: ../../../CHANGELOG.md:990 +msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." +msgstr "" + +#: ../../../CHANGELOG.md:992 +msgid "To **disable HTTP/3**, you can use the following configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:1006 +msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +msgstr "" + +#: ../../../CHANGELOG.md:1019 +msgid "2024-07-01" +msgstr "" + +#: ../../../CHANGELOG.md:1021 +msgid "synapse-admin is now restricted to your homeserver's URL by default" +msgstr "" + +#: ../../../CHANGELOG.md:1023 +msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." +msgstr "" + +#: ../../../CHANGELOG.md:1025 +msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +msgstr "" + +#: ../../../CHANGELOG.md:1027 +msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:1035 +msgid "2024-06-25" +msgstr "" + +#: ../../../CHANGELOG.md:1037 +msgid "The URL-prefix for Hookshot generic webhooks has changed" +msgstr "" + +#: ../../../CHANGELOG.md:1039 +msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +msgstr "" + +#: ../../../CHANGELOG.md:1041 +msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +msgstr "" + +#: ../../../CHANGELOG.md:1043 +msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." +msgstr "" + +#: ../../../CHANGELOG.md:1045 +msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." +msgstr "" + +#: ../../../CHANGELOG.md:1047 +msgid "When generating new webhooks, you should start seeing the new URLs being used." +msgstr "" + +#: ../../../CHANGELOG.md:1049 +msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." +msgstr "" + +#: ../../../CHANGELOG.md:1051 +msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +msgstr "" + +#: ../../../CHANGELOG.md:1054 +msgid "2024-06-22" +msgstr "" + +#: ../../../CHANGELOG.md:1056 +msgid "The maubot user is now managed by the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:1058 +msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1060 +msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +msgstr "" + +#: ../../../CHANGELOG.md:1062 +msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." +msgstr "" + +#: ../../../CHANGELOG.md:1065 +msgid "2024-06-03" +msgstr "" + +#: ../../../CHANGELOG.md:1067 +msgid "WeChat bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:1069 +msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:1071 +msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +msgstr "" + +#: ../../../CHANGELOG.md:1074 +msgid "2024-03-26" +msgstr "" + +#: ../../../CHANGELOG.md:1076 +msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +msgstr "" + +#: ../../../CHANGELOG.md:1078 +msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgstr "" + +#: ../../../CHANGELOG.md:1080 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." +msgstr "" + +#: ../../../CHANGELOG.md:1082 +msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." +msgstr "" + +#: ../../../CHANGELOG.md:1084 +msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." +msgstr "" + +#: ../../../CHANGELOG.md:1086 +msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgstr "" + +#: ../../../CHANGELOG.md:1088 +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgstr "" + +#: ../../../CHANGELOG.md:1099 +msgid "2024-03-24" +msgstr "" + +#: ../../../CHANGELOG.md:1101 +msgid "Initial work on IPv6 support" +msgstr "" + +#: ../../../CHANGELOG.md:1103 +msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." +msgstr "" + +#: ../../../CHANGELOG.md:1105 +msgid "It should be noted that:" +msgstr "" + +#: ../../../CHANGELOG.md:1107 +msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" +msgstr "" + +#: ../../../CHANGELOG.md:1108 +msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgstr "" + +#: ../../../CHANGELOG.md:1109 +msgid "this is all very new and untested" +msgstr "" + +#: ../../../CHANGELOG.md:1111 +msgid "Pantalaimon support" +msgstr "" + +#: ../../../CHANGELOG.md:1113 +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +msgstr "" + +#: ../../../CHANGELOG.md:1115 +msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:1118 +msgid "2024-03-05" +msgstr "" + +#: ../../../CHANGELOG.md:1120 +msgid "Support for Draupnir-for-all" +msgstr "" + +#: ../../../CHANGELOG.md:1122 +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +msgstr "" + +#: ../../../CHANGELOG.md:1124 +msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1126 +msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +msgstr "" + +#: ../../../CHANGELOG.md:1129 +msgid "2024-02-19" +msgstr "" + +#: ../../../CHANGELOG.md:1131 +msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +msgstr "" + +#: ../../../CHANGELOG.md:1133 +msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:1135 +msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." +msgstr "" + +#: ../../../CHANGELOG.md:1137 +msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" +msgstr "" + +#: ../../../CHANGELOG.md:1139 +msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1141 +msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1143 +msgid "The documentation pages contain more information on how to migrate." +msgstr "" + +#: ../../../CHANGELOG.md:1146 +msgid "2024-02-14" +msgstr "" + +#: ../../../CHANGELOG.md:1148 +msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:1150 +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." +msgstr "" + +#: ../../../CHANGELOG.md:1152 +msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." +msgstr "" + +#: ../../../CHANGELOG.md:1154 +msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" +msgstr "" + +#: ../../../CHANGELOG.md:1156 +msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" +msgstr "" + +#: ../../../CHANGELOG.md:1157 +msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" +msgstr "" + +#: ../../../CHANGELOG.md:1158 +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +msgstr "" + +#: ../../../CHANGELOG.md:1160 +msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +msgstr "" + +#: ../../../CHANGELOG.md:1162 +msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +msgstr "" + +#: ../../../CHANGELOG.md:1165 +msgid "2024-01-31" +msgstr "" + +#: ../../../CHANGELOG.md:1167 +msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +msgstr "" + +#: ../../../CHANGELOG.md:1169 +msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:1171 +msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." +msgstr "" + +#: ../../../CHANGELOG.md:1173 +msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1176 +msgid "2024-01-20" +msgstr "" + +#: ../../../CHANGELOG.md:1178 +msgid "Support for more efficient (specialized) Synapse workers" +msgstr "" + +#: ../../../CHANGELOG.md:1180 +msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgstr "" + +#: ../../../CHANGELOG.md:1182 +msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgstr "" + +#: ../../../CHANGELOG.md:1184 +msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgstr "" + +#: ../../../CHANGELOG.md:1186 +msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +msgstr "" + +#: ../../../CHANGELOG.md:1189 +msgid "2024-01-17" +msgstr "" + +#: ../../../CHANGELOG.md:1191 +msgid "Switching to Element's AGPLv3-licensed Synapse release" +msgstr "" + +#: ../../../CHANGELOG.md:1193 +msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +msgstr "" + +#: ../../../CHANGELOG.md:1195 +msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +msgstr "" + +#: ../../../CHANGELOG.md:1196 +msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +msgstr "" + +#: ../../../CHANGELOG.md:1198 +msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +msgstr "" + +#: ../../../CHANGELOG.md:1200 +msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +msgstr "" + +#: ../../../CHANGELOG.md:1202 +msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." +msgstr "" + +#: ../../../CHANGELOG.md:1204 +msgid "**What does this mean to you?**" +msgstr "" + +#: ../../../CHANGELOG.md:1206 +msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:1208 +msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +msgstr "" + +#: ../../../CHANGELOG.md:1210 +msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgstr "" + +#: ../../../CHANGELOG.md:1212 +msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:" +msgstr "" + +#: ../../../CHANGELOG.md:1224 +msgid "Notes:" +msgstr "" + +#: ../../../CHANGELOG.md:1226 +msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +msgstr "" + +#: ../../../CHANGELOG.md:1228 +msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +msgstr "" + +#: ../../../CHANGELOG.md:1230 +msgid "2024-01-16" +msgstr "" + +#: ../../../CHANGELOG.md:1232 +msgid "`Draupnir` has been relicensed to AFL-3.0" +msgstr "" + +#: ../../../CHANGELOG.md:1234 +msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +msgstr "" + +#: ../../../CHANGELOG.md:1236 +msgid "2024-01-15" +msgstr "" + +#: ../../../CHANGELOG.md:1238 +msgid "Goodbye, `matrix-nginx-proxy` 🪦" +msgstr "" + +#: ../../../CHANGELOG.md:1240 +msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." +msgstr "" + +#: ../../../CHANGELOG.md:1242 +msgid "Backstory on `matrix-nginx-proxy`" +msgstr "" + +#: ../../../CHANGELOG.md:1244 +msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." +msgstr "" + +#: ../../../CHANGELOG.md:1246 +msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." +msgstr "" + +#: ../../../CHANGELOG.md:1248 +msgid "To us, `matrix-nginx-proxy` was:" +msgstr "" + +#: ../../../CHANGELOG.md:1250 +msgid "an [nginx](https://nginx.org/)-based reverse-proxy" +msgstr "" + +#: ../../../CHANGELOG.md:1251 +msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1252 +msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" +msgstr "" + +#: ../../../CHANGELOG.md:1253 +msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" +msgstr "" + +#: ../../../CHANGELOG.md:1254 +msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" +msgstr "" + +#: ../../../CHANGELOG.md:1255 +msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" +msgstr "" + +#: ../../../CHANGELOG.md:1256 +msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" +msgstr "" + +#: ../../../CHANGELOG.md:1258 +msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +msgstr "" + +#: ../../../CHANGELOG.md:1260 +msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +msgstr "" + +#: ../../../CHANGELOG.md:1262 +msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +msgstr "" + +#: ../../../CHANGELOG.md:1264 +msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +msgstr "" + +#: ../../../CHANGELOG.md:1266 +msgid "Going Traefik-native and cutting out all middlemen" +msgstr "" + +#: ../../../CHANGELOG.md:1268 +msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +msgstr "" + +#: ../../../CHANGELOG.md:1270 +msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +msgstr "" + +#: ../../../CHANGELOG.md:1272 +msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +msgstr "" + +#: ../../../CHANGELOG.md:1274 +msgid "Traefik now has an extra job" +msgstr "" + +#: ../../../CHANGELOG.md:1276 +msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +msgstr "" + +#: ../../../CHANGELOG.md:1278 +msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +msgstr "" + +#: ../../../CHANGELOG.md:1280 +msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." +msgstr "" + +#: ../../../CHANGELOG.md:1282 +msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." +msgstr "" + +#: ../../../CHANGELOG.md:1284 +msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." +msgstr "" + +#: ../../../CHANGELOG.md:1286 +msgid "Traefik serving this second purpose has a few downsides:" +msgstr "" + +#: ../../../CHANGELOG.md:1288 +msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +msgstr "" + +#: ../../../CHANGELOG.md:1289 +msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +msgstr "" + +#: ../../../CHANGELOG.md:1291 +msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgstr "" + +#: ../../../CHANGELOG.md:1293 +msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +msgstr "" + +#: ../../../CHANGELOG.md:1295 +msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +msgstr "" + +#: ../../../CHANGELOG.md:1297 +msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +msgstr "" + +#: ../../../CHANGELOG.md:1299 +msgid "People managing their own Traefik instance need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1301 +msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." +msgstr "" + +#: ../../../CHANGELOG.md:1303 +msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." +msgstr "" + +#: ../../../CHANGELOG.md:1305 +msgid "People fronting Traefik with another reverse proxy need to do minor changes" +msgstr "" + +#: ../../../CHANGELOG.md:1307 +msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +msgstr "" + +#: ../../../CHANGELOG.md:1309 +msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +msgstr "" + +#: ../../../CHANGELOG.md:1311 +msgid "Supported reverse proxy types are now fewer" +msgstr "" + +#: ../../../CHANGELOG.md:1313 +msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." +msgstr "" + +#: ../../../CHANGELOG.md:1315 +msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgstr "" + +#: ../../../CHANGELOG.md:1317 +msgid "The complexity of this is too high, so we only support 3 values right now:" +msgstr "" + +#: ../../../CHANGELOG.md:1319 +msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" +msgstr "" + +#: ../../../CHANGELOG.md:1320 +msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgstr "" + +#: ../../../CHANGELOG.md:1321 +msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgstr "" + +#: ../../../CHANGELOG.md:1323 +msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgstr "" + +#: ../../../CHANGELOG.md:1325 +msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +msgstr "" + +#: ../../../CHANGELOG.md:1327 +msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:1329 +msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" +msgstr "" + +#: ../../../CHANGELOG.md:1330 +msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgstr "" + +#: ../../../CHANGELOG.md:1332 +msgid "Container networking changes" +msgstr "" + +#: ../../../CHANGELOG.md:1334 +msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +msgstr "" + +#: ../../../CHANGELOG.md:1336 +msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgstr "" + +#: ../../../CHANGELOG.md:1338 +msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." +msgstr "" + +#: ../../../CHANGELOG.md:1340 +msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +msgstr "" + +#: ../../../CHANGELOG.md:1342 +msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +msgstr "" + +#: ../../../CHANGELOG.md:1344 +msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +msgstr "" + +#: ../../../CHANGELOG.md:1346 +msgid "Metrics exposure changes" +msgstr "" + +#: ../../../CHANGELOG.md:1348 +msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +msgstr "" + +#: ../../../CHANGELOG.md:1350 +msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +msgstr "" + +#: ../../../CHANGELOG.md:1352 +msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +msgstr "" + +#: ../../../CHANGELOG.md:1354 +msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." +msgstr "" + +#: ../../../CHANGELOG.md:1356 +msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +msgstr "" + +#: ../../../CHANGELOG.md:1358 +msgid "Matrix static files" +msgstr "" + +#: ../../../CHANGELOG.md:1360 +msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +msgstr "" + +#: ../../../CHANGELOG.md:1362 +msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +msgstr "" + +#: ../../../CHANGELOG.md:1364 +msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +msgstr "" + +#: ../../../CHANGELOG.md:1366 +msgid "A note on performance" +msgstr "" + +#: ../../../CHANGELOG.md:1368 +msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +msgstr "" + +#: ../../../CHANGELOG.md:1370 +msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +msgstr "" + +#: ../../../CHANGELOG.md:1372 +msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +msgstr "" + +#: ../../../CHANGELOG.md:1374 +msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +msgstr "" + +#: ../../../CHANGELOG.md:1376 +msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." +msgstr "" + +#: ../../../CHANGELOG.md:1378 +msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." +msgstr "" + +#: ../../../CHANGELOG.md:1380 +msgid "Migration procedure" +msgstr "" + +#: ../../../CHANGELOG.md:1382 +msgid "The updated playbook will automatically perform some migration tasks for you:" +msgstr "" + +#: ../../../CHANGELOG.md:1384 +msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." +msgstr "" + +#: ../../../CHANGELOG.md:1386 +msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." +msgstr "" + +#: ../../../CHANGELOG.md:1388 +msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." +msgstr "" + +#: ../../../CHANGELOG.md:1390 +msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1392 +msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1394 +msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1396 +msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +msgstr "" + +#: ../../../CHANGELOG.md:1398 +msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +msgstr "" + +#: ../../../CHANGELOG.md:1400 +msgid "Conclusion" +msgstr "" + +#: ../../../CHANGELOG.md:1402 +msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +msgstr "" + +#: ../../../CHANGELOG.md:1404 +msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" +msgstr "" + +#: ../../../CHANGELOG.md:1407 +msgid "2024-01-14" +msgstr "" + +#: ../../../CHANGELOG.md:1409 +msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" +msgstr "" + +#: ../../../CHANGELOG.md:1411 +msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:1413 +msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." +msgstr "" + +#: ../../../CHANGELOG.md:1415 +msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +msgstr "" + +#: ../../../CHANGELOG.md:1417 +msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." +msgstr "" + +#: ../../../CHANGELOG.md:1419 +msgid "Adapt your configuration as seen below:" +msgstr "" + +#: ../../../CHANGELOG.md:1452 +msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgstr "" + +#: ../../../CHANGELOG.md:1455 +msgid "2024-01-13" +msgstr "" + +#: ../../../CHANGELOG.md:1457 +msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" +msgstr "" + +#: ../../../CHANGELOG.md:1459 +msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." +msgstr "" + +#: ../../../CHANGELOG.md:1461 +msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." +msgstr "" + +#: ../../../CHANGELOG.md:1463 +msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." +msgstr "" + +#: ../../../CHANGELOG.md:1465 +msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +msgstr "" + +#: ../../../CHANGELOG.md:1467 +msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." +msgstr "" + +#: ../../../CHANGELOG.md:1469 +msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +msgstr "" + +#: ../../../CHANGELOG.md:1471 +msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +msgstr "" + +#: ../../../CHANGELOG.md:1473 +msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +msgstr "" + +#: ../../../CHANGELOG.md:1475 +msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +msgstr "" + +#: ../../../CHANGELOG.md:1478 +msgid "2024-01-05" +msgstr "" + +#: ../../../CHANGELOG.md:1480 +msgid "matrix-mailer has been replaced by the exim-relay external role" +msgstr "" + +#: ../../../CHANGELOG.md:1482 ../../../CHANGELOG.md:2120 +msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +msgstr "" + +#: ../../../CHANGELOG.md:1484 +msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +msgstr "" + +#: ../../../CHANGELOG.md:1486 +msgid "To migrate:" +msgstr "" + +#: ../../../CHANGELOG.md:1488 +msgid "pull the playbook changes, as usual" +msgstr "" + +#: ../../../CHANGELOG.md:1489 +msgid "update your roles (run `just roles` or `make roles`)" +msgstr "" + +#: ../../../CHANGELOG.md:1490 +msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgstr "" + +#: ../../../CHANGELOG.md:1491 +msgid "re-run the playbook (`install-all` or `setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:1493 +msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +msgstr "" + +#: ../../../CHANGELOG.md:1496 +msgid "2024-01-02" +msgstr "" + +#: ../../../CHANGELOG.md:1498 +msgid "mautrix-signal now powered by the new Go-based bridge" +msgstr "" + +#: ../../../CHANGELOG.md:1500 +msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +msgstr "" + +#: ../../../CHANGELOG.md:1502 +msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +msgstr "" + +#: ../../../CHANGELOG.md:1504 +msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +msgstr "" + +#: ../../../CHANGELOG.md:1507 +msgid "2023-10-23" +msgstr "" + +#: ../../../CHANGELOG.md:1509 +msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:1511 msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected." msgstr "" -#: ../../../CHANGELOG.md:859 +#: ../../../CHANGELOG.md:1513 msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default." msgstr "" -#: ../../../CHANGELOG.md:861 +#: ../../../CHANGELOG.md:1515 msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)." msgstr "" -#: ../../../CHANGELOG.md:863 +#: ../../../CHANGELOG.md:1517 msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member." msgstr "" -#: ../../../CHANGELOG.md:865 +#: ../../../CHANGELOG.md:1519 msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:867 +#: ../../../CHANGELOG.md:1521 msgid "The **historical reasoning** behind this change is as follows:" msgstr "" -#: ../../../CHANGELOG.md:869 +#: ../../../CHANGELOG.md:1523 msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:871 +#: ../../../CHANGELOG.md:1525 msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense." msgstr "" -#: ../../../CHANGELOG.md:873 +#: ../../../CHANGELOG.md:1527 #, python-format msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful." msgstr "" -#: ../../../CHANGELOG.md:875 +#: ../../../CHANGELOG.md:1529 msgid "Here are **actions you may wish to take** as a result of this change:" msgstr "" -#: ../../../CHANGELOG.md:877 +#: ../../../CHANGELOG.md:1531 msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery." msgstr "" -#: ../../../CHANGELOG.md:879 +#: ../../../CHANGELOG.md:1533 msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them." msgstr "" -#: ../../../CHANGELOG.md:881 +#: ../../../CHANGELOG.md:1535 msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures." msgstr "" -#: ../../../CHANGELOG.md:884 +#: ../../../CHANGELOG.md:1538 msgid "2023-10-18" msgstr "" -#: ../../../CHANGELOG.md:886 +#: ../../../CHANGELOG.md:1540 msgid "Postgres parameters are automatically tuned now" msgstr "" -#: ../../../CHANGELOG.md:888 +#: ../../../CHANGELOG.md:1542 msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." msgstr "" -#: ../../../CHANGELOG.md:890 +#: ../../../CHANGELOG.md:1544 msgid "From now on, the [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) automatically tunes your Postgres configuration with the same [calculation logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) that powers https://pgtune.leopard.in.ua/." msgstr "" -#: ../../../CHANGELOG.md:892 +#: ../../../CHANGELOG.md:1546 msgid "Our [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) documentation page has details about how you can turn auto-tuning off or adjust the automatically-determined Postgres configuration parameters manually." msgstr "" -#: ../../../CHANGELOG.md:894 +#: ../../../CHANGELOG.md:1548 msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers." msgstr "" -#: ../../../CHANGELOG.md:897 +#: ../../../CHANGELOG.md:1551 msgid "2023-08-31" msgstr "" -#: ../../../CHANGELOG.md:899 +#: ../../../CHANGELOG.md:1553 msgid "SchildiChat Web support" msgstr "" -#: ../../../CHANGELOG.md:901 +#: ../../../CHANGELOG.md:1555 msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client." msgstr "" -#: ../../../CHANGELOG.md:903 +#: ../../../CHANGELOG.md:1557 msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:906 +#: ../../../CHANGELOG.md:1560 msgid "2023-08-23" msgstr "" -#: ../../../CHANGELOG.md:908 +#: ../../../CHANGELOG.md:1562 msgid "mautrix-wsproxy support" msgstr "" -#: ../../../CHANGELOG.md:910 +#: ../../../CHANGELOG.md:1564 msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)." msgstr "" -#: ../../../CHANGELOG.md:912 +#: ../../../CHANGELOG.md:1566 msgid "See our [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](docs/configuring-playbook-bridge-mautrix-wsproxy.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:915 +#: ../../../CHANGELOG.md:1569 msgid "2023-07-24" msgstr "" -#: ../../../CHANGELOG.md:917 +#: ../../../CHANGELOG.md:1571 msgid "matrix-registration-bot usage changed" msgstr "" -#: ../../../CHANGELOG.md:919 +#: ../../../CHANGELOG.md:1573 msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot." msgstr "" -#: ../../../CHANGELOG.md:921 +#: ../../../CHANGELOG.md:1575 msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings" msgstr "" -#: ../../../CHANGELOG.md:923 +#: ../../../CHANGELOG.md:1577 msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" msgstr "" -#: ../../../CHANGELOG.md:924 +#: ../../../CHANGELOG.md:1578 msgid "`matrix_bot_matrix_registration_bot_api_token`" msgstr "" -#: ../../../CHANGELOG.md:927 +#: ../../../CHANGELOG.md:1581 msgid "2023-07-21" msgstr "" -#: ../../../CHANGELOG.md:929 +#: ../../../CHANGELOG.md:1583 msgid "mautrix-gmessages support" msgstr "" -#: ../../../CHANGELOG.md:931 +#: ../../../CHANGELOG.md:1585 msgid "Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playbook now supports bridging to [Google Messages](https://messages.google.com/) via the [mautrix-gmessages](https://github.com/mautrix/gmessages) bridge. See our [Setting up Mautrix Google Messages bridging](docs/configuring-playbook-bridge-mautrix-gmessages.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:934 +#: ../../../CHANGELOG.md:1588 msgid "2023-07-17" msgstr "" -#: ../../../CHANGELOG.md:936 +#: ../../../CHANGELOG.md:1590 msgid "matrix-media-repo support" msgstr "" -#: ../../../CHANGELOG.md:938 +#: ../../../CHANGELOG.md:1592 msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features." msgstr "" -#: ../../../CHANGELOG.md:940 +#: ../../../CHANGELOG.md:1594 msgid "To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:943 +#: ../../../CHANGELOG.md:1597 msgid "2023-05-25" msgstr "" -#: ../../../CHANGELOG.md:945 +#: ../../../CHANGELOG.md:1599 msgid "Enabling `forget_rooms_on_leave` by default for Synapse" msgstr "" -#: ../../../CHANGELOG.md:947 +#: ../../../CHANGELOG.md:1601 msgid "With the [Synapse v1.84.0 update](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698), we've also **changed the default value** of the `forget_rooms_on_leave` setting of Synapse to a value of `true`. This way, **when you leave a room, Synapse will now forget it automatically**." msgstr "" -#: ../../../CHANGELOG.md:949 +#: ../../../CHANGELOG.md:1603 msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." msgstr "" -#: ../../../CHANGELOG.md:951 +#: ../../../CHANGELOG.md:1605 msgid "**We go against the upstream default** ([somewhat controversially](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700)) in an effort to make Synapse leaner and potentially do what we believe most users would expect their homeserver to be doing." msgstr "" -#: ../../../CHANGELOG.md:953 +#: ../../../CHANGELOG.md:1607 msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`" msgstr "" -#: ../../../CHANGELOG.md:956 +#: ../../../CHANGELOG.md:1610 msgid "2023-04-03" msgstr "" -#: ../../../CHANGELOG.md:958 +#: ../../../CHANGELOG.md:1612 msgid "The matrix-jitsi role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:960 +#: ../../../CHANGELOG.md:1614 msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:962 +#: ../../../CHANGELOG.md:1616 msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:964 +#: ../../../CHANGELOG.md:1618 msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" msgstr "" -#: ../../../CHANGELOG.md:966 +#: ../../../CHANGELOG.md:1620 msgid "**native Traefik support** has been added" msgstr "" -#: ../../../CHANGELOG.md:967 +#: ../../../CHANGELOG.md:1621 msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)" msgstr "" -#: ../../../CHANGELOG.md:969 +#: ../../../CHANGELOG.md:1623 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." msgstr "" -#: ../../../CHANGELOG.md:971 +#: ../../../CHANGELOG.md:1625 msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:973 +#: ../../../CHANGELOG.md:1627 msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:974 +#: ../../../CHANGELOG.md:1628 msgid "`matrix_jitsi_` -> `jitsi_`" msgstr "" -#: ../../../CHANGELOG.md:975 ../../../CHANGELOG.md:1002 +#: ../../../CHANGELOG.md:1629 ../../../CHANGELOG.md:1656 msgid "some other internal variables have changed, but the playbook will tell you about them" msgstr "" -#: ../../../CHANGELOG.md:977 +#: ../../../CHANGELOG.md:1631 msgid "2023-03-22" msgstr "" -#: ../../../CHANGELOG.md:979 +#: ../../../CHANGELOG.md:1633 msgid "ntfy Web App is disabled by default" msgstr "" -#: ../../../CHANGELOG.md:981 +#: ../../../CHANGELOG.md:1635 msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))." msgstr "" -#: ../../../CHANGELOG.md:983 +#: ../../../CHANGELOG.md:1637 msgid "This change was already applied a while before this entry, but as some users were reporting the missing web app, this entry was added (see [#2529](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2529))." msgstr "" -#: ../../../CHANGELOG.md:986 +#: ../../../CHANGELOG.md:1640 msgid "2023-03-21" msgstr "" -#: ../../../CHANGELOG.md:988 +#: ../../../CHANGELOG.md:1642 msgid "The matrix-prometheus role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:990 +#: ../../../CHANGELOG.md:1644 msgid "**TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:992 +#: ../../../CHANGELOG.md:1646 msgid "The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:994 +#: ../../../CHANGELOG.md:1648 msgid "Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know." msgstr "" -#: ../../../CHANGELOG.md:996 +#: ../../../CHANGELOG.md:1650 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." msgstr "" -#: ../../../CHANGELOG.md:998 +#: ../../../CHANGELOG.md:1652 msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:1000 +#: ../../../CHANGELOG.md:1654 msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1001 +#: ../../../CHANGELOG.md:1655 msgid "`matrix_prometheus_` -> `prometheus_`" msgstr "" -#: ../../../CHANGELOG.md:1005 +#: ../../../CHANGELOG.md:1659 msgid "2023-03-12" msgstr "" -#: ../../../CHANGELOG.md:1007 +#: ../../../CHANGELOG.md:1661 msgid "synapse-auto-compressor support" msgstr "" -#: ../../../CHANGELOG.md:1009 +#: ../../../CHANGELOG.md:1663 msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically." msgstr "" -#: ../../../CHANGELOG.md:1011 +#: ../../../CHANGELOG.md:1665 msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:" msgstr "" -#: ../../../CHANGELOG.md:1013 +#: ../../../CHANGELOG.md:1667 msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" msgstr "" -#: ../../../CHANGELOG.md:1014 +#: ../../../CHANGELOG.md:1668 msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" msgstr "" -#: ../../../CHANGELOG.md:1016 +#: ../../../CHANGELOG.md:1670 msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations." msgstr "" -#: ../../../CHANGELOG.md:1018 +#: ../../../CHANGELOG.md:1672 msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1021 +#: ../../../CHANGELOG.md:1675 msgid "2023-03-07" msgstr "" -#: ../../../CHANGELOG.md:1023 +#: ../../../CHANGELOG.md:1677 msgid "Sliding Sync proxy (Element X) support" msgstr "" -#: ../../../CHANGELOG.md:1025 +#: ../../../CHANGELOG.md:1679 msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)." msgstr "" -#: ../../../CHANGELOG.md:1027 +#: ../../../CHANGELOG.md:1681 msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support." msgstr "" -#: ../../../CHANGELOG.md:1029 +#: ../../../CHANGELOG.md:1683 msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:1032 +#: ../../../CHANGELOG.md:1686 msgid "2023-03-02" msgstr "" -#: ../../../CHANGELOG.md:1034 +#: ../../../CHANGELOG.md:1688 msgid "The matrix-etherpad role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1036 +#: ../../../CHANGELOG.md:1690 msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1038 +#: ../../../CHANGELOG.md:1692 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." msgstr "" -#: ../../../CHANGELOG.md:1040 +#: ../../../CHANGELOG.md:1694 msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:1042 +#: ../../../CHANGELOG.md:1696 msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" msgstr "" -#: ../../../CHANGELOG.md:1044 +#: ../../../CHANGELOG.md:1698 msgid "Replace `matrix_etherpad_mode: dimension` with:" msgstr "" -#: ../../../CHANGELOG.md:1045 +#: ../../../CHANGELOG.md:1699 msgid "for `matrix-nginx-proxy` users:" msgstr "" -#: ../../../CHANGELOG.md:1046 +#: ../../../CHANGELOG.md:1700 msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" msgstr "" -#: ../../../CHANGELOG.md:1047 +#: ../../../CHANGELOG.md:1701 msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" msgstr "" -#: ../../../CHANGELOG.md:1048 +#: ../../../CHANGELOG.md:1702 msgid "for Traefik users:" msgstr "" -#: ../../../CHANGELOG.md:1049 +#: ../../../CHANGELOG.md:1703 msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" msgstr "" -#: ../../../CHANGELOG.md:1051 +#: ../../../CHANGELOG.md:1705 msgid "Rename all other variables:" msgstr "" -#: ../../../CHANGELOG.md:1052 +#: ../../../CHANGELOG.md:1706 msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1053 +#: ../../../CHANGELOG.md:1707 msgid "`matrix_etherpad_` -> `etherpad_`" msgstr "" -#: ../../../CHANGELOG.md:1055 +#: ../../../CHANGELOG.md:1709 msgid "Along with this relocation, the new role also:" msgstr "" -#: ../../../CHANGELOG.md:1057 +#: ../../../CHANGELOG.md:1711 msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" msgstr "" -#: ../../../CHANGELOG.md:1058 +#: ../../../CHANGELOG.md:1712 msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" msgstr "" -#: ../../../CHANGELOG.md:1061 +#: ../../../CHANGELOG.md:1715 msgid "2023-02-26" msgstr "" -#: ../../../CHANGELOG.md:1063 +#: ../../../CHANGELOG.md:1717 msgid "Traefik is the default reverse-proxy now" msgstr "" -#: ../../../CHANGELOG.md:1065 +#: ../../../CHANGELOG.md:1719 msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed." msgstr "" -#: ../../../CHANGELOG.md:1067 +#: ../../../CHANGELOG.md:1721 msgid "As mentioned 2 weeks ago in [(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support](#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support), the playbook is moving to Traefik as its default SSL-terminating reverse-proxy." msgstr "" -#: ../../../CHANGELOG.md:1069 +#: ../../../CHANGELOG.md:1723 msgid "Until now, we've been doing the migration gradually and keeping full backward compatibility. New installations were defaulting to `matrix-nginx-proxy` (just like before), while existing installations were allowed to remain on `matrix-nginx-proxy` as well. This makes things very difficult for us, because we need to maintain and think about lots of different setups:" msgstr "" -#: ../../../CHANGELOG.md:1071 +#: ../../../CHANGELOG.md:1725 msgid "Traefik managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1072 +#: ../../../CHANGELOG.md:1726 msgid "Traefik managed by the user in another way" msgstr "" -#: ../../../CHANGELOG.md:1073 +#: ../../../CHANGELOG.md:1727 msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" msgstr "" -#: ../../../CHANGELOG.md:1074 +#: ../../../CHANGELOG.md:1728 msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" msgstr "" -#: ../../../CHANGELOG.md:1075 +#: ../../../CHANGELOG.md:1729 msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1076 +#: ../../../CHANGELOG.md:1730 msgid "`nginx` webserver operated by the user, running without a container on the same server" msgstr "" -#: ../../../CHANGELOG.md:1078 +#: ../../../CHANGELOG.md:1732 msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support." msgstr "" -#: ../../../CHANGELOG.md:1080 +#: ../../../CHANGELOG.md:1734 msgid "We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for." msgstr "" -#: ../../../CHANGELOG.md:1082 +#: ../../../CHANGELOG.md:1736 msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" msgstr "" -#: ../../../CHANGELOG.md:1084 +#: ../../../CHANGELOG.md:1738 msgid "Traefik is now the default reverse-proxy for new installations" msgstr "" -#: ../../../CHANGELOG.md:1085 +#: ../../../CHANGELOG.md:1739 msgid "All existing users need to explicitly choose their reverse-proxy type by defining the `matrix_playbook_reverse_proxy_type` variable in their `vars.yml` configuration file. We strongly encourage existing users to [switch the Traefik](#how-to-switch-an-existing-setup-to-traefik), as the nginx setup is bound to become more and more broken over time until it's ultimately removed" msgstr "" -#: ../../../CHANGELOG.md:1087 +#: ../../../CHANGELOG.md:1741 msgid "How do I switch my existing setup to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:1089 +#: ../../../CHANGELOG.md:1743 msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)." msgstr "" -#: ../../../CHANGELOG.md:1091 +#: ../../../CHANGELOG.md:1745 msgid "If you experience trouble:" msgstr "" -#: ../../../CHANGELOG.md:1093 +#: ../../../CHANGELOG.md:1747 msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy" msgstr "" -#: ../../../CHANGELOG.md:1094 +#: ../../../CHANGELOG.md:1748 msgid "Ask for help in our [support channels](README.md#support)" msgstr "" -#: ../../../CHANGELOG.md:1095 +#: ../../../CHANGELOG.md:1749 msgid "Try switching to Traefik again later" msgstr "" -#: ../../../CHANGELOG.md:1097 +#: ../../../CHANGELOG.md:1751 msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future." msgstr "" -#: ../../../CHANGELOG.md:1099 +#: ../../../CHANGELOG.md:1753 msgid "I already use my own Traefik server. How do I plug that in?" msgstr "" -#: ../../../CHANGELOG.md:1101 +#: ../../../CHANGELOG.md:1755 msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." msgstr "" -#: ../../../CHANGELOG.md:1103 +#: ../../../CHANGELOG.md:1757 msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:1105 +#: ../../../CHANGELOG.md:1759 msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." msgstr "" -#: ../../../CHANGELOG.md:1107 +#: ../../../CHANGELOG.md:1761 msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed." msgstr "" -#: ../../../CHANGELOG.md:1109 +#: ../../../CHANGELOG.md:1763 msgid "How do I remain on matrix-nginx-proxy?" msgstr "" -#: ../../../CHANGELOG.md:1111 +#: ../../../CHANGELOG.md:1765 msgid "Most new work and testing targets Traefik, so remaining on nginx is **not** \"the good old stable\" option, but rather the \"still available, but largely untested and likely to be broken very soon\" option." msgstr "" -#: ../../../CHANGELOG.md:1113 +#: ../../../CHANGELOG.md:1767 msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." msgstr "" -#: ../../../CHANGELOG.md:1115 +#: ../../../CHANGELOG.md:1769 msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly." msgstr "" -#: ../../../CHANGELOG.md:1117 +#: ../../../CHANGELOG.md:1771 msgid "How do I keep using my own other reverse-proxy?" msgstr "" -#: ../../../CHANGELOG.md:1119 +#: ../../../CHANGELOG.md:1773 msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." msgstr "" -#: ../../../CHANGELOG.md:1122 +#: ../../../CHANGELOG.md:1776 msgid "2023-02-25" msgstr "" -#: ../../../CHANGELOG.md:1124 +#: ../../../CHANGELOG.md:1778 msgid "rageshake support" msgstr "" -#: ../../../CHANGELOG.md:1126 +#: ../../../CHANGELOG.md:1780 msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." msgstr "" -#: ../../../CHANGELOG.md:1128 +#: ../../../CHANGELOG.md:1782 msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." msgstr "" -#: ../../../CHANGELOG.md:1131 +#: ../../../CHANGELOG.md:1785 msgid "2023-02-17" msgstr "" -#: ../../../CHANGELOG.md:1133 +#: ../../../CHANGELOG.md:1787 msgid "Synapse templates customization support" msgstr "" -#: ../../../CHANGELOG.md:1135 +#: ../../../CHANGELOG.md:1789 msgid "The playbook can now help you customize Synapse's templates." msgstr "" -#: ../../../CHANGELOG.md:1137 +#: ../../../CHANGELOG.md:1791 msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." msgstr "" -#: ../../../CHANGELOG.md:1139 +#: ../../../CHANGELOG.md:1793 msgid "The matrix-redis role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1141 +#: ../../../CHANGELOG.md:1795 msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1143 +#: ../../../CHANGELOG.md:1797 msgid "The `matrix-redis` role (which configures [Redis](https://redis.io/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-redis). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1145 +#: ../../../CHANGELOG.md:1799 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)." msgstr "" -#: ../../../CHANGELOG.md:1147 +#: ../../../CHANGELOG.md:1801 msgid "The matrix-ntfy role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1149 +#: ../../../CHANGELOG.md:1803 msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1151 +#: ../../../CHANGELOG.md:1805 msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1153 +#: ../../../CHANGELOG.md:1807 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)." msgstr "" -#: ../../../CHANGELOG.md:1156 +#: ../../../CHANGELOG.md:1810 msgid "2023-02-15" msgstr "" -#: ../../../CHANGELOG.md:1158 +#: ../../../CHANGELOG.md:1812 msgid "The matrix-grafana role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1160 +#: ../../../CHANGELOG.md:1814 msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1162 +#: ../../../CHANGELOG.md:1816 msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks." msgstr "" -#: ../../../CHANGELOG.md:1164 +#: ../../../CHANGELOG.md:1818 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)." msgstr "" -#: ../../../CHANGELOG.md:1167 +#: ../../../CHANGELOG.md:1821 msgid "2023-02-13" msgstr "" -#: ../../../CHANGELOG.md:1169 +#: ../../../CHANGELOG.md:1823 msgid "The matrix-backup-borg role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1171 +#: ../../../CHANGELOG.md:1825 msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1173 +#: ../../../CHANGELOG.md:1827 msgid "Thanks to [moan0s](https://github.com/moan0s), the `matrix-backup-borg` role (which configures [BorgBackup](docs/configuring-playbook-backup-borg.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). This makes it possible to easily use it in other Ansible playbooks and will become part of [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) soon." msgstr "" -#: ../../../CHANGELOG.md:1175 +#: ../../../CHANGELOG.md:1829 msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Borg's backup functionality or not. If you're making use of BorgBackup via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_backup_borg_` -> `backup_borg_`)." msgstr "" -#: ../../../CHANGELOG.md:1178 +#: ../../../CHANGELOG.md:1832 msgid "2023-02-12" msgstr "" -#: ../../../CHANGELOG.md:1180 +#: ../../../CHANGELOG.md:1834 msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" msgstr "" -#: ../../../CHANGELOG.md:1182 +#: ../../../CHANGELOG.md:1836 msgid "**TLDR**:" msgstr "" -#: ../../../CHANGELOG.md:1184 +#: ../../../CHANGELOG.md:1838 msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways." msgstr "" -#: ../../../CHANGELOG.md:1185 +#: ../../../CHANGELOG.md:1839 msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now." msgstr "" -#: ../../../CHANGELOG.md:1186 +#: ../../../CHANGELOG.md:1840 msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`" msgstr "" -#: ../../../CHANGELOG.md:1187 +#: ../../../CHANGELOG.md:1841 msgid "we now have **optional [Traefik](https://traefik.io/) support**, so you could easily host Matrix and other Traefik-native services in containers on the same server. Traefik support is still experimental (albeit, good enough) and will improve over time. It does work, but certain esoteric features may not be there yet." msgstr "" -#: ../../../CHANGELOG.md:1188 +#: ../../../CHANGELOG.md:1842 msgid "**Traefik will become the default reverse-proxy in the near future**. `matrix-nginx-proxy` will either remain as an option, or be completely removed to simplify the playbook" msgstr "" -#: ../../../CHANGELOG.md:1190 +#: ../../../CHANGELOG.md:1844 msgid "Motivation for redoing our reverse-proxy setup" msgstr "" -#: ../../../CHANGELOG.md:1192 +#: ../../../CHANGELOG.md:1846 msgid "The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**." msgstr "" -#: ../../../CHANGELOG.md:1194 +#: ../../../CHANGELOG.md:1848 msgid "We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**." msgstr "" -#: ../../../CHANGELOG.md:1196 +#: ../../../CHANGELOG.md:1850 msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else." msgstr "" -#: ../../../CHANGELOG.md:1198 +#: ../../../CHANGELOG.md:1852 msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook." msgstr "" -#: ../../../CHANGELOG.md:1200 +#: ../../../CHANGELOG.md:1854 msgid "Others still, wanted to run Matrix locally (no SSL certificates), regardless of which web server technology this relied on, and then **reverse-proxy from another machine on the network** which was doing SSL termination. These people were:" msgstr "" -#: ../../../CHANGELOG.md:1202 +#: ../../../CHANGELOG.md:1856 msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" msgstr "" -#: ../../../CHANGELOG.md:1203 +#: ../../../CHANGELOG.md:1857 msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." msgstr "" -#: ../../../CHANGELOG.md:1205 +#: ../../../CHANGELOG.md:1859 msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." msgstr "" -#: ../../../CHANGELOG.md:1207 +#: ../../../CHANGELOG.md:1861 msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)." msgstr "" -#: ../../../CHANGELOG.md:1209 +#: ../../../CHANGELOG.md:1863 msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" msgstr "" -#: ../../../CHANGELOG.md:1211 +#: ../../../CHANGELOG.md:1865 msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager" msgstr "" -#: ../../../CHANGELOG.md:1212 +#: ../../../CHANGELOG.md:1866 msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service" msgstr "" -#: ../../../CHANGELOG.md:1213 +#: ../../../CHANGELOG.md:1867 msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" msgstr "" -#: ../../../CHANGELOG.md:1215 +#: ../../../CHANGELOG.md:1869 msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy." msgstr "" -#: ../../../CHANGELOG.md:1217 +#: ../../../CHANGELOG.md:1871 msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`." msgstr "" -#: ../../../CHANGELOG.md:1219 +#: ../../../CHANGELOG.md:1873 msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with." msgstr "" -#: ../../../CHANGELOG.md:1221 +#: ../../../CHANGELOG.md:1875 msgid "How do these changes fix all these problems?" msgstr "" -#: ../../../CHANGELOG.md:1223 +#: ../../../CHANGELOG.md:1877 msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now." msgstr "" -#: ../../../CHANGELOG.md:1225 +#: ../../../CHANGELOG.md:1879 msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services." msgstr "" -#: ../../../CHANGELOG.md:1227 +#: ../../../CHANGELOG.md:1881 msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers." msgstr "" -#: ../../../CHANGELOG.md:1229 +#: ../../../CHANGELOG.md:1883 msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler." msgstr "" -#: ../../../CHANGELOG.md:1231 +#: ../../../CHANGELOG.md:1885 msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release." msgstr "" -#: ../../../CHANGELOG.md:1233 +#: ../../../CHANGELOG.md:1887 msgid "Traefik does not lock important functionality we'd like to use into [plus packages like nginx does](https://www.nginx.com/products/nginx/), leading us to resolve to configuration workarounds. The default Traefik package is good enough as it is." msgstr "" -#: ../../../CHANGELOG.md:1235 +#: ../../../CHANGELOG.md:1889 msgid "Where we're at right now?" msgstr "" -#: ../../../CHANGELOG.md:1237 +#: ../../../CHANGELOG.md:1891 msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." msgstr "" -#: ../../../CHANGELOG.md:1239 +#: ../../../CHANGELOG.md:1893 msgid "Unless we have some regression, **existing `matrix-nginx-proxy` users should be able to update their Matrix server and not observe any changes**. Their setup should still remain on nginx and everything should still work as expected." msgstr "" -#: ../../../CHANGELOG.md:1241 +#: ../../../CHANGELOG.md:1895 msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`." msgstr "" -#: ../../../CHANGELOG.md:1243 +#: ../../../CHANGELOG.md:1897 msgid "How do I explicitly switch to Traefik right now?" msgstr "" -#: ../../../CHANGELOG.md:1245 +#: ../../../CHANGELOG.md:1899 msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" msgstr "" -#: ../../../CHANGELOG.md:1253 +#: ../../../CHANGELOG.md:1905 msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed." msgstr "" -#: ../../../CHANGELOG.md:1255 +#: ../../../CHANGELOG.md:1907 msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble." msgstr "" -#: ../../../CHANGELOG.md:1257 +#: ../../../CHANGELOG.md:1909 msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often." msgstr "" -#: ../../../CHANGELOG.md:1259 +#: ../../../CHANGELOG.md:1911 msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time." msgstr "" -#: ../../../CHANGELOG.md:1261 +#: ../../../CHANGELOG.md:1913 msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool." msgstr "" -#: ../../../CHANGELOG.md:1263 +#: ../../../CHANGELOG.md:1915 msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience." msgstr "" -#: ../../../CHANGELOG.md:1265 +#: ../../../CHANGELOG.md:1917 msgid "Where we're going in the near future?" msgstr "" -#: ../../../CHANGELOG.md:1267 +#: ../../../CHANGELOG.md:1919 msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point." msgstr "" -#: ../../../CHANGELOG.md:1269 +#: ../../../CHANGELOG.md:1921 msgid "For now, `matrix-nginx-proxy` will stay around." msgstr "" -#: ../../../CHANGELOG.md:1271 +#: ../../../CHANGELOG.md:1923 msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight." msgstr "" -#: ../../../CHANGELOG.md:1273 +#: ../../../CHANGELOG.md:1925 msgid "As Traefik support becomes complete and proves to be stable for a while, especially as a playbook default, we will **most likely remove `matrix-nginx-proxy` completely**. It will likely be some months before this happens though. Keeping support for both Traefik and nginx in the playbook will be a burden, especially with most of us running Traefik in the future. The Traefik role should do everything nginx does in a better and cleaner way. Users who use their own `nginx` server on the Matrix server will be inconvenienced, as nothing will generate ready-to-include nginx configuration for them. Still, we hope it won't be too hard to migrate their setup to another way of doing things, like:" msgstr "" -#: ../../../CHANGELOG.md:1275 +#: ../../../CHANGELOG.md:1927 msgid "not using nginx anymore. A common reason for using nginx until now was that you were running other containers and you need your own nginx to reverse-proxy to all of them. Just switch them to Traefik as well." msgstr "" -#: ../../../CHANGELOG.md:1276 +#: ../../../CHANGELOG.md:1928 msgid "running Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and using some nginx configuration which reverse-proxies to Traefik (we should introduce examples for this in `examples/nginx`)." msgstr "" -#: ../../../CHANGELOG.md:1278 +#: ../../../CHANGELOG.md:1930 msgid "How do I help?" msgstr "" -#: ../../../CHANGELOG.md:1280 +#: ../../../CHANGELOG.md:1932 msgid "You can help by:" msgstr "" -#: ../../../CHANGELOG.md:1282 +#: ../../../CHANGELOG.md:1934 msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles" msgstr "" -#: ../../../CHANGELOG.md:1284 +#: ../../../CHANGELOG.md:1936 msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)." msgstr "" -#: ../../../CHANGELOG.md:1286 +#: ../../../CHANGELOG.md:1938 msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server" msgstr "" -#: ../../../CHANGELOG.md:1289 +#: ../../../CHANGELOG.md:1941 msgid "2023-02-10" msgstr "" -#: ../../../CHANGELOG.md:1291 +#: ../../../CHANGELOG.md:1943 msgid "Matrix Authentication Support for Jitsi" msgstr "" -#: ../../../CHANGELOG.md:1293 +#: ../../../CHANGELOG.md:1945 msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))." msgstr "" -#: ../../../CHANGELOG.md:1295 +#: ../../../CHANGELOG.md:1947 msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)." msgstr "" -#: ../../../CHANGELOG.md:1297 +#: ../../../CHANGELOG.md:1949 msgid "Draupnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:1299 +#: ../../../CHANGELOG.md:1951 msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer." msgstr "" -#: ../../../CHANGELOG.md:1301 +#: ../../../CHANGELOG.md:1953 msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." msgstr "" -#: ../../../CHANGELOG.md:1304 +#: ../../../CHANGELOG.md:1956 msgid "2023-02-05" msgstr "" -#: ../../../CHANGELOG.md:1306 +#: ../../../CHANGELOG.md:1958 msgid "The matrix-prometheus-postgres-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1308 +#: ../../../CHANGELOG.md:1960 msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1310 +#: ../../../CHANGELOG.md:1962 msgid "The `matrix-prometheus-postgres-exporter` role (which configures [Prometheus Postgres Exporter](https://github.com/prometheus-community/postgres_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter" msgstr "" -#: ../../../CHANGELOG.md:1312 +#: ../../../CHANGELOG.md:1964 msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1314 +#: ../../../CHANGELOG.md:1966 msgid "The `matrix-prometheus-services-proxy-connect` role has bee adjusted to help integrate the new `prometheus_postgres_exporter` role with our own services (`matrix-nginx-proxy`)" msgstr "" -#: ../../../CHANGELOG.md:1316 ../../../CHANGELOG.md:1358 +#: ../../../CHANGELOG.md:1968 ../../../CHANGELOG.md:2010 msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily." msgstr "" -#: ../../../CHANGELOG.md:1319 +#: ../../../CHANGELOG.md:1971 msgid "2023-01-26" msgstr "" -#: ../../../CHANGELOG.md:1321 +#: ../../../CHANGELOG.md:1973 msgid "coturn can now use host-networking" msgstr "" -#: ../../../CHANGELOG.md:1323 -msgid "Large coturn deployments (with a huge range of ports specified via `matrix_coturn_turn_udp_min_port` and `matrix_coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." -msgstr "" - -#: ../../../CHANGELOG.md:1325 -msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1331 -msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." -msgstr "" - -#: ../../../CHANGELOG.md:1333 -msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." -msgstr "" - -#: ../../../CHANGELOG.md:1335 -msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" -msgstr "" - -#: ../../../CHANGELOG.md:1337 -msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `matrix_coturn_denied_peer_ips` and remove some IP ranges from it." -msgstr "" - -#: ../../../CHANGELOG.md:1339 -msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." -msgstr "" - -#: ../../../CHANGELOG.md:1341 -msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `matrix_coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." -msgstr "" - -#: ../../../CHANGELOG.md:1343 -msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." -msgstr "" - -#: ../../../CHANGELOG.md:1346 -msgid "2023-01-21" -msgstr "" - -#: ../../../CHANGELOG.md:1348 -msgid "The matrix-prometheus-node-exporter role lives independently now" -msgstr "" - -#: ../../../CHANGELOG.md:1350 -msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." -msgstr "" - -#: ../../../CHANGELOG.md:1352 -msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" -msgstr "" - -#: ../../../CHANGELOG.md:1354 -msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." -msgstr "" - -#: ../../../CHANGELOG.md:1356 -msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" -msgstr "" - -#: ../../../CHANGELOG.md:1361 -msgid "2023-01-13" -msgstr "" - -#: ../../../CHANGELOG.md:1363 -msgid "Support for running commands via just" -msgstr "" - -#: ../../../CHANGELOG.md:1365 -msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." -msgstr "" - -#: ../../../CHANGELOG.md:1367 -msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." -msgstr "" - -#: ../../../CHANGELOG.md:1369 -msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" -msgstr "" - -#: ../../../CHANGELOG.md:1371 -msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" -msgstr "" - -#: ../../../CHANGELOG.md:1372 -msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" -msgstr "" - -#: ../../../CHANGELOG.md:1373 -msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" -msgstr "" - -#: ../../../CHANGELOG.md:1374 -msgid "`just start-all` — (re-)starts all services" -msgstr "" - -#: ../../../CHANGELOG.md:1375 -msgid "`just stop-group postgres` — to stop only the Postgres service" -msgstr "" - -#: ../../../CHANGELOG.md:1376 -msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" -msgstr "" - -#: ../../../CHANGELOG.md:1378 -msgid "Additional helpful commands and shortcuts may be defined in the future." -msgstr "" - -#: ../../../CHANGELOG.md:1380 -msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." -msgstr "" - -#: ../../../CHANGELOG.md:1383 -msgid "2023-01-11" -msgstr "" - -#: ../../../CHANGELOG.md:1385 -msgid "mautrix-slack support" -msgstr "" - -#: ../../../CHANGELOG.md:1387 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." -msgstr "" - -#: ../../../CHANGELOG.md:1389 -msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." -msgstr "" - -#: ../../../CHANGELOG.md:1392 -msgid "2023-01-10" -msgstr "" - -#: ../../../CHANGELOG.md:1394 -msgid "ChatGPT support" -msgstr "" - -#: ../../../CHANGELOG.md:1396 -msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." -msgstr "" - -#: ../../../CHANGELOG.md:1398 -msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1401 -msgid "2022-11-30" -msgstr "" - -#: ../../../CHANGELOG.md:1403 -msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" -msgstr "" - -#: ../../../CHANGELOG.md:1405 -msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." -msgstr "" - -#: ../../../CHANGELOG.md:1407 -msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." -msgstr "" - -#: ../../../CHANGELOG.md:1410 -msgid "2022-11-28" -msgstr "" - -#: ../../../CHANGELOG.md:1412 -msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" -msgstr "" - -#: ../../../CHANGELOG.md:1414 -msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." -msgstr "" - -#: ../../../CHANGELOG.md:1416 -msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." -msgstr "" - -#: ../../../CHANGELOG.md:1418 -msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" -msgstr "" - -#: ../../../CHANGELOG.md:1420 -msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" -msgstr "" - -#: ../../../CHANGELOG.md:1421 -msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" -msgstr "" - -#: ../../../CHANGELOG.md:1423 -msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." -msgstr "" - -#: ../../../CHANGELOG.md:1425 -msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." -msgstr "" - -#: ../../../CHANGELOG.md:1427 -msgid "The playbook no longer installs scripts to /usr/local/bin" -msgstr "" - -#: ../../../CHANGELOG.md:1429 -msgid "The locations of various scripts installed by the playbook have changed." -msgstr "" - -#: ../../../CHANGELOG.md:1431 -msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" -msgstr "" - -#: ../../../CHANGELOG.md:1433 -msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" -msgstr "" - -#: ../../../CHANGELOG.md:1434 -msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" -msgstr "" - -#: ../../../CHANGELOG.md:1435 -msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" -msgstr "" - -#: ../../../CHANGELOG.md:1436 -msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" -msgstr "" - -#: ../../../CHANGELOG.md:1439 -msgid "2022-11-25" -msgstr "" - -#: ../../../CHANGELOG.md:1441 -msgid "2x-5x performance improvements in playbook runtime" -msgstr "" - -#: ../../../CHANGELOG.md:1443 -msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." -msgstr "" - -#: ../../../CHANGELOG.md:1445 -msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." -msgstr "" - -#: ../../../CHANGELOG.md:1447 -msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." -msgstr "" - -#: ../../../CHANGELOG.md:1449 -msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" -msgstr "" - -#: ../../../CHANGELOG.md:1451 -msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." -msgstr "" - -#: ../../../CHANGELOG.md:1453 -msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." -msgstr "" - -#: ../../../CHANGELOG.md:1455 -msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." -msgstr "" - -#: ../../../CHANGELOG.md:1457 -msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." -msgstr "" - -#: ../../../CHANGELOG.md:1460 -msgid "2022-11-22" -msgstr "" - -#: ../../../CHANGELOG.md:1462 -msgid "Automatic `matrix_architecture` determination" -msgstr "" - -#: ../../../CHANGELOG.md:1464 -msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." -msgstr "" - -#: ../../../CHANGELOG.md:1466 -msgid "Docker and the Docker SDK for Python are now installed via external roles" -msgstr "" - -#: ../../../CHANGELOG.md:1470 -msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." -msgstr "" - -#: ../../../CHANGELOG.md:1472 -msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." -msgstr "" - -#: ../../../CHANGELOG.md:1474 -msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." -msgstr "" - -#: ../../../CHANGELOG.md:1476 -msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." -msgstr "" - -#: ../../../CHANGELOG.md:1479 -msgid "2022-11-20" -msgstr "" - -#: ../../../CHANGELOG.md:1481 -msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" -msgstr "" - -#: ../../../CHANGELOG.md:1483 -msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." -msgstr "" - -#: ../../../CHANGELOG.md:1485 -msgid "Background" -msgstr "" - -#: ../../../CHANGELOG.md:1487 -msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." -msgstr "" - -#: ../../../CHANGELOG.md:1489 -msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." -msgstr "" - -#: ../../../CHANGELOG.md:1491 -msgid "Solution" -msgstr "" - -#: ../../../CHANGELOG.md:1493 -msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" -msgstr "" - -#: ../../../CHANGELOG.md:1495 -msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" -msgstr "" - -#: ../../../CHANGELOG.md:1497 -msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" -msgstr "" - -#: ../../../CHANGELOG.md:1498 -msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" -msgstr "" - -#: ../../../CHANGELOG.md:1499 -msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" -msgstr "" - -#: ../../../CHANGELOG.md:1501 -msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" -msgstr "" - -#: ../../../CHANGELOG.md:1503 -msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" -msgstr "" - -#: ../../../CHANGELOG.md:1505 -msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1507 -msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." -msgstr "" - -#: ../../../CHANGELOG.md:1509 -msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." -msgstr "" - -#: ../../../CHANGELOG.md:1511 -msgid "Webserver configuration" -msgstr "" - -#: ../../../CHANGELOG.md:1513 -msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" -msgstr "" - -#: ../../../CHANGELOG.md:1515 -msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" -msgstr "" - -#: ../../../CHANGELOG.md:1517 -msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" -msgstr "" - -#: ../../../CHANGELOG.md:1519 -msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" -msgstr "" - -#: ../../../CHANGELOG.md:1521 -msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." -msgstr "" - -#: ../../../CHANGELOG.md:1524 -msgid "2022-11-05" -msgstr "" - -#: ../../../CHANGELOG.md:1526 -msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" -msgstr "" - -#: ../../../CHANGELOG.md:1528 -msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." -msgstr "" - -#: ../../../CHANGELOG.md:1530 -msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." -msgstr "" - -#: ../../../CHANGELOG.md:1532 -msgid "If you've already got both Etherpad and Dimension in use you could:" -msgstr "" - -#: ../../../CHANGELOG.md:1534 -msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." -msgstr "" - -#: ../../../CHANGELOG.md:1536 -msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" -msgstr "" - -#: ../../../CHANGELOG.md:1539 -msgid "2022-11-04" -msgstr "" - -#: ../../../CHANGELOG.md:1541 -msgid "The playbook now uses external roles for some things" -msgstr "" - -#: ../../../CHANGELOG.md:1543 -msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." -msgstr "" - -#: ../../../CHANGELOG.md:1545 -msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." -msgstr "" - -#: ../../../CHANGELOG.md:1547 -msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" -msgstr "" - -#: ../../../CHANGELOG.md:1549 -msgid "those that live within the playbook itself (`roles/custom/*`)" -msgstr "" - -#: ../../../CHANGELOG.md:1551 -msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." -msgstr "" - -#: ../../../CHANGELOG.md:1553 -msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." -msgstr "" - -#: ../../../CHANGELOG.md:1555 -msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:1557 -msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." -msgstr "" - -#: ../../../CHANGELOG.md:1560 -msgid "2022-10-14" -msgstr "" - -#: ../../../CHANGELOG.md:1562 -msgid "synapse-s3-storage-provider support" -msgstr "" - -#: ../../../CHANGELOG.md:1564 -msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" -msgstr "" - -#: ../../../CHANGELOG.md:1566 -msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." -msgstr "" - -#: ../../../CHANGELOG.md:1568 -msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." -msgstr "" - -#: ../../../CHANGELOG.md:1570 -msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." -msgstr "" - -#: ../../../CHANGELOG.md:1572 -msgid "Synapse container image customization support" -msgstr "" - -#: ../../../CHANGELOG.md:1574 -msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." -msgstr "" - -#: ../../../CHANGELOG.md:1576 -msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." -msgstr "" - -#: ../../../CHANGELOG.md:1578 -msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" -msgstr "" - -#: ../../../CHANGELOG.md:1589 -msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." -msgstr "" - -#: ../../../CHANGELOG.md:1591 -msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." -msgstr "" - -#: ../../../CHANGELOG.md:1594 -msgid "2022-10-02" -msgstr "" - -#: ../../../CHANGELOG.md:1596 -msgid "matrix-ldap-registration-proxy support" -msgstr "" - -#: ../../../CHANGELOG.md:1598 -msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." -msgstr "" - -#: ../../../CHANGELOG.md:1600 -msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1603 -msgid "2022-09-15" -msgstr "" - -#: ../../../CHANGELOG.md:1605 -msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" -msgstr "" - -#: ../../../CHANGELOG.md:1607 -msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" -msgstr "" - -#: ../../../CHANGELOG.md:1609 -msgid "we've added support for [Stream writers](#stream-writers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1610 -msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1611 -msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:1612 -msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" -msgstr "" - -#: ../../../CHANGELOG.md:1613 -msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:1614 -msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:1615 -msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" -msgstr "" - -#: ../../../CHANGELOG.md:1616 -msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" -msgstr "" - -#: ../../../CHANGELOG.md:1618 -msgid "Stream writers support" -msgstr "" - -#: ../../../CHANGELOG.md:1620 -msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." -msgstr "" - -#: ../../../CHANGELOG.md:1622 -msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." -msgstr "" - -#: ../../../CHANGELOG.md:1624 -msgid "If you'd like to customize the number of workers we also make that possible using these variables:" -msgstr "" - -#: ../../../CHANGELOG.md:1637 -msgid "Multiple federation sender workers support" -msgstr "" - -#: ../../../CHANGELOG.md:1639 -msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." -msgstr "" - -#: ../../../CHANGELOG.md:1641 -msgid "Multiple pusher workers support" -msgstr "" - -#: ../../../CHANGELOG.md:1643 -msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." -msgstr "" - -#: ../../../CHANGELOG.md:1645 -msgid "Background tasks can run on a worker" -msgstr "" - -#: ../../../CHANGELOG.md:1647 -msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." -msgstr "" - -#: ../../../CHANGELOG.md:1649 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1651 -msgid "Appservice worker support is back" -msgstr "" - -#: ../../../CHANGELOG.md:1653 -msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." -msgstr "" - -#: ../../../CHANGELOG.md:1655 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." -msgstr "" - -#: ../../../CHANGELOG.md:1657 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1659 -msgid "User Directory worker support is back" -msgstr "" - -#: ../../../CHANGELOG.md:1661 -msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." -msgstr "" - -#: ../../../CHANGELOG.md:1663 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." -msgstr "" - -#: ../../../CHANGELOG.md:1665 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:1667 -msgid "Using more than 1 media repository worker is now more reliable" -msgstr "" - -#: ../../../CHANGELOG.md:1669 -msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." -msgstr "" - -#: ../../../CHANGELOG.md:1671 -msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." -msgstr "" - -#: ../../../CHANGELOG.md:1673 -msgid "Potential Backward Incompatibilities after these Synapse worker changes" -msgstr "" - -#: ../../../CHANGELOG.md:1675 -msgid "Below we'll discuss **potential backward incompatibilities**." -msgstr "" - -#: ../../../CHANGELOG.md:1677 -msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." -msgstr "" - -#: ../../../CHANGELOG.md:1679 -msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." -msgstr "" - -#: ../../../CHANGELOG.md:1681 -msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." -msgstr "" - -#: ../../../CHANGELOG.md:1683 -msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." -msgstr "" - -#: ../../../CHANGELOG.md:1686 -msgid "2022-09-09" -msgstr "" - -#: ../../../CHANGELOG.md:1688 -msgid "Cactus Comments support" -msgstr "" - -#: ../../../CHANGELOG.md:1690 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." -msgstr "" - -#: ../../../CHANGELOG.md:1692 -msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1695 -msgid "2022-08-23" -msgstr "" - -#: ../../../CHANGELOG.md:1697 -msgid "Postmoogle email bridge support" -msgstr "" - -#: ../../../CHANGELOG.md:1699 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." -msgstr "" - -#: ../../../CHANGELOG.md:1701 -msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1704 -msgid "2022-08-10" -msgstr "" - -#: ../../../CHANGELOG.md:1706 -msgid "mautrix-whatsapp default configuration changes" -msgstr "" - -#: ../../../CHANGELOG.md:1708 -msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." -msgstr "" - -#: ../../../CHANGELOG.md:1710 -msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." -msgstr "" - -#: ../../../CHANGELOG.md:1712 -msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." -msgstr "" - -#: ../../../CHANGELOG.md:1715 -msgid "2022-08-09" -msgstr "" - -#: ../../../CHANGELOG.md:1717 -msgid "Conduit support" -msgstr "" - -#: ../../../CHANGELOG.md:1719 -msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." -msgstr "" - -#: ../../../CHANGELOG.md:1721 -msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:1723 -msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:1729 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." -msgstr "" - -#: ../../../CHANGELOG.md:1732 -msgid "2022-07-29" -msgstr "" - -#: ../../../CHANGELOG.md:1734 -msgid "mautrix-discord support" -msgstr "" - -#: ../../../CHANGELOG.md:1736 -msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." -msgstr "" - -#: ../../../CHANGELOG.md:1738 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." -msgstr "" - -#: ../../../CHANGELOG.md:1741 -msgid "2022-07-27" -msgstr "" - -#: ../../../CHANGELOG.md:1743 -msgid "matrix-appservice-kakaotalk support" -msgstr "" - -#: ../../../CHANGELOG.md:1745 -msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" -msgstr "" - -#: ../../../CHANGELOG.md:1747 -msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1750 -msgid "2022-07-20" -msgstr "" - -#: ../../../CHANGELOG.md:1752 -msgid "maubot support" -msgstr "" - -#: ../../../CHANGELOG.md:1754 -msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." -msgstr "" - -#: ../../../CHANGELOG.md:1756 -msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1759 -msgid "2022-07-14" -msgstr "" - -#: ../../../CHANGELOG.md:1761 -msgid "mx-puppet-skype removal" -msgstr "" - -#: ../../../CHANGELOG.md:1763 -msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." -msgstr "" - -#: ../../../CHANGELOG.md:1765 -msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" -msgstr "" - -#: ../../../CHANGELOG.md:1767 -msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" -msgstr "" - -#: ../../../CHANGELOG.md:1768 -msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1769 -msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1770 -msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1771 -msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" -msgstr "" - -#: ../../../CHANGELOG.md:1773 -msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." -msgstr "" - -#: ../../../CHANGELOG.md:1775 -msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." -msgstr "" - -#: ../../../CHANGELOG.md:1777 -msgid "signald (0.19.0+) upgrade requires data migration" -msgstr "" - -#: ../../../CHANGELOG.md:1779 -msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." -msgstr "" - -#: ../../../CHANGELOG.md:1781 -msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." -msgstr "" - -#: ../../../CHANGELOG.md:1783 -msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." -msgstr "" - -#: ../../../CHANGELOG.md:1785 -msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." -msgstr "" - -#: ../../../CHANGELOG.md:1787 -msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" -msgstr "" - -#: ../../../CHANGELOG.md:1790 -msgid "2022-07-05" -msgstr "" - -#: ../../../CHANGELOG.md:1792 -msgid "Ntfy push notifications support" -msgstr "" - -#: ../../../CHANGELOG.md:1794 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." -msgstr "" - -#: ../../../CHANGELOG.md:1796 -msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1799 -msgid "2022-06-23" -msgstr "" - -#: ../../../CHANGELOG.md:1801 -msgid "(Potential Backward Compatibility Break) Changes around metrics collection" -msgstr "" - -#: ../../../CHANGELOG.md:1803 -msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." -msgstr "" - -#: ../../../CHANGELOG.md:1805 -msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." -msgstr "" - -#: ../../../CHANGELOG.md:1807 -msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." -msgstr "" - -#: ../../../CHANGELOG.md:1809 -msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" -msgstr "" - -#: ../../../CHANGELOG.md:1810 -msgid "**Metrics may not be enabled by default anymore**:" -msgstr "" - -#: ../../../CHANGELOG.md:1811 -msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." -msgstr "" - -#: ../../../CHANGELOG.md:1812 -msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." -msgstr "" - -#: ../../../CHANGELOG.md:1813 -msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." -msgstr "" - -#: ../../../CHANGELOG.md:1814 -msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." -msgstr "" - -#: ../../../CHANGELOG.md:1816 -msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." -msgstr "" - -#: ../../../CHANGELOG.md:1818 -msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-postgres.md)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." -msgstr "" - -#: ../../../CHANGELOG.md:1820 -msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" -msgstr "" - -#: ../../../CHANGELOG.md:1822 -msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." -msgstr "" - -#: ../../../CHANGELOG.md:1823 -msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" -msgstr "" - -#: ../../../CHANGELOG.md:1824 -msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" -msgstr "" - -#: ../../../CHANGELOG.md:1825 -msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." -msgstr "" - -#: ../../../CHANGELOG.md:1827 -msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." -msgstr "" - -#: ../../../CHANGELOG.md:1829 -msgid "2022-06-13" -msgstr "" - -#: ../../../CHANGELOG.md:1831 -msgid "go-skype-bridge bridging support" -msgstr "" - -#: ../../../CHANGELOG.md:1833 -msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." -msgstr "" - -#: ../../../CHANGELOG.md:1835 -msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1837 -msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." -msgstr "" - -#: ../../../CHANGELOG.md:1840 -msgid "2022-06-09" -msgstr "" - -#: ../../../CHANGELOG.md:1842 -msgid "Running Ansible in a container can now happen on the Matrix server itself" -msgstr "" - -#: ../../../CHANGELOG.md:1844 -msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." -msgstr "" - -#: ../../../CHANGELOG.md:1847 -msgid "2022-05-31" -msgstr "" - -#: ../../../CHANGELOG.md:1849 -msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" -msgstr "" - -#: ../../../CHANGELOG.md:1851 -msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." -msgstr "" - -#: ../../../CHANGELOG.md:1853 -msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." -msgstr "" - -#: ../../../CHANGELOG.md:1855 -msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" -msgstr "" - -#: ../../../CHANGELOG.md:1857 -msgid "SSH into the Matrix server" -msgstr "" - -#: ../../../CHANGELOG.md:1858 -msgid "launch `/usr/local/bin/matrix-postgres-cli`" -msgstr "" - -#: ../../../CHANGELOG.md:1859 -msgid "switch to the `synapse` database: `\\c synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:1860 -msgid "run the following SQL query:" -msgstr "" - -#: ../../../CHANGELOG.md:1879 -msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" -msgstr "" - -#: ../../../CHANGELOG.md:1882 -msgid "2022-04-25" -msgstr "" - -#: ../../../CHANGELOG.md:1884 -msgid "Buscarron bot support" -msgstr "" - -#: ../../../CHANGELOG.md:1886 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" -msgstr "" - -#: ../../../CHANGELOG.md:1888 -msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1891 -msgid "2022-04-21" -msgstr "" - -#: ../../../CHANGELOG.md:1893 -msgid "matrix-registration-bot support" -msgstr "" - -#: ../../../CHANGELOG.md:1895 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." -msgstr "" - -#: ../../../CHANGELOG.md:1897 -msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1900 -msgid "2022-04-19" -msgstr "" - -#: ../../../CHANGELOG.md:1902 -msgid "BorgBackup support" -msgstr "" - -#: ../../../CHANGELOG.md:1904 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." -msgstr "" - -#: ../../../CHANGELOG.md:1906 -msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1908 -msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" -msgstr "" - -#: ../../../CHANGELOG.md:1910 -msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" -msgstr "" - -#: ../../../CHANGELOG.md:1912 -msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." -msgstr "" - -#: ../../../CHANGELOG.md:1914 -msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." -msgstr "" - -#: ../../../CHANGELOG.md:1916 -msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" -msgstr "" - -#: ../../../CHANGELOG.md:1918 -msgid "Pull the latest playbook changes" -msgstr "" - -#: ../../../CHANGELOG.md:1919 -msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" -msgstr "" - -#: ../../../CHANGELOG.md:1920 -msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:1921 -msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1922 -msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:1923 -msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." -msgstr "" - -#: ../../../CHANGELOG.md:1924 -msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" -msgstr "" - -#: ../../../CHANGELOG.md:1927 -msgid "2022-04-14" -msgstr "" - -#: ../../../CHANGELOG.md:1929 -msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" -msgstr "" - -#: ../../../CHANGELOG.md:1931 -msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." -msgstr "" - -#: ../../../CHANGELOG.md:1933 -msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." -msgstr "" - -#: ../../../CHANGELOG.md:1935 -msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." -msgstr "" - -#: ../../../CHANGELOG.md:1937 -msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" -msgstr "" - -#: ../../../CHANGELOG.md:1940 -msgid "2022-03-17" -msgstr "" - -#: ../../../CHANGELOG.md:1942 -msgid "(Compatibility Break) ma1sd identity server no longer installed by default" -msgstr "" - -#: ../../../CHANGELOG.md:1944 -msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." -msgstr "" - -#: ../../../CHANGELOG.md:1946 -msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." -msgstr "" - -#: ../../../CHANGELOG.md:1948 -msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." -msgstr "" - -#: ../../../CHANGELOG.md:1950 -msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" -msgstr "" - -#: ../../../CHANGELOG.md:1957 -msgid "2022-02-12" -msgstr "" - -#: ../../../CHANGELOG.md:1959 -msgid "matrix_encryption_disabler support" -msgstr "" - -#: ../../../CHANGELOG.md:1961 -msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." -msgstr "" - -#: ../../../CHANGELOG.md:1963 -msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." -msgstr "" - -#: ../../../CHANGELOG.md:1966 -msgid "2022-02-01" -msgstr "" - -#: ../../../CHANGELOG.md:1968 -msgid "matrix-hookshot bridging support" -msgstr "" - -#: ../../../CHANGELOG.md:1970 -msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1973 -msgid "2022-01-31" -msgstr "" - #: ../../../CHANGELOG.md:1975 -msgid "ARM support for matrix-corporal" +msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." msgstr "" #: ../../../CHANGELOG.md:1977 -msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." +msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" msgstr "" -#: ../../../CHANGELOG.md:1980 -msgid "2022-01-07" +#: ../../../CHANGELOG.md:1983 +msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." msgstr "" -#: ../../../CHANGELOG.md:1982 -msgid "Dendrite support" +#: ../../../CHANGELOG.md:1985 +msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." msgstr "" -#: ../../../CHANGELOG.md:1984 -msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." +#: ../../../CHANGELOG.md:1987 +msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" msgstr "" -#: ../../../CHANGELOG.md:1986 -msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." +#: ../../../CHANGELOG.md:1989 +msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `coturn_denied_peer_ips` and remove some IP ranges from it." msgstr "" -#: ../../../CHANGELOG.md:1988 -msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" +#: ../../../CHANGELOG.md:1991 +msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." msgstr "" -#: ../../../CHANGELOG.md:1990 -msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." +#: ../../../CHANGELOG.md:1993 +msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." msgstr "" -#: ../../../CHANGELOG.md:1992 -msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." -msgstr "" - -#: ../../../CHANGELOG.md:1994 -msgid "Adapting the configuration for existing Synapse installations" -msgstr "" - -#: ../../../CHANGELOG.md:1996 -msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." +#: ../../../CHANGELOG.md:1995 +msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." msgstr "" #: ../../../CHANGELOG.md:1998 -msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" +msgid "2023-01-21" msgstr "" -#: ../../../CHANGELOG.md:2010 -msgid "Trying out Dendrite" +#: ../../../CHANGELOG.md:2000 +msgid "The matrix-prometheus-node-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:2012 -msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" +#: ../../../CHANGELOG.md:2002 +msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2018 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." +#: ../../../CHANGELOG.md:2004 +msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" msgstr "" -#: ../../../CHANGELOG.md:2020 -msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" +#: ../../../CHANGELOG.md:2006 +msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:2022 -msgid "Honoroit bot support" +#: ../../../CHANGELOG.md:2008 +msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" +msgstr "" + +#: ../../../CHANGELOG.md:2013 +msgid "2023-01-13" +msgstr "" + +#: ../../../CHANGELOG.md:2015 +msgid "Support for running commands via just" +msgstr "" + +#: ../../../CHANGELOG.md:2017 +msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." +msgstr "" + +#: ../../../CHANGELOG.md:2019 +msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." +msgstr "" + +#: ../../../CHANGELOG.md:2021 +msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" +msgstr "" + +#: ../../../CHANGELOG.md:2023 +msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" msgstr "" #: ../../../CHANGELOG.md:2024 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." +msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" +msgstr "" + +#: ../../../CHANGELOG.md:2025 +msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" msgstr "" #: ../../../CHANGELOG.md:2026 -msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." +msgid "`just start-all` — (re-)starts all services" msgstr "" -#: ../../../CHANGELOG.md:2029 -msgid "2022-01-06" +#: ../../../CHANGELOG.md:2027 +msgid "`just stop-group postgres` — to stop only the Postgres service" msgstr "" -#: ../../../CHANGELOG.md:2031 -msgid "Cinny support" +#: ../../../CHANGELOG.md:2028 +msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" msgstr "" -#: ../../../CHANGELOG.md:2033 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." +#: ../../../CHANGELOG.md:2030 +msgid "Additional helpful commands and shortcuts may be defined in the future." +msgstr "" + +#: ../../../CHANGELOG.md:2032 +msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." msgstr "" #: ../../../CHANGELOG.md:2035 -msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." +msgid "2023-01-11" msgstr "" #: ../../../CHANGELOG.md:2037 -msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." +msgid "mautrix-slack support" msgstr "" -#: ../../../CHANGELOG.md:2040 -msgid "2021-12-22" +#: ../../../CHANGELOG.md:2039 +msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:2042 -msgid "Twitter bridging support via mautrix-twitter" +#: ../../../CHANGELOG.md:2041 +msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." msgstr "" #: ../../../CHANGELOG.md:2044 -msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +msgid "2023-01-10" msgstr "" -#: ../../../CHANGELOG.md:2047 -msgid "2021-12-14" +#: ../../../CHANGELOG.md:2046 +msgid "ChatGPT support" msgstr "" -#: ../../../CHANGELOG.md:2049 -msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +#: ../../../CHANGELOG.md:2048 +msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." msgstr "" -#: ../../../CHANGELOG.md:2051 -msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." +#: ../../../CHANGELOG.md:2050 +msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2053 -msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." +msgid "2022-11-30" msgstr "" -#: ../../../CHANGELOG.md:2056 -msgid "2021-11-11" +#: ../../../CHANGELOG.md:2055 +msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" msgstr "" -#: ../../../CHANGELOG.md:2058 -msgid "Dropped support for Postgres v9.6" +#: ../../../CHANGELOG.md:2057 +msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." msgstr "" -#: ../../../CHANGELOG.md:2060 -msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." +#: ../../../CHANGELOG.md:2059 +msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." msgstr "" #: ../../../CHANGELOG.md:2062 -msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." +msgid "2022-11-28" msgstr "" -#: ../../../CHANGELOG.md:2065 -msgid "2021-10-23" +#: ../../../CHANGELOG.md:2064 +msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" msgstr "" -#: ../../../CHANGELOG.md:2067 -msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +#: ../../../CHANGELOG.md:2066 +msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." msgstr "" -#: ../../../CHANGELOG.md:2069 -msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." +#: ../../../CHANGELOG.md:2068 +msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." msgstr "" -#: ../../../CHANGELOG.md:2071 -msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." +#: ../../../CHANGELOG.md:2070 +msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" msgstr "" -#: ../../../CHANGELOG.md:2074 -msgid "2021-08-23" +#: ../../../CHANGELOG.md:2072 +msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" msgstr "" -#: ../../../CHANGELOG.md:2076 -msgid "LinkedIn bridging support via beeper-linkedin" +#: ../../../CHANGELOG.md:2073 +msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" msgstr "" -#: ../../../CHANGELOG.md:2078 -msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." +#: ../../../CHANGELOG.md:2075 +msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." msgstr "" -#: ../../../CHANGELOG.md:2080 -msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +#: ../../../CHANGELOG.md:2077 +msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." msgstr "" -#: ../../../CHANGELOG.md:2082 -msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." +#: ../../../CHANGELOG.md:2079 +msgid "The playbook no longer installs scripts to /usr/local/bin" +msgstr "" + +#: ../../../CHANGELOG.md:2081 +msgid "The locations of various scripts installed by the playbook have changed." +msgstr "" + +#: ../../../CHANGELOG.md:2083 +msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" msgstr "" #: ../../../CHANGELOG.md:2085 -msgid "2021-08-20" +msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +msgstr "" + +#: ../../../CHANGELOG.md:2086 +msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" msgstr "" #: ../../../CHANGELOG.md:2087 -msgid "Sygnal upgraded — ARM support and no longer requires a database" +msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" msgstr "" -#: ../../../CHANGELOG.md:2089 -msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." +#: ../../../CHANGELOG.md:2088 +msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" msgstr "" #: ../../../CHANGELOG.md:2091 -msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." +msgid "2022-11-25" msgstr "" #: ../../../CHANGELOG.md:2093 -msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." +msgid "2x-5x performance improvements in playbook runtime" msgstr "" #: ../../../CHANGELOG.md:2095 -msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." +msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." msgstr "" -#: ../../../CHANGELOG.md:2098 -msgid "2021-05-21" +#: ../../../CHANGELOG.md:2097 +msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." msgstr "" -#: ../../../CHANGELOG.md:2100 -msgid "Hydrogen support" +#: ../../../CHANGELOG.md:2099 +msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." msgstr "" -#: ../../../CHANGELOG.md:2102 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." +#: ../../../CHANGELOG.md:2101 +msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" msgstr "" -#: ../../../CHANGELOG.md:2104 -msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." +#: ../../../CHANGELOG.md:2103 +msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." msgstr "" -#: ../../../CHANGELOG.md:2106 -msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." +#: ../../../CHANGELOG.md:2105 +msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." +msgstr "" + +#: ../../../CHANGELOG.md:2107 +msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:2109 -msgid "2021-05-19" +msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." msgstr "" -#: ../../../CHANGELOG.md:2111 -msgid "Heisenbridge support" +#: ../../../CHANGELOG.md:2112 +msgid "2022-11-22" msgstr "" -#: ../../../CHANGELOG.md:2113 -msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." +#: ../../../CHANGELOG.md:2114 +msgid "Automatic `matrix_architecture` determination" msgstr "" -#: ../../../CHANGELOG.md:2115 -msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." +#: ../../../CHANGELOG.md:2116 +msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." msgstr "" #: ../../../CHANGELOG.md:2118 -msgid "2021-04-16" -msgstr "" - -#: ../../../CHANGELOG.md:2120 -msgid "Disabling TLSv1 and TLSv1.1 for coturn" +msgid "Docker and the Docker SDK for Python are now installed via external roles" msgstr "" #: ../../../CHANGELOG.md:2122 -msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." +msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." msgstr "" #: ../../../CHANGELOG.md:2124 -msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" +msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." msgstr "" -#: ../../../CHANGELOG.md:2132 -msgid "2021-04-05" +#: ../../../CHANGELOG.md:2126 +msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." msgstr "" -#: ../../../CHANGELOG.md:2134 -msgid "Automated local Postgres backup support" +#: ../../../CHANGELOG.md:2128 +msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." msgstr "" -#: ../../../CHANGELOG.md:2136 -msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." +#: ../../../CHANGELOG.md:2131 +msgid "2022-11-20" msgstr "" -#: ../../../CHANGELOG.md:2138 -msgid "Additional details are available in [Setting up postgres backup](docs/configuring-playbook-postgres-backup.md)." +#: ../../../CHANGELOG.md:2133 +msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" +msgstr "" + +#: ../../../CHANGELOG.md:2135 +msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." +msgstr "" + +#: ../../../CHANGELOG.md:2137 +msgid "Background" +msgstr "" + +#: ../../../CHANGELOG.md:2139 +msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." msgstr "" #: ../../../CHANGELOG.md:2141 -msgid "2021-04-03" +msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." msgstr "" #: ../../../CHANGELOG.md:2143 -msgid "Mjolnir moderation tool (bot) support" +msgid "Solution" msgstr "" #: ../../../CHANGELOG.md:2145 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." +msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" msgstr "" #: ../../../CHANGELOG.md:2147 -msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." +msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" +msgstr "" + +#: ../../../CHANGELOG.md:2149 +msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" msgstr "" #: ../../../CHANGELOG.md:2150 -msgid "2021-03-20" +msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" msgstr "" -#: ../../../CHANGELOG.md:2152 -msgid "Sygnal push gateway support" +#: ../../../CHANGELOG.md:2151 +msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" msgstr "" -#: ../../../CHANGELOG.md:2154 -msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." +#: ../../../CHANGELOG.md:2153 +msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" msgstr "" -#: ../../../CHANGELOG.md:2156 -msgid "This is only useful to people who develop/build their own Matrix client applications." +#: ../../../CHANGELOG.md:2155 +msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" msgstr "" -#: ../../../CHANGELOG.md:2158 -msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +#: ../../../CHANGELOG.md:2157 +msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" +msgstr "" + +#: ../../../CHANGELOG.md:2159 +msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." msgstr "" #: ../../../CHANGELOG.md:2161 -msgid "2021-03-16" +msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." msgstr "" #: ../../../CHANGELOG.md:2163 -msgid "Go-NEB support" +msgid "Webserver configuration" msgstr "" #: ../../../CHANGELOG.md:2165 -msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." +msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" msgstr "" #: ../../../CHANGELOG.md:2167 -msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." +msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" msgstr "" -#: ../../../CHANGELOG.md:2170 -msgid "2021-02-19" +#: ../../../CHANGELOG.md:2169 +msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" msgstr "" -#: ../../../CHANGELOG.md:2172 -msgid "GroupMe bridging support via mx-puppet-groupme" +#: ../../../CHANGELOG.md:2171 +msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" msgstr "" -#: ../../../CHANGELOG.md:2174 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." +#: ../../../CHANGELOG.md:2173 +msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." msgstr "" #: ../../../CHANGELOG.md:2176 -msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +msgid "2022-11-05" msgstr "" #: ../../../CHANGELOG.md:2178 -msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." +msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" msgstr "" #: ../../../CHANGELOG.md:2180 -msgid "Mautrix Instagram bridging support" +msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." msgstr "" #: ../../../CHANGELOG.md:2182 -msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." +msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." msgstr "" #: ../../../CHANGELOG.md:2184 -msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." +msgid "If you've already got both Etherpad and Dimension in use you could:" msgstr "" #: ../../../CHANGELOG.md:2186 -msgid "Synapse workers support" +msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." msgstr "" #: ../../../CHANGELOG.md:2188 -msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." +msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" msgstr "" -#: ../../../CHANGELOG.md:2190 -msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +#: ../../../CHANGELOG.md:2191 +msgid "2022-11-04" msgstr "" -#: ../../../CHANGELOG.md:2192 -msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." +#: ../../../CHANGELOG.md:2193 +msgid "The playbook now uses external roles for some things" msgstr "" -#: ../../../CHANGELOG.md:2194 -msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." +#: ../../../CHANGELOG.md:2195 +msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." msgstr "" -#: ../../../CHANGELOG.md:2196 -msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." +#: ../../../CHANGELOG.md:2197 +msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." msgstr "" #: ../../../CHANGELOG.md:2199 -msgid "2021-02-12" +msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" msgstr "" #: ../../../CHANGELOG.md:2201 -msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" +msgid "those that live within the playbook itself (`roles/custom/*`)" msgstr "" #: ../../../CHANGELOG.md:2203 -msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." +msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." msgstr "" #: ../../../CHANGELOG.md:2205 -msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." +msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." msgstr "" #: ../../../CHANGELOG.md:2207 -msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." +msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:2210 -msgid "2021-01-31" +#: ../../../CHANGELOG.md:2209 +msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." msgstr "" #: ../../../CHANGELOG.md:2212 -msgid "Etherpad support" +msgid "2022-10-14" msgstr "" #: ../../../CHANGELOG.md:2214 -msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." +msgid "synapse-s3-storage-provider support" msgstr "" #: ../../../CHANGELOG.md:2216 -msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." +msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" msgstr "" -#: ../../../CHANGELOG.md:2219 -msgid "2021-01-22" +#: ../../../CHANGELOG.md:2218 +msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." msgstr "" -#: ../../../CHANGELOG.md:2221 -msgid "(Breaking Change) Postgres changes that require manual intervention" +#: ../../../CHANGELOG.md:2220 +msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." msgstr "" -#: ../../../CHANGELOG.md:2223 -msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." +#: ../../../CHANGELOG.md:2222 +msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." msgstr "" -#: ../../../CHANGELOG.md:2225 -msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." +#: ../../../CHANGELOG.md:2224 +msgid "Synapse container image customization support" msgstr "" -#: ../../../CHANGELOG.md:2227 -msgid "Why?" +#: ../../../CHANGELOG.md:2226 +msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." msgstr "" -#: ../../../CHANGELOG.md:2229 -msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +#: ../../../CHANGELOG.md:2228 +msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." msgstr "" #: ../../../CHANGELOG.md:2230 -msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2231 -msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2232 -msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2233 -msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." -msgstr "" - -#: ../../../CHANGELOG.md:2234 -msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." -msgstr "" - -#: ../../../CHANGELOG.md:2236 -msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." -msgstr "" - -#: ../../../CHANGELOG.md:2238 -msgid "What has really changed?" -msgstr "" - -#: ../../../CHANGELOG.md:2240 -msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" msgstr "" #: ../../../CHANGELOG.md:2241 -msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" -msgstr "" - -#: ../../../CHANGELOG.md:2242 -msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" +msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." msgstr "" #: ../../../CHANGELOG.md:2243 -msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." msgstr "" -#: ../../../CHANGELOG.md:2245 -msgid "What do I do if I'm using the integrated Postgres server (default)?" +#: ../../../CHANGELOG.md:2246 +msgid "2022-10-02" msgstr "" -#: ../../../CHANGELOG.md:2247 -msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." +#: ../../../CHANGELOG.md:2248 +msgid "matrix-ldap-registration-proxy support" msgstr "" -#: ../../../CHANGELOG.md:2249 -msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" +#: ../../../CHANGELOG.md:2250 +msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." msgstr "" -#: ../../../CHANGELOG.md:2251 -msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." -msgstr "" - -#: ../../../CHANGELOG.md:2253 -msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" +#: ../../../CHANGELOG.md:2252 +msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2255 -msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" +msgid "2022-09-15" msgstr "" -#: ../../../CHANGELOG.md:2260 ../../../CHANGELOG.md:2272 -msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +#: ../../../CHANGELOG.md:2257 +msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" +msgstr "" + +#: ../../../CHANGELOG.md:2259 +msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" +msgstr "" + +#: ../../../CHANGELOG.md:2261 +msgid "we've added support for [Stream writers](#stream-writers-support)" msgstr "" #: ../../../CHANGELOG.md:2262 -msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2263 -msgid "Log in to the server via SSH. The next commands will be performed there." +msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2264 -msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" msgstr "" #: ../../../CHANGELOG.md:2265 -msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" +msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" msgstr "" #: ../../../CHANGELOG.md:2266 -msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" +msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2267 +msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" +msgstr "" + +#: ../../../CHANGELOG.md:2268 +msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" +msgstr "" + +#: ../../../CHANGELOG.md:2270 +msgid "Stream writers support" +msgstr "" + +#: ../../../CHANGELOG.md:2272 +msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." msgstr "" #: ../../../CHANGELOG.md:2274 -msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" +msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." msgstr "" -#: ../../../CHANGELOG.md:2292 -msgid "You may need to press *Enter* after pasting the lines above." +#: ../../../CHANGELOG.md:2276 +msgid "If you'd like to customize the number of workers we also make that possible using these variables:" msgstr "" -#: ../../../CHANGELOG.md:2294 -msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" +#: ../../../CHANGELOG.md:2289 +msgid "Multiple federation sender workers support" msgstr "" -#: ../../../CHANGELOG.md:2296 -msgid "What do I do if I'm using an external Postgres server?" +#: ../../../CHANGELOG.md:2291 +msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." msgstr "" -#: ../../../CHANGELOG.md:2298 -msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." +#: ../../../CHANGELOG.md:2293 +msgid "Multiple pusher workers support" msgstr "" -#: ../../../CHANGELOG.md:2300 -msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." +#: ../../../CHANGELOG.md:2295 +msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." +msgstr "" + +#: ../../../CHANGELOG.md:2297 +msgid "Background tasks can run on a worker" +msgstr "" + +#: ../../../CHANGELOG.md:2299 +msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." +msgstr "" + +#: ../../../CHANGELOG.md:2301 +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2303 -msgid "2021-01-20" +msgid "Appservice worker support is back" msgstr "" #: ../../../CHANGELOG.md:2305 -msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" +msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." msgstr "" #: ../../../CHANGELOG.md:2307 -msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." msgstr "" #: ../../../CHANGELOG.md:2309 -msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2311 -msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." +msgid "User Directory worker support is back" msgstr "" #: ../../../CHANGELOG.md:2313 -msgid "Whether this change requires your intervention depends mostly on:" -msgstr "" - -#: ../../../CHANGELOG.md:2314 -msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." +msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." msgstr "" #: ../../../CHANGELOG.md:2315 -msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." msgstr "" #: ../../../CHANGELOG.md:2317 -msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2319 -msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" +msgid "Using more than 1 media repository worker is now more reliable" msgstr "" #: ../../../CHANGELOG.md:2321 -msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." +msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." msgstr "" #: ../../../CHANGELOG.md:2323 -msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." +msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." msgstr "" #: ../../../CHANGELOG.md:2325 -msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." +msgid "Potential Backward Incompatibilities after these Synapse worker changes" msgstr "" #: ../../../CHANGELOG.md:2327 -msgid "Upgrade path for people running an external Postgres server" +msgid "Below we'll discuss **potential backward incompatibilities**." msgstr "" #: ../../../CHANGELOG.md:2329 -msgid "For people using the internal Postgres server (the default for the playbook):" -msgstr "" - -#: ../../../CHANGELOG.md:2330 -msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." msgstr "" #: ../../../CHANGELOG.md:2331 -msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" +msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." msgstr "" -#: ../../../CHANGELOG.md:2332 -msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" +#: ../../../CHANGELOG.md:2333 +msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." msgstr "" -#: ../../../CHANGELOG.md:2334 -msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." -msgstr "" - -#: ../../../CHANGELOG.md:2336 -msgid "You have 3 ways to proceed:" +#: ../../../CHANGELOG.md:2335 +msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." msgstr "" #: ../../../CHANGELOG.md:2338 -msgid "contribute to the playbook to make this possible (difficult)" -msgstr "" - -#: ../../../CHANGELOG.md:2339 -msgid "or, do the migration \"steps\" manually:" +msgid "2022-09-09" msgstr "" #: ../../../CHANGELOG.md:2340 -msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:2341 -msgid "create a new `matrix_mautrix_facebook` Postgres database for it" +msgid "Cactus Comments support" msgstr "" #: ../../../CHANGELOG.md:2342 -msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" -msgstr "" - -#: ../../../CHANGELOG.md:2343 -msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." msgstr "" #: ../../../CHANGELOG.md:2344 -msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" -msgstr "" - -#: ../../../CHANGELOG.md:2345 -msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:2346 -msgid "send a `login` message to the Facebook bridge bot again" +msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2347 -msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" +msgid "2022-08-23" msgstr "" #: ../../../CHANGELOG.md:2349 -msgid "Staying on SQLite for a little longer (temporary solution)" +msgid "Postmoogle email bridge support" msgstr "" #: ../../../CHANGELOG.md:2351 -msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." msgstr "" -#: ../../../CHANGELOG.md:2361 -msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." +#: ../../../CHANGELOG.md:2353 +msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:2356 +msgid "2022-08-10" +msgstr "" + +#: ../../../CHANGELOG.md:2358 +msgid "mautrix-whatsapp default configuration changes" +msgstr "" + +#: ../../../CHANGELOG.md:2360 +msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." +msgstr "" + +#: ../../../CHANGELOG.md:2362 +msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." msgstr "" #: ../../../CHANGELOG.md:2364 -msgid "2021-01-17" +msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." msgstr "" -#: ../../../CHANGELOG.md:2366 -msgid "matrix-corporal goes 2.0" +#: ../../../CHANGELOG.md:2367 +msgid "2022-08-09" msgstr "" -#: ../../../CHANGELOG.md:2368 -msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." +#: ../../../CHANGELOG.md:2369 +msgid "Conduit support" msgstr "" -#: ../../../CHANGELOG.md:2370 -msgid "No manual intervention is required in the common case." +#: ../../../CHANGELOG.md:2371 +msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." msgstr "" -#: ../../../CHANGELOG.md:2372 -msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:2373 +msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" #: ../../../CHANGELOG.md:2375 -msgid "2021-01-14" -msgstr "" - -#: ../../../CHANGELOG.md:2377 -msgid "Moving from cronjobs to systemd timers" -msgstr "" - -#: ../../../CHANGELOG.md:2379 -msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." +msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2381 -msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." msgstr "" -#: ../../../CHANGELOG.md:2383 -msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." +#: ../../../CHANGELOG.md:2384 +msgid "2022-07-29" msgstr "" #: ../../../CHANGELOG.md:2386 -msgid "2021-01-08" +msgid "mautrix-discord support" msgstr "" #: ../../../CHANGELOG.md:2388 -msgid "(Breaking Change) New SSL configuration" +msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:2390 -msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." msgstr "" -#: ../../../CHANGELOG.md:2392 -msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." +#: ../../../CHANGELOG.md:2393 +msgid "2022-07-27" msgstr "" -#: ../../../CHANGELOG.md:2394 -msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." +#: ../../../CHANGELOG.md:2395 +msgid "matrix-appservice-kakaotalk support" msgstr "" -#: ../../../CHANGELOG.md:2396 -msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." +#: ../../../CHANGELOG.md:2397 +msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" msgstr "" -#: ../../../CHANGELOG.md:2398 -msgid "To revert to the old behaviour, set the following variables:" +#: ../../../CHANGELOG.md:2399 +msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2405 -msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." +#: ../../../CHANGELOG.md:2402 +msgid "2022-07-20" +msgstr "" + +#: ../../../CHANGELOG.md:2404 +msgid "maubot support" +msgstr "" + +#: ../../../CHANGELOG.md:2406 +msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." msgstr "" #: ../../../CHANGELOG.md:2408 -msgid "2021-01-03" +msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2410 -msgid "Signal bridging support via mautrix-signal" +#: ../../../CHANGELOG.md:2411 +msgid "2022-07-14" msgstr "" -#: ../../../CHANGELOG.md:2412 -msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2413 +msgid "mx-puppet-skype removal" msgstr "" -#: ../../../CHANGELOG.md:2414 -msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." +#: ../../../CHANGELOG.md:2415 +msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." msgstr "" #: ../../../CHANGELOG.md:2417 -msgid "2020-12-23" +msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" msgstr "" #: ../../../CHANGELOG.md:2419 -msgid "The big move to all-on-Postgres (potentially dangerous)" +msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" +msgstr "" + +#: ../../../CHANGELOG.md:2420 +msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2421 -msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." +msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2422 +msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2423 -msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." +msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" msgstr "" #: ../../../CHANGELOG.md:2425 -msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" +msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." msgstr "" #: ../../../CHANGELOG.md:2427 -msgid "Moving all services to Postgres brings a few **benefits** to us:" +msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." msgstr "" #: ../../../CHANGELOG.md:2429 -msgid "**improved performance**" -msgstr "" - -#: ../../../CHANGELOG.md:2430 -msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." +msgid "signald (0.19.0+) upgrade requires data migration" msgstr "" #: ../../../CHANGELOG.md:2431 -msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." +msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." msgstr "" -#: ../../../CHANGELOG.md:2432 -msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." +#: ../../../CHANGELOG.md:2433 +msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." msgstr "" -#: ../../../CHANGELOG.md:2434 -msgid "Key takeway" +#: ../../../CHANGELOG.md:2435 +msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." msgstr "" -#: ../../../CHANGELOG.md:2436 -msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" +#: ../../../CHANGELOG.md:2437 +msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." msgstr "" -#: ../../../CHANGELOG.md:2438 -msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." -msgstr "" - -#: ../../../CHANGELOG.md:2440 -msgid "Opting-out of the Postgres migration" +#: ../../../CHANGELOG.md:2439 +msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" msgstr "" #: ../../../CHANGELOG.md:2442 -msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." +msgid "2022-07-05" msgstr "" #: ../../../CHANGELOG.md:2444 -msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." +msgid "Ntfy push notifications support" msgstr "" #: ../../../CHANGELOG.md:2446 -msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." msgstr "" #: ../../../CHANGELOG.md:2448 -msgid "Going back to SQLite/nedb if things went wrong" +msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2450 -msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" -msgstr "" - -#: ../../../CHANGELOG.md:2452 -msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +#: ../../../CHANGELOG.md:2451 +msgid "2022-06-23" msgstr "" #: ../../../CHANGELOG.md:2453 -msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" -msgstr "" - -#: ../../../CHANGELOG.md:2454 -msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "(Potential Backward Compatibility Break) Changes around metrics collection" msgstr "" #: ../../../CHANGELOG.md:2455 -msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" +msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." msgstr "" -#: ../../../CHANGELOG.md:2456 -msgid "[get in touch](README.md#support) with us" +#: ../../../CHANGELOG.md:2457 +msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." msgstr "" -#: ../../../CHANGELOG.md:2458 -msgid "2020-12-11" +#: ../../../CHANGELOG.md:2459 +msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." msgstr "" -#: ../../../CHANGELOG.md:2460 -msgid "synapse-janitor support removed" +#: ../../../CHANGELOG.md:2461 +msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" msgstr "" #: ../../../CHANGELOG.md:2462 -msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." +msgid "**Metrics may not be enabled by default anymore**:" +msgstr "" + +#: ../../../CHANGELOG.md:2463 +msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." msgstr "" #: ../../../CHANGELOG.md:2464 -msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." +msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." +msgstr "" + +#: ../../../CHANGELOG.md:2465 +msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." msgstr "" #: ../../../CHANGELOG.md:2466 -msgid "Docker 20.10 is here" +msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." msgstr "" #: ../../../CHANGELOG.md:2468 -msgid "(No need to do anything special in relation to this. Just something to keep in mind)" +msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." msgstr "" #: ../../../CHANGELOG.md:2470 -msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." +msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." msgstr "" #: ../../../CHANGELOG.md:2472 -msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." +msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" +msgstr "" + +#: ../../../CHANGELOG.md:2474 +msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." msgstr "" #: ../../../CHANGELOG.md:2475 -msgid "2020-12-08" +msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" +msgstr "" + +#: ../../../CHANGELOG.md:2476 +msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" msgstr "" #: ../../../CHANGELOG.md:2477 -msgid "openid APIs exposed by default on the federation port when federation disabled" +msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." msgstr "" #: ../../../CHANGELOG.md:2479 -msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." +msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." msgstr "" #: ../../../CHANGELOG.md:2481 -msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." +msgid "2022-06-13" msgstr "" #: ../../../CHANGELOG.md:2483 -msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." +msgid "go-skype-bridge bridging support" msgstr "" -#: ../../../CHANGELOG.md:2486 -msgid "2020-11-27" +#: ../../../CHANGELOG.md:2485 +msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." msgstr "" -#: ../../../CHANGELOG.md:2488 -msgid "Recent Jitsi updates may require configuration changes" +#: ../../../CHANGELOG.md:2487 +msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2490 -msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." +#: ../../../CHANGELOG.md:2489 +msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." msgstr "" #: ../../../CHANGELOG.md:2492 -msgid "**If you use our default Jitsi settings, you won't have to do anything.**" +msgid "2022-06-09" msgstr "" #: ../../../CHANGELOG.md:2494 -msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." +msgid "Running Ansible in a container can now happen on the Matrix server itself" msgstr "" #: ../../../CHANGELOG.md:2496 -msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." +msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." msgstr "" -#: ../../../CHANGELOG.md:2498 -msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." +#: ../../../CHANGELOG.md:2499 +msgid "2022-05-31" msgstr "" #: ../../../CHANGELOG.md:2501 -msgid "2020-11-23" +msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2503 ../../../CHANGELOG.md:2511 -msgid "Breaking change matrix-sms-bridge" +#: ../../../CHANGELOG.md:2503 +msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." msgstr "" #: ../../../CHANGELOG.md:2505 -msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." +msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." msgstr "" #: ../../../CHANGELOG.md:2507 -msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." +msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" msgstr "" #: ../../../CHANGELOG.md:2509 -msgid "2020-11-13" +msgid "SSH into the Matrix server" msgstr "" -#: ../../../CHANGELOG.md:2513 -msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." +#: ../../../CHANGELOG.md:2510 +msgid "launch `/usr/local/bin/matrix-postgres-cli`" msgstr "" -#: ../../../CHANGELOG.md:2515 -msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +#: ../../../CHANGELOG.md:2511 +msgid "switch to the `synapse` database: `\\c synapse`" msgstr "" -#: ../../../CHANGELOG.md:2516 -msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" -msgstr "" - -#: ../../../CHANGELOG.md:2517 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" -msgstr "" - -#: ../../../CHANGELOG.md:2518 -msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." -msgstr "" - -#: ../../../CHANGELOG.md:2519 -msgid "Remove the var from the first step." -msgstr "" - -#: ../../../CHANGELOG.md:2520 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." -msgstr "" - -#: ../../../CHANGELOG.md:2522 -msgid "2020-11-10" -msgstr "" - -#: ../../../CHANGELOG.md:2524 -msgid "Dynamic DNS support" -msgstr "" - -#: ../../../CHANGELOG.md:2526 -msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." -msgstr "" - -#: ../../../CHANGELOG.md:2528 -msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." +#: ../../../CHANGELOG.md:2512 +msgid "run the following SQL query:" msgstr "" #: ../../../CHANGELOG.md:2531 -msgid "2020-10-28" +msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" msgstr "" -#: ../../../CHANGELOG.md:2533 -msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +#: ../../../CHANGELOG.md:2534 +msgid "2022-04-25" msgstr "" -#: ../../../CHANGELOG.md:2535 -msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." +#: ../../../CHANGELOG.md:2536 +msgid "Buscarron bot support" msgstr "" -#: ../../../CHANGELOG.md:2537 -msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." +#: ../../../CHANGELOG.md:2538 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" msgstr "" -#: ../../../CHANGELOG.md:2539 -msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." +#: ../../../CHANGELOG.md:2540 +msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2541 -msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." +#: ../../../CHANGELOG.md:2543 +msgid "2022-04-21" msgstr "" -#: ../../../CHANGELOG.md:2544 -msgid "2020-10-26" +#: ../../../CHANGELOG.md:2545 +msgid "matrix-registration-bot support" msgstr "" -#: ../../../CHANGELOG.md:2546 -msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" +#: ../../../CHANGELOG.md:2547 +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." msgstr "" -#: ../../../CHANGELOG.md:2548 -msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." -msgstr "" - -#: ../../../CHANGELOG.md:2550 -msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." +#: ../../../CHANGELOG.md:2549 +msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2552 -msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" +msgid "2022-04-19" msgstr "" -#: ../../../CHANGELOG.md:2559 -msgid "2020-10-02" +#: ../../../CHANGELOG.md:2554 +msgid "BorgBackup support" msgstr "" -#: ../../../CHANGELOG.md:2561 -msgid "Minimum Ansible version raised to v2.7.0" +#: ../../../CHANGELOG.md:2556 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." msgstr "" -#: ../../../CHANGELOG.md:2563 -msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." +#: ../../../CHANGELOG.md:2558 +msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2565 -msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." +#: ../../../CHANGELOG.md:2560 +msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" msgstr "" -#: ../../../CHANGELOG.md:2567 -msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." +#: ../../../CHANGELOG.md:2562 +msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" +msgstr "" + +#: ../../../CHANGELOG.md:2564 +msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." +msgstr "" + +#: ../../../CHANGELOG.md:2566 +msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." +msgstr "" + +#: ../../../CHANGELOG.md:2568 +msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" msgstr "" #: ../../../CHANGELOG.md:2570 -msgid "2020-10-01" +msgid "Pull the latest playbook changes" +msgstr "" + +#: ../../../CHANGELOG.md:2571 +msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:2572 -msgid "Postgres 13 support" +msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:2573 +msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" msgstr "" #: ../../../CHANGELOG.md:2574 -msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." +msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2575 +msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." msgstr "" #: ../../../CHANGELOG.md:2576 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" msgstr "" -#: ../../../CHANGELOG.md:2578 -msgid "2020-09-01" +#: ../../../CHANGELOG.md:2579 +msgid "2022-04-14" msgstr "" -#: ../../../CHANGELOG.md:2580 -msgid "matrix-registration support" +#: ../../../CHANGELOG.md:2581 +msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" msgstr "" -#: ../../../CHANGELOG.md:2582 -msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." +#: ../../../CHANGELOG.md:2583 +msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." msgstr "" -#: ../../../CHANGELOG.md:2584 -msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." +#: ../../../CHANGELOG.md:2585 +msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." msgstr "" #: ../../../CHANGELOG.md:2587 -msgid "2020-08-21" +msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." msgstr "" #: ../../../CHANGELOG.md:2589 -msgid "rust-synapse-compress-state support" +msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" msgstr "" -#: ../../../CHANGELOG.md:2591 -msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." +#: ../../../CHANGELOG.md:2592 +msgid "2022-03-17" msgstr "" -#: ../../../CHANGELOG.md:2593 -msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." +#: ../../../CHANGELOG.md:2594 +msgid "(Compatibility Break) ma1sd identity server no longer installed by default" msgstr "" #: ../../../CHANGELOG.md:2596 -msgid "2020-07-22" +msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." msgstr "" #: ../../../CHANGELOG.md:2598 -msgid "Synapse Admin support" +msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." msgstr "" #: ../../../CHANGELOG.md:2600 -msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." msgstr "" #: ../../../CHANGELOG.md:2602 -msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:2605 -msgid "2020-07-20" -msgstr "" - -#: ../../../CHANGELOG.md:2607 -msgid "matrix-reminder-bot support" +msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:2609 -msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." +msgid "2022-02-12" msgstr "" #: ../../../CHANGELOG.md:2611 -msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." +msgid "matrix_encryption_disabler support" msgstr "" -#: ../../../CHANGELOG.md:2614 -msgid "2020-07-17" +#: ../../../CHANGELOG.md:2613 +msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." msgstr "" -#: ../../../CHANGELOG.md:2616 -msgid "(Compatibility Break) Riot is now Element" +#: ../../../CHANGELOG.md:2615 +msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." msgstr "" #: ../../../CHANGELOG.md:2618 -msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." +msgid "2022-02-01" msgstr "" #: ../../../CHANGELOG.md:2620 -msgid "The playbook follows suit. Existing installations have a few options for how to handle this." +msgid "matrix-hookshot bridging support" msgstr "" #: ../../../CHANGELOG.md:2622 -msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." +msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2625 -msgid "2020-07-03" +msgid "2022-01-31" msgstr "" #: ../../../CHANGELOG.md:2627 -msgid "Steam bridging support via mx-puppet-steam" +msgid "ARM support for matrix-corporal" msgstr "" #: ../../../CHANGELOG.md:2629 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." +msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." msgstr "" #: ../../../CHANGELOG.md:2632 -msgid "2020-07-01" +msgid "2022-01-07" msgstr "" #: ../../../CHANGELOG.md:2634 -msgid "Discord bridging support via mx-puppet-discord" +msgid "Dendrite support" msgstr "" #: ../../../CHANGELOG.md:2636 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." +msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." msgstr "" #: ../../../CHANGELOG.md:2638 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." +msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." msgstr "" -#: ../../../CHANGELOG.md:2641 -msgid "2020-06-30" +#: ../../../CHANGELOG.md:2640 +msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" msgstr "" -#: ../../../CHANGELOG.md:2643 -msgid "Instagram and Twitter bridging support" +#: ../../../CHANGELOG.md:2642 +msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." msgstr "" -#: ../../../CHANGELOG.md:2645 -msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2644 +msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." msgstr "" -#: ../../../CHANGELOG.md:2647 -msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2646 +msgid "Adapting the configuration for existing Synapse installations" +msgstr "" + +#: ../../../CHANGELOG.md:2648 +msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." msgstr "" #: ../../../CHANGELOG.md:2650 -msgid "2020-06-28" -msgstr "" - -#: ../../../CHANGELOG.md:2652 -msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" -msgstr "" - -#: ../../../CHANGELOG.md:2654 ../../../CHANGELOG.md:2683 -msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." -msgstr "" - -#: ../../../CHANGELOG.md:2656 -msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." -msgstr "" - -#: ../../../CHANGELOG.md:2658 -msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:2660 -msgid "As always, re-running the playbook is enough to get the updated bits." +msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" msgstr "" #: ../../../CHANGELOG.md:2662 -msgid "2020-06-11" +msgid "Trying out Dendrite" msgstr "" #: ../../../CHANGELOG.md:2664 -msgid "SMS bridging requires db reset" -msgstr "" - -#: ../../../CHANGELOG.md:2666 -msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new requried var `matrix_sms_bridge_default_region`." -msgstr "" - -#: ../../../CHANGELOG.md:2668 -msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." +msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2670 -msgid "2020-06-05" +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." msgstr "" #: ../../../CHANGELOG.md:2672 -msgid "SMS bridging support" +msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" msgstr "" #: ../../../CHANGELOG.md:2674 -msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." +msgid "Honoroit bot support" msgstr "" #: ../../../CHANGELOG.md:2676 -msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." msgstr "" -#: ../../../CHANGELOG.md:2679 -msgid "2020-05-19" +#: ../../../CHANGELOG.md:2678 +msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2681 -msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" +msgid "2022-01-06" +msgstr "" + +#: ../../../CHANGELOG.md:2683 +msgid "Cinny support" msgstr "" #: ../../../CHANGELOG.md:2685 -msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." msgstr "" #: ../../../CHANGELOG.md:2687 -msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." +msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." msgstr "" #: ../../../CHANGELOG.md:2689 -msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" +msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." msgstr "" #: ../../../CHANGELOG.md:2692 -msgid "2020-04-28" +msgid "2021-12-22" msgstr "" #: ../../../CHANGELOG.md:2694 -msgid "Newer IRC bridge (with potential breaking change)" +msgid "Twitter bridging support via mautrix-twitter" msgstr "" #: ../../../CHANGELOG.md:2696 -msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it accoring to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." +msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +msgstr "" + +#: ../../../CHANGELOG.md:2699 +msgid "2021-12-14" +msgstr "" + +#: ../../../CHANGELOG.md:2701 +msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +msgstr "" + +#: ../../../CHANGELOG.md:2703 +msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." msgstr "" #: ../../../CHANGELOG.md:2705 -msgid "2020-04-23" +msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." msgstr "" -#: ../../../CHANGELOG.md:2707 ../../../CHANGELOG.md:2938 -msgid "Slack bridging support" +#: ../../../CHANGELOG.md:2708 +msgid "2021-11-11" msgstr "" -#: ../../../CHANGELOG.md:2709 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." +#: ../../../CHANGELOG.md:2710 +msgid "Dropped support for Postgres v9.6" msgstr "" -#: ../../../CHANGELOG.md:2711 -msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2712 +msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." msgstr "" #: ../../../CHANGELOG.md:2714 -msgid "2020-04-09" +msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." msgstr "" -#: ../../../CHANGELOG.md:2716 -msgid "Skype bridging support" +#: ../../../CHANGELOG.md:2717 +msgid "2021-10-23" msgstr "" -#: ../../../CHANGELOG.md:2718 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." +#: ../../../CHANGELOG.md:2719 +msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" msgstr "" -#: ../../../CHANGELOG.md:2720 -msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2721 +msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." msgstr "" #: ../../../CHANGELOG.md:2723 -msgid "2020-04-05" +msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." msgstr "" -#: ../../../CHANGELOG.md:2725 -msgid "Private Jitsi support" +#: ../../../CHANGELOG.md:2726 +msgid "2021-08-23" msgstr "" -#: ../../../CHANGELOG.md:2727 -msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." +#: ../../../CHANGELOG.md:2728 +msgid "LinkedIn bridging support via beeper-linkedin" msgstr "" -#: ../../../CHANGELOG.md:2729 -msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." +#: ../../../CHANGELOG.md:2730 +msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." msgstr "" -#: ../../../CHANGELOG.md:2731 -msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." +#: ../../../CHANGELOG.md:2732 +msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" #: ../../../CHANGELOG.md:2734 -msgid "2020-04-03" +msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." msgstr "" -#: ../../../CHANGELOG.md:2736 -msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" +#: ../../../CHANGELOG.md:2737 +msgid "2021-08-20" msgstr "" -#: ../../../CHANGELOG.md:2738 -msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." +#: ../../../CHANGELOG.md:2739 +msgid "Sygnal upgraded — ARM support and no longer requires a database" msgstr "" -#: ../../../CHANGELOG.md:2740 -msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." +#: ../../../CHANGELOG.md:2741 +msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." msgstr "" -#: ../../../CHANGELOG.md:2742 -msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." +#: ../../../CHANGELOG.md:2743 +msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." msgstr "" #: ../../../CHANGELOG.md:2745 -msgid "2020-03-29" +msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." msgstr "" #: ../../../CHANGELOG.md:2747 -msgid "Archlinux support" +msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." msgstr "" -#: ../../../CHANGELOG.md:2749 -msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." +#: ../../../CHANGELOG.md:2750 +msgid "2021-05-21" msgstr "" #: ../../../CHANGELOG.md:2752 -msgid "2020-03-24" +msgid "Hydrogen support" msgstr "" #: ../../../CHANGELOG.md:2754 -msgid "Jitsi support" +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." msgstr "" #: ../../../CHANGELOG.md:2756 -msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." +msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." msgstr "" #: ../../../CHANGELOG.md:2758 -msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." +msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." msgstr "" #: ../../../CHANGELOG.md:2761 -msgid "2020-03-15" +msgid "2021-05-19" msgstr "" #: ../../../CHANGELOG.md:2763 -msgid "Raspberry Pi support" +msgid "Heisenbridge support" msgstr "" #: ../../../CHANGELOG.md:2765 -msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." +msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." msgstr "" #: ../../../CHANGELOG.md:2767 -msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." +msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." msgstr "" #: ../../../CHANGELOG.md:2770 -msgid "2020-02-26" +msgid "2021-04-16" msgstr "" #: ../../../CHANGELOG.md:2772 -msgid "Riot-web themes are here" +msgid "Disabling TLSv1 and TLSv1.1 for coturn" msgstr "" #: ../../../CHANGELOG.md:2774 -msgid "The playbook now makes it easy to install custom riot-web themes." +msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." msgstr "" #: ../../../CHANGELOG.md:2776 -msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." +msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:2779 -msgid "2020-02-24" +#: ../../../CHANGELOG.md:2784 +msgid "2021-04-05" msgstr "" -#: ../../../CHANGELOG.md:2781 -msgid "Customize the server name in Riot's login page" +#: ../../../CHANGELOG.md:2786 +msgid "Automated local Postgres backup support" msgstr "" -#: ../../../CHANGELOG.md:2783 -msgid "You can now customize the server name string that Riot-web displays in its login page." +#: ../../../CHANGELOG.md:2788 +msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." msgstr "" -#: ../../../CHANGELOG.md:2785 -msgid "These playbook variables, with these default values, have been added:" -msgstr "" - -#: ../../../CHANGELOG.md:2791 -msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." +#: ../../../CHANGELOG.md:2790 +msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." msgstr "" #: ../../../CHANGELOG.md:2793 -msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." +msgid "2021-04-03" msgstr "" -#: ../../../CHANGELOG.md:2796 -msgid "2020-01-30" +#: ../../../CHANGELOG.md:2795 +msgid "Mjolnir moderation tool (bot) support" msgstr "" -#: ../../../CHANGELOG.md:2798 -msgid "Disabling TLSv1.1" +#: ../../../CHANGELOG.md:2797 +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." msgstr "" -#: ../../../CHANGELOG.md:2800 -msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." +#: ../../../CHANGELOG.md:2799 +msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." msgstr "" #: ../../../CHANGELOG.md:2802 -msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" +msgid "2021-03-20" msgstr "" -#: ../../../CHANGELOG.md:2805 -msgid "2020-01-21" +#: ../../../CHANGELOG.md:2804 +msgid "Sygnal push gateway support" msgstr "" -#: ../../../CHANGELOG.md:2807 -msgid "Postgres collation changes (action required!)" +#: ../../../CHANGELOG.md:2806 +msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." msgstr "" -#: ../../../CHANGELOG.md:2809 -msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." +#: ../../../CHANGELOG.md:2808 +msgid "This is only useful to people who develop/build their own Matrix client applications." msgstr "" -#: ../../../CHANGELOG.md:2811 -msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." +#: ../../../CHANGELOG.md:2810 +msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." msgstr "" #: ../../../CHANGELOG.md:2813 -msgid "To avoid future problems, we recommend that you run the following command:" +msgid "2021-03-16" +msgstr "" + +#: ../../../CHANGELOG.md:2815 +msgid "Go-NEB support" +msgstr "" + +#: ../../../CHANGELOG.md:2817 +msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." msgstr "" #: ../../../CHANGELOG.md:2819 -msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." +msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." msgstr "" #: ../../../CHANGELOG.md:2822 -msgid "2020-01-14" +msgid "2021-02-19" msgstr "" #: ../../../CHANGELOG.md:2824 -msgid "Added support for Appservice Webhooks" +msgid "GroupMe bridging support via mx-puppet-groupme" msgstr "" #: ../../../CHANGELOG.md:2826 -msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." +msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." msgstr "" #: ../../../CHANGELOG.md:2828 -msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." +msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" -#: ../../../CHANGELOG.md:2831 -msgid "2020-01-12" +#: ../../../CHANGELOG.md:2830 +msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." msgstr "" -#: ../../../CHANGELOG.md:2833 -msgid "Added support for automatic Double Puppeting for all Mautrix bridges" +#: ../../../CHANGELOG.md:2832 +msgid "Mautrix Instagram bridging support" msgstr "" -#: ../../../CHANGELOG.md:2835 -msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." +#: ../../../CHANGELOG.md:2834 +msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." msgstr "" -#: ../../../CHANGELOG.md:2837 -msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." +#: ../../../CHANGELOG.md:2836 +msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." msgstr "" -#: ../../../CHANGELOG.md:2839 -msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." +#: ../../../CHANGELOG.md:2838 +msgid "Synapse workers support" +msgstr "" + +#: ../../../CHANGELOG.md:2840 +msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." msgstr "" #: ../../../CHANGELOG.md:2842 -msgid "2019-12-06" +msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." msgstr "" #: ../../../CHANGELOG.md:2844 -msgid "Added support for an alternative method for using another webserver" +msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." msgstr "" #: ../../../CHANGELOG.md:2846 -msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." +msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." msgstr "" #: ../../../CHANGELOG.md:2848 -msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." +msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." msgstr "" -#: ../../../CHANGELOG.md:2850 -msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." +#: ../../../CHANGELOG.md:2851 +msgid "2021-02-12" msgstr "" #: ../../../CHANGELOG.md:2853 -msgid "2019-11-10" +msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" msgstr "" #: ../../../CHANGELOG.md:2855 -msgid "Tightened security around room directory publishing" +msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." msgstr "" #: ../../../CHANGELOG.md:2857 -msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." +msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." msgstr "" #: ../../../CHANGELOG.md:2859 -msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." +msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." msgstr "" -#: ../../../CHANGELOG.md:2861 -msgid "As with anything else, these new defaults can be overriden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." +#: ../../../CHANGELOG.md:2862 +msgid "2021-01-31" msgstr "" #: ../../../CHANGELOG.md:2864 -msgid "2019-10-05" +msgid "Etherpad support" msgstr "" #: ../../../CHANGELOG.md:2866 -msgid "Improved Postgres upgrading/importing" +msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." msgstr "" #: ../../../CHANGELOG.md:2868 -msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." +msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." msgstr "" -#: ../../../CHANGELOG.md:2870 -msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." +#: ../../../CHANGELOG.md:2871 +msgid "2021-01-22" msgstr "" -#: ../../../CHANGELOG.md:2872 -msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." +#: ../../../CHANGELOG.md:2873 +msgid "(Breaking Change) Postgres changes that require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2874 -msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." +#: ../../../CHANGELOG.md:2875 +msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." msgstr "" #: ../../../CHANGELOG.md:2877 -msgid "2019-10-04" +msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." msgstr "" #: ../../../CHANGELOG.md:2879 -msgid "Postgres 12 support" +msgid "Why?" msgstr "" #: ../../../CHANGELOG.md:2881 -msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." +msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +msgstr "" + +#: ../../../CHANGELOG.md:2882 +msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" msgstr "" #: ../../../CHANGELOG.md:2883 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2884 +msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2885 +msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." msgstr "" #: ../../../CHANGELOG.md:2886 -msgid "2019-10-03" +msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." msgstr "" #: ../../../CHANGELOG.md:2888 -msgid "Synapse 1.4.0" +msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." msgstr "" #: ../../../CHANGELOG.md:2890 -msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." +msgid "What has really changed?" msgstr "" #: ../../../CHANGELOG.md:2892 -msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." +msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgstr "" + +#: ../../../CHANGELOG.md:2893 +msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" msgstr "" #: ../../../CHANGELOG.md:2894 -msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." +msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" msgstr "" -#: ../../../CHANGELOG.md:2896 -msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." +#: ../../../CHANGELOG.md:2895 +msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgstr "" + +#: ../../../CHANGELOG.md:2897 +msgid "What do I do if I'm using the integrated Postgres server (default)?" msgstr "" #: ../../../CHANGELOG.md:2899 -msgid "2019-09-09" +msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." msgstr "" #: ../../../CHANGELOG.md:2901 -msgid "Synapse Simple Antispam support" +msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" msgstr "" #: ../../../CHANGELOG.md:2903 -msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." +msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." msgstr "" #: ../../../CHANGELOG.md:2905 -msgid "From now on, you can easily install and configure this spam checker module through the playbook." +msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" msgstr "" #: ../../../CHANGELOG.md:2907 -msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." +msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" msgstr "" -#: ../../../CHANGELOG.md:2910 -msgid "2019-08-25" -msgstr "" - -#: ../../../CHANGELOG.md:2912 -msgid "Extensible Riot-web configuration" +#: ../../../CHANGELOG.md:2912 ../../../CHANGELOG.md:2924 +msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." msgstr "" #: ../../../CHANGELOG.md:2914 -msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." +msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +msgstr "" + +#: ../../../CHANGELOG.md:2915 +msgid "Log in to the server via SSH. The next commands will be performed there." msgstr "" #: ../../../CHANGELOG.md:2916 -msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." +msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgstr "" + +#: ../../../CHANGELOG.md:2917 +msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" msgstr "" #: ../../../CHANGELOG.md:2918 -msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." +msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" msgstr "" -#: ../../../CHANGELOG.md:2920 -msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2923 -msgid "2019-08-22" -msgstr "" - -#: ../../../CHANGELOG.md:2925 -msgid "Extensible Synapse configuration" -msgstr "" - -#: ../../../CHANGELOG.md:2927 -msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:2929 -msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." -msgstr "" - -#: ../../../CHANGELOG.md:2931 -msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." -msgstr "" - -#: ../../../CHANGELOG.md:2933 -msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2936 -msgid "2019-08-21" -msgstr "" - -#: ../../../CHANGELOG.md:2940 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." -msgstr "" - -#: ../../../CHANGELOG.md:2942 -msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +#: ../../../CHANGELOG.md:2926 +msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" msgstr "" #: ../../../CHANGELOG.md:2944 -msgid "Google Hangouts bridging support" +msgid "You may need to press *Enter* after pasting the lines above." msgstr "" #: ../../../CHANGELOG.md:2946 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." +msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" msgstr "" #: ../../../CHANGELOG.md:2948 -msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +msgid "What do I do if I'm using an external Postgres server?" msgstr "" -#: ../../../CHANGELOG.md:2951 -msgid "2019-08-05" +#: ../../../CHANGELOG.md:2950 +msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." msgstr "" -#: ../../../CHANGELOG.md:2953 -msgid "Email2Matrix support" +#: ../../../CHANGELOG.md:2952 +msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." msgstr "" #: ../../../CHANGELOG.md:2955 -msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." +msgid "2021-01-20" msgstr "" #: ../../../CHANGELOG.md:2957 -msgid "It's an optional feature that you can enable via the playbook." +msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" msgstr "" #: ../../../CHANGELOG.md:2959 -msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." +msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." msgstr "" -#: ../../../CHANGELOG.md:2962 -msgid "2019-08-03" +#: ../../../CHANGELOG.md:2961 +msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." msgstr "" -#: ../../../CHANGELOG.md:2964 -msgid "Synapse logging level has been reduced to WARNING" +#: ../../../CHANGELOG.md:2963 +msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." +msgstr "" + +#: ../../../CHANGELOG.md:2965 +msgid "Whether this change requires your intervention depends mostly on:" msgstr "" #: ../../../CHANGELOG.md:2966 -msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." +msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." msgstr "" -#: ../../../CHANGELOG.md:2968 -msgid "This greatly reduces the number of log messages that are being logged, leading to:" +#: ../../../CHANGELOG.md:2967 +msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." msgstr "" -#: ../../../CHANGELOG.md:2970 -msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" +#: ../../../CHANGELOG.md:2969 +msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." msgstr "" #: ../../../CHANGELOG.md:2971 -msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" +msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" msgstr "" #: ../../../CHANGELOG.md:2973 -msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." +msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." msgstr "" -#: ../../../CHANGELOG.md:2976 -msgid "2019-07-08" +#: ../../../CHANGELOG.md:2975 +msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." msgstr "" -#: ../../../CHANGELOG.md:2978 -msgid "Synapse Maintenance docs and synapse-janitor support are available" +#: ../../../CHANGELOG.md:2977 +msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." msgstr "" -#: ../../../CHANGELOG.md:2980 -msgid "The playbook can now help you with Synapse's maintenance." +#: ../../../CHANGELOG.md:2979 +msgid "Upgrade path for people running an external Postgres server" +msgstr "" + +#: ../../../CHANGELOG.md:2981 +msgid "For people using the internal Postgres server (the default for the playbook):" msgstr "" #: ../../../CHANGELOG.md:2982 -msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." +msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +msgstr "" + +#: ../../../CHANGELOG.md:2983 +msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" msgstr "" #: ../../../CHANGELOG.md:2984 -msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." +msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" msgstr "" #: ../../../CHANGELOG.md:2986 -msgid "(BC Break) Rename run control variables" +msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." msgstr "" #: ../../../CHANGELOG.md:2988 -msgid "Some internal playbook control variables have been renamed." +msgid "You have 3 ways to proceed:" msgstr "" #: ../../../CHANGELOG.md:2990 -msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." +msgid "contribute to the playbook to make this possible (difficult)" +msgstr "" + +#: ../../../CHANGELOG.md:2991 +msgid "or, do the migration \"steps\" manually:" msgstr "" #: ../../../CHANGELOG.md:2992 -msgid "The following variables have been renamed:" +msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" +msgstr "" + +#: ../../../CHANGELOG.md:2993 +msgid "create a new `matrix_mautrix_facebook` Postgres database for it" msgstr "" #: ../../../CHANGELOG.md:2994 -msgid "from `run_import_postgres` to `run_postgres_import`" +msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" msgstr "" #: ../../../CHANGELOG.md:2995 -msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" +msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" msgstr "" #: ../../../CHANGELOG.md:2996 -msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" msgstr "" #: ../../../CHANGELOG.md:2997 -msgid "from `run_import_media_store` to `run_synapse_import_media_store`" +msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" msgstr "" #: ../../../CHANGELOG.md:2998 -msgid "from `run_register_user` to `run_synapse_register_user`" +msgid "send a `login` message to the Facebook bridge bot again" msgstr "" #: ../../../CHANGELOG.md:2999 -msgid "from `run_update_user_password` to `run_synapse_update_user_password`" +msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" msgstr "" -#: ../../../CHANGELOG.md:3002 -msgid "2019-07-04" +#: ../../../CHANGELOG.md:3001 +msgid "Staying on SQLite for a little longer (temporary solution)" msgstr "" -#: ../../../CHANGELOG.md:3004 -msgid "Synapse no longer logs to text files" -msgstr "" - -#: ../../../CHANGELOG.md:3006 -msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." -msgstr "" - -#: ../../../CHANGELOG.md:3008 -msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:3010 -msgid "Because of this, the following variables have become obsolete and were removed:" -msgstr "" - -#: ../../../CHANGELOG.md:3012 -msgid "`matrix_synapse_max_log_file_size_mb`" +#: ../../../CHANGELOG.md:3003 +msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:3013 -msgid "`matrix_synapse_max_log_files_count`" +msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." msgstr "" -#: ../../../CHANGELOG.md:3015 -msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." +#: ../../../CHANGELOG.md:3016 +msgid "2021-01-17" msgstr "" -#: ../../../CHANGELOG.md:3017 -msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." +#: ../../../CHANGELOG.md:3018 +msgid "matrix-corporal goes 2.0" msgstr "" #: ../../../CHANGELOG.md:3020 -msgid "2019-06-27" +msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." msgstr "" #: ../../../CHANGELOG.md:3022 -msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" +msgid "No manual intervention is required in the common case." msgstr "" #: ../../../CHANGELOG.md:3024 -msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." +msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." msgstr "" -#: ../../../CHANGELOG.md:3026 -msgid "From now on, the playbook will keep both configuration files sync for you." +#: ../../../CHANGELOG.md:3027 +msgid "2021-01-14" msgstr "" -#: ../../../CHANGELOG.md:3028 -msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3029 +msgid "Moving from cronjobs to systemd timers" msgstr "" -#: ../../../CHANGELOG.md:3030 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." +#: ../../../CHANGELOG.md:3031 +msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." msgstr "" -#: ../../../CHANGELOG.md:3032 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3033 +msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." msgstr "" -#: ../../../CHANGELOG.md:3034 -msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." +#: ../../../CHANGELOG.md:3035 +msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." msgstr "" -#: ../../../CHANGELOG.md:3036 -msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." +#: ../../../CHANGELOG.md:3038 +msgid "2021-01-08" msgstr "" -#: ../../../CHANGELOG.md:3039 -msgid "2019-06-24" +#: ../../../CHANGELOG.md:3040 +msgid "(Breaking Change) New SSL configuration" msgstr "" -#: ../../../CHANGELOG.md:3041 -msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3042 +msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." msgstr "" -#: ../../../CHANGELOG.md:3043 -msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3044 +msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." msgstr "" -#: ../../../CHANGELOG.md:3045 ../../../CHANGELOG.md:3062 -#: ../../../CHANGELOG.md:3081 ../../../CHANGELOG.md:3120 -msgid "From now on, the playbook will keep the configuration in sync for you." +#: ../../../CHANGELOG.md:3046 +msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." msgstr "" -#: ../../../CHANGELOG.md:3047 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3048 +msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." msgstr "" -#: ../../../CHANGELOG.md:3049 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3050 +msgid "To revert to the old behaviour, set the following variables:" msgstr "" -#: ../../../CHANGELOG.md:3051 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." -msgstr "" - -#: ../../../CHANGELOG.md:3053 -msgid "We're now following the default configuration for the WhatsApp bridge." -msgstr "" - -#: ../../../CHANGELOG.md:3056 -msgid "2019-06-20" -msgstr "" - -#: ../../../CHANGELOG.md:3058 -msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3057 +msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." msgstr "" #: ../../../CHANGELOG.md:3060 -msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." +msgid "2021-01-03" +msgstr "" + +#: ../../../CHANGELOG.md:3062 +msgid "Signal bridging support via mautrix-signal" msgstr "" #: ../../../CHANGELOG.md:3064 -msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3066 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." +msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." msgstr "" -#: ../../../CHANGELOG.md:3068 -msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." +#: ../../../CHANGELOG.md:3069 +msgid "2020-12-23" msgstr "" -#: ../../../CHANGELOG.md:3070 -msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." +#: ../../../CHANGELOG.md:3071 +msgid "The big move to all-on-Postgres (potentially dangerous)" msgstr "" -#: ../../../CHANGELOG.md:3072 -msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3073 +msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." msgstr "" #: ../../../CHANGELOG.md:3075 -msgid "2019-06-15" +msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." msgstr "" #: ../../../CHANGELOG.md:3077 -msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" +msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" msgstr "" #: ../../../CHANGELOG.md:3079 -msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." +msgid "Moving all services to Postgres brings a few **benefits** to us:" +msgstr "" + +#: ../../../CHANGELOG.md:3081 +msgid "**improved performance**" +msgstr "" + +#: ../../../CHANGELOG.md:3082 +msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." msgstr "" #: ../../../CHANGELOG.md:3083 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." msgstr "" -#: ../../../CHANGELOG.md:3085 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3084 +msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." msgstr "" -#: ../../../CHANGELOG.md:3087 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3086 +msgid "Key takeway" msgstr "" -#: ../../../CHANGELOG.md:3089 -msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" +#: ../../../CHANGELOG.md:3088 +msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" msgstr "" -#: ../../../CHANGELOG.md:3091 -msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" +#: ../../../CHANGELOG.md:3090 +msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." msgstr "" #: ../../../CHANGELOG.md:3092 -msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." -msgstr "" - -#: ../../../CHANGELOG.md:3093 -msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" +msgid "Opting-out of the Postgres migration" msgstr "" #: ../../../CHANGELOG.md:3094 -msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" +msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." msgstr "" #: ../../../CHANGELOG.md:3096 -msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." +msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." msgstr "" -#: ../../../CHANGELOG.md:3099 -msgid "2019-06-12" +#: ../../../CHANGELOG.md:3098 +msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" -#: ../../../CHANGELOG.md:3101 -msgid "Synapse v1.0" +#: ../../../CHANGELOG.md:3100 +msgid "Going back to SQLite/nedb if things went wrong" msgstr "" -#: ../../../CHANGELOG.md:3103 -msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." +#: ../../../CHANGELOG.md:3102 +msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" +msgstr "" + +#: ../../../CHANGELOG.md:3104 +msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:3105 -msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." +msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" +msgstr "" + +#: ../../../CHANGELOG.md:3106 +msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" #: ../../../CHANGELOG.md:3107 -msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" msgstr "" -#: ../../../CHANGELOG.md:3109 -msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." +#: ../../../CHANGELOG.md:3108 +msgid "[get in touch](README.md#support) with us" msgstr "" -#: ../../../CHANGELOG.md:3111 -msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." +#: ../../../CHANGELOG.md:3110 +msgid "2020-12-11" +msgstr "" + +#: ../../../CHANGELOG.md:3112 +msgid "synapse-janitor support removed" msgstr "" #: ../../../CHANGELOG.md:3114 -msgid "2019-06-07" +msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." msgstr "" #: ../../../CHANGELOG.md:3116 -msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." msgstr "" #: ../../../CHANGELOG.md:3118 -msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." +msgid "Docker 20.10 is here" +msgstr "" + +#: ../../../CHANGELOG.md:3120 +msgid "(No need to do anything special in relation to this. Just something to keep in mind)" msgstr "" #: ../../../CHANGELOG.md:3122 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." msgstr "" #: ../../../CHANGELOG.md:3124 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." msgstr "" -#: ../../../CHANGELOG.md:3126 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3127 +msgid "2020-12-08" msgstr "" #: ../../../CHANGELOG.md:3129 -msgid "2019-05-25" +msgid "openid APIs exposed by default on the federation port when federation disabled" msgstr "" #: ../../../CHANGELOG.md:3131 -msgid "Support for exposing container ports publicly (not just to the host)" +msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." msgstr "" #: ../../../CHANGELOG.md:3133 -msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." +msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." msgstr "" #: ../../../CHANGELOG.md:3135 -msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." +msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." msgstr "" -#: ../../../CHANGELOG.md:3137 -msgid "All such variables have been superseded by a better (more flexible) way to do it." +#: ../../../CHANGELOG.md:3138 +msgid "2020-11-27" msgstr "" -#: ../../../CHANGELOG.md:3139 -msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." +#: ../../../CHANGELOG.md:3140 +msgid "Recent Jitsi updates may require configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3141 -msgid "Porting examples follow for people having more customized setups:" +#: ../../../CHANGELOG.md:3142 +msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." msgstr "" -#: ../../../CHANGELOG.md:3143 -msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" +#: ../../../CHANGELOG.md:3144 +msgid "**If you use our default Jitsi settings, you won't have to do anything.**" msgstr "" -#: ../../../CHANGELOG.md:3145 -msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" +#: ../../../CHANGELOG.md:3146 +msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." msgstr "" -#: ../../../CHANGELOG.md:3147 -msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" +#: ../../../CHANGELOG.md:3148 +msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." msgstr "" -#: ../../../CHANGELOG.md:3149 -msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" -msgstr "" - -#: ../../../CHANGELOG.md:3151 -msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" +#: ../../../CHANGELOG.md:3150 +msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." msgstr "" #: ../../../CHANGELOG.md:3153 -msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" +msgid "2020-11-23" msgstr "" -#: ../../../CHANGELOG.md:3155 -msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" +#: ../../../CHANGELOG.md:3155 ../../../CHANGELOG.md:3163 +msgid "Breaking change matrix-sms-bridge" msgstr "" #: ../../../CHANGELOG.md:3157 -msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." msgstr "" #: ../../../CHANGELOG.md:3159 -msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" +msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." msgstr "" #: ../../../CHANGELOG.md:3161 -msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." +msgid "2020-11-13" msgstr "" -#: ../../../CHANGELOG.md:3164 -msgid "2019-05-23" +#: ../../../CHANGELOG.md:3165 +msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." msgstr "" -#: ../../../CHANGELOG.md:3166 -msgid "(BC Break) Ansible 2.8 compatibility" +#: ../../../CHANGELOG.md:3167 +msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" msgstr "" #: ../../../CHANGELOG.md:3168 -msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." +msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" +msgstr "" + +#: ../../../CHANGELOG.md:3169 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" msgstr "" #: ../../../CHANGELOG.md:3170 -msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." +msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." +msgstr "" + +#: ../../../CHANGELOG.md:3171 +msgid "Remove the var from the first step." msgstr "" #: ../../../CHANGELOG.md:3172 -msgid "To avoid doing it manually, run this:" -msgstr "" - -#: ../../../CHANGELOG.md:3173 -msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." msgstr "" #: ../../../CHANGELOG.md:3174 -msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgid "2020-11-10" msgstr "" -#: ../../../CHANGELOG.md:3177 -msgid "2019-05-21" +#: ../../../CHANGELOG.md:3176 +msgid "Dynamic DNS support" msgstr "" -#: ../../../CHANGELOG.md:3179 -msgid "Synapse no longer required" +#: ../../../CHANGELOG.md:3178 +msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." msgstr "" -#: ../../../CHANGELOG.md:3181 -msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." +#: ../../../CHANGELOG.md:3180 +msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." msgstr "" #: ../../../CHANGELOG.md:3183 -msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." +msgid "2020-10-28" msgstr "" #: ../../../CHANGELOG.md:3185 -msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." +msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" msgstr "" #: ../../../CHANGELOG.md:3187 -msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." +msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." msgstr "" #: ../../../CHANGELOG.md:3189 -msgid "Bridges are now separate from the Synapse role" +msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." msgstr "" #: ../../../CHANGELOG.md:3191 -msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." +msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." msgstr "" #: ../../../CHANGELOG.md:3193 -msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." +msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." msgstr "" -#: ../../../CHANGELOG.md:3195 -msgid "Renaming inconsistently-named Synapse variables" +#: ../../../CHANGELOG.md:3196 +msgid "2020-10-26" msgstr "" -#: ../../../CHANGELOG.md:3197 -msgid "For better consistency, the following variables have been renamed:" -msgstr "" - -#: ../../../CHANGELOG.md:3199 -msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +#: ../../../CHANGELOG.md:3198 +msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" msgstr "" #: ../../../CHANGELOG.md:3200 -msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." msgstr "" -#: ../../../CHANGELOG.md:3201 -msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +#: ../../../CHANGELOG.md:3202 +msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." msgstr "" #: ../../../CHANGELOG.md:3204 -msgid "2019-05-09" +msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" msgstr "" -#: ../../../CHANGELOG.md:3206 -msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +#: ../../../CHANGELOG.md:3211 +msgid "2020-10-02" msgstr "" -#: ../../../CHANGELOG.md:3208 -msgid "Mautrix Facebook/Messenger bridging support" +#: ../../../CHANGELOG.md:3213 +msgid "Minimum Ansible version raised to v2.7.0" msgstr "" -#: ../../../CHANGELOG.md:3210 -msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:3215 +msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." msgstr "" -#: ../../../CHANGELOG.md:3212 -msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +#: ../../../CHANGELOG.md:3217 +msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." msgstr "" -#: ../../../CHANGELOG.md:3214 -msgid "mxisd Registration feature integration" +#: ../../../CHANGELOG.md:3219 +msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." msgstr "" -#: ../../../CHANGELOG.md:3216 -msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +#: ../../../CHANGELOG.md:3222 +msgid "2020-10-01" msgstr "" -#: ../../../CHANGELOG.md:3218 -msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +#: ../../../CHANGELOG.md:3224 +msgid "Postgres 13 support" msgstr "" -#: ../../../CHANGELOG.md:3221 -msgid "2019-04-16" +#: ../../../CHANGELOG.md:3226 +msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." msgstr "" -#: ../../../CHANGELOG.md:3223 -msgid "Caddy webserver examples" +#: ../../../CHANGELOG.md:3228 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3225 -msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +#: ../../../CHANGELOG.md:3230 +msgid "2020-09-01" msgstr "" -#: ../../../CHANGELOG.md:3227 -msgid "2019-04-10" -msgstr "" - -#: ../../../CHANGELOG.md:3229 -msgid "Goofys support for other S3-compatible object stores" -msgstr "" - -#: ../../../CHANGELOG.md:3231 -msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +#: ../../../CHANGELOG.md:3232 +msgid "matrix-registration support" msgstr "" #: ../../../CHANGELOG.md:3234 -msgid "2019-04-03" +msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." msgstr "" #: ../../../CHANGELOG.md:3236 -msgid "Ansible >= 2.5 is required" +msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3238 -msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +#: ../../../CHANGELOG.md:3239 +msgid "2020-08-21" msgstr "" -#: ../../../CHANGELOG.md:3240 -msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +#: ../../../CHANGELOG.md:3241 +msgid "rust-synapse-compress-state support" msgstr "" #: ../../../CHANGELOG.md:3243 -msgid "2019-03-19" +msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." msgstr "" #: ../../../CHANGELOG.md:3245 -msgid "TLS support for coturn" +msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3247 -msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +#: ../../../CHANGELOG.md:3248 +msgid "2020-07-22" msgstr "" -#: ../../../CHANGELOG.md:3249 -msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +#: ../../../CHANGELOG.md:3250 +msgid "Synapse Admin support" msgstr "" -#: ../../../CHANGELOG.md:3255 -msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +#: ../../../CHANGELOG.md:3252 +msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +msgstr "" + +#: ../../../CHANGELOG.md:3254 +msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3257 -msgid "People who build their own custom playbook from our roles should be aware that:" +msgid "2020-07-20" msgstr "" #: ../../../CHANGELOG.md:3259 -msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgid "matrix-reminder-bot support" msgstr "" #: ../../../CHANGELOG.md:3261 -msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." msgstr "" -#: ../../../CHANGELOG.md:3264 -msgid "2019-03-12" +#: ../../../CHANGELOG.md:3263 +msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3266 -msgid "matrix-nginx-proxy support for serving the base domain" +msgid "2020-07-17" msgstr "" #: ../../../CHANGELOG.md:3268 -msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." +msgid "(Compatibility Break) Riot is now Element" msgstr "" #: ../../../CHANGELOG.md:3270 -msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." msgstr "" #: ../../../CHANGELOG.md:3272 -msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgid "The playbook follows suit. Existing installations have a few options for how to handle this." msgstr "" #: ../../../CHANGELOG.md:3274 -msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." msgstr "" -#: ../../../CHANGELOG.md:3276 -msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +#: ../../../CHANGELOG.md:3277 +msgid "2020-07-03" msgstr "" #: ../../../CHANGELOG.md:3279 -msgid "2019-03-10" +msgid "Steam bridging support via mx-puppet-steam" msgstr "" #: ../../../CHANGELOG.md:3281 -msgid "Dimension integration manager support" +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3283 -msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +#: ../../../CHANGELOG.md:3284 +msgid "2020-07-01" msgstr "" #: ../../../CHANGELOG.md:3286 -msgid "2019-03-07" +msgid "Discord bridging support via mx-puppet-discord" msgstr "" #: ../../../CHANGELOG.md:3288 -msgid "Ability to customize mxisd's email templates" +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3290 -msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." msgstr "" #: ../../../CHANGELOG.md:3293 -msgid "2019-03-05" +msgid "2020-06-30" msgstr "" #: ../../../CHANGELOG.md:3295 -msgid "Discord bridging support" +msgid "Instagram and Twitter bridging support" msgstr "" #: ../../../CHANGELOG.md:3297 -msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3300 -msgid "2019-02-19" +#: ../../../CHANGELOG.md:3299 +msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3302 -msgid "Renaming variables" +msgid "2020-06-28" msgstr "" -#: ../../../CHANGELOG.md:3304 ../../../CHANGELOG.md:3621 -#: ../../../CHANGELOG.md:3706 ../../../CHANGELOG.md:3826 -msgid "The following playbook variables were renamed:" +#: ../../../CHANGELOG.md:3304 +msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" msgstr "" -#: ../../../CHANGELOG.md:3306 -msgid "from `host_specific_hostname_identity` to `matrix_domain`" -msgstr "" - -#: ../../../CHANGELOG.md:3307 -msgid "from `hostname_identity` to `matrix_domain`" +#: ../../../CHANGELOG.md:3306 ../../../CHANGELOG.md:3335 +msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." msgstr "" #: ../../../CHANGELOG.md:3308 -msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" -msgstr "" - -#: ../../../CHANGELOG.md:3309 -msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." msgstr "" #: ../../../CHANGELOG.md:3310 -msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:3312 -msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +msgid "As always, re-running the playbook is enough to get the updated bits." msgstr "" -#: ../../../CHANGELOG.md:3315 -msgid "2019-02-16" +#: ../../../CHANGELOG.md:3314 +msgid "2020-06-11" msgstr "" -#: ../../../CHANGELOG.md:3317 -msgid "Riot v1.0.1 support" +#: ../../../CHANGELOG.md:3316 +msgid "SMS bridging requires db reset" msgstr "" -#: ../../../CHANGELOG.md:3319 -msgid "You can now use the brand new and redesigned Riot." +#: ../../../CHANGELOG.md:3318 +msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`." msgstr "" -#: ../../../CHANGELOG.md:3321 -msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +#: ../../../CHANGELOG.md:3320 +msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." msgstr "" -#: ../../../CHANGELOG.md:3323 -msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +#: ../../../CHANGELOG.md:3322 +msgid "2020-06-05" +msgstr "" + +#: ../../../CHANGELOG.md:3324 +msgid "SMS bridging support" msgstr "" #: ../../../CHANGELOG.md:3326 -msgid "2019-02-14" +msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." msgstr "" #: ../../../CHANGELOG.md:3328 -msgid "Synapse v0.99.1" +msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3330 -msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +#: ../../../CHANGELOG.md:3331 +msgid "2020-05-19" msgstr "" -#: ../../../CHANGELOG.md:3332 -msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." -msgstr "" - -#: ../../../CHANGELOG.md:3335 -msgid "2019-02-06" +#: ../../../CHANGELOG.md:3333 +msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" msgstr "" #: ../../../CHANGELOG.md:3337 -msgid "Synapse v0.99 support and preparation for Synapse v1.0" +msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." msgstr "" #: ../../../CHANGELOG.md:3339 -msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." msgstr "" #: ../../../CHANGELOG.md:3341 -msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" msgstr "" -#: ../../../CHANGELOG.md:3343 -msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +#: ../../../CHANGELOG.md:3344 +msgid "2020-04-28" msgstr "" -#: ../../../CHANGELOG.md:3345 -msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +#: ../../../CHANGELOG.md:3346 +msgid "Newer IRC bridge (with potential breaking change)" msgstr "" -#: ../../../CHANGELOG.md:3347 -msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-checking-services.md), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +#: ../../../CHANGELOG.md:3348 +msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." msgstr "" -#: ../../../CHANGELOG.md:3349 -msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +#: ../../../CHANGELOG.md:3357 +msgid "2020-04-23" msgstr "" -#: ../../../CHANGELOG.md:3352 -msgid "2019-02-01" +#: ../../../CHANGELOG.md:3359 ../../../CHANGELOG.md:3590 +msgid "Slack bridging support" msgstr "" -#: ../../../CHANGELOG.md:3354 -msgid "TLS v1.3 support" +#: ../../../CHANGELOG.md:3361 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." msgstr "" -#: ../../../CHANGELOG.md:3356 -msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +#: ../../../CHANGELOG.md:3363 +msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3358 -msgid "When using:" +#: ../../../CHANGELOG.md:3366 +msgid "2020-04-09" msgstr "" -#: ../../../CHANGELOG.md:3360 -msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +#: ../../../CHANGELOG.md:3368 +msgid "Skype bridging support" msgstr "" -#: ../../../CHANGELOG.md:3362 -msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" +#: ../../../CHANGELOG.md:3370 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." msgstr "" -#: ../../../CHANGELOG.md:3364 -msgid "**another web server**: you don't need to do anything to accommodate this change" +#: ../../../CHANGELOG.md:3372 +msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3367 -msgid "2019-01-31" +#: ../../../CHANGELOG.md:3375 +msgid "2020-04-05" msgstr "" -#: ../../../CHANGELOG.md:3369 -msgid "IRC bridging support" +#: ../../../CHANGELOG.md:3377 +msgid "Private Jitsi support" msgstr "" -#: ../../../CHANGELOG.md:3371 -msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +#: ../../../CHANGELOG.md:3379 +msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." msgstr "" -#: ../../../CHANGELOG.md:3374 -msgid "2019-01-29" +#: ../../../CHANGELOG.md:3381 +msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." msgstr "" -#: ../../../CHANGELOG.md:3376 -msgid "Running container processes as non-root, without capabilities and read-only" -msgstr "" - -#: ../../../CHANGELOG.md:3378 -msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." -msgstr "" - -#: ../../../CHANGELOG.md:3380 -msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." -msgstr "" - -#: ../../../CHANGELOG.md:3382 -msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." -msgstr "" - -#: ../../../CHANGELOG.md:3384 -msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +#: ../../../CHANGELOG.md:3383 +msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." msgstr "" #: ../../../CHANGELOG.md:3386 -msgid "matrix-mailer is now based on Exim, not Postfix" +msgid "2020-04-03" msgstr "" #: ../../../CHANGELOG.md:3388 -msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" msgstr "" #: ../../../CHANGELOG.md:3390 -msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." msgstr "" #: ../../../CHANGELOG.md:3392 -msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3395 -msgid "2019-01-17" +#: ../../../CHANGELOG.md:3394 +msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." msgstr "" #: ../../../CHANGELOG.md:3397 -msgid "(BC Break) Making the playbook's roles more independent of one another" +msgid "2020-03-29" msgstr "" #: ../../../CHANGELOG.md:3399 -msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." +msgid "Archlinux support" msgstr "" -#: ../../../CHANGELOG.md:3402 -msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." +#: ../../../CHANGELOG.md:3401 +msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." msgstr "" #: ../../../CHANGELOG.md:3404 -msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." +msgid "2020-03-24" msgstr "" #: ../../../CHANGELOG.md:3406 -msgid "In addition, the following components can now be completely disabled (for those who want/need to):" -msgstr "" - -#: ../../../CHANGELOG.md:3407 -msgid "`matrix-coturn` by using `matrix_coturn_enabled: false`" +msgid "Jitsi support" msgstr "" #: ../../../CHANGELOG.md:3408 -msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." msgstr "" -#: ../../../CHANGELOG.md:3409 -msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:3411 -msgid "The following changes had to be done:" +#: ../../../CHANGELOG.md:3410 +msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." msgstr "" #: ../../../CHANGELOG.md:3413 -msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgid "2020-03-15" msgstr "" #: ../../../CHANGELOG.md:3415 -msgid "`matrix_postgres_use_external` has been superceeded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." +msgid "Raspberry Pi support" msgstr "" #: ../../../CHANGELOG.md:3417 -msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." msgstr "" #: ../../../CHANGELOG.md:3419 -msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." msgstr "" #: ../../../CHANGELOG.md:3422 -msgid "2019-01-16" +msgid "2020-02-26" msgstr "" #: ../../../CHANGELOG.md:3424 -msgid "Splitting the playbook into multiple roles" +msgid "Riot-web themes are here" msgstr "" #: ../../../CHANGELOG.md:3426 -msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." +msgid "The playbook now makes it easy to install custom riot-web themes." msgstr "" -#: ../../../CHANGELOG.md:3429 -msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +#: ../../../CHANGELOG.md:3428 +msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." msgstr "" #: ../../../CHANGELOG.md:3431 -msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +msgid "2020-02-24" msgstr "" -#: ../../../CHANGELOG.md:3434 -msgid "2019-01-11" +#: ../../../CHANGELOG.md:3433 +msgid "Customize the server name in Riot's login page" msgstr "" -#: ../../../CHANGELOG.md:3436 -msgid "(BC Break) mxisd configuration changes" +#: ../../../CHANGELOG.md:3435 +msgid "You can now customize the server name string that Riot-web displays in its login page." msgstr "" -#: ../../../CHANGELOG.md:3438 -msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." -msgstr "" - -#: ../../../CHANGELOG.md:3441 -msgid "The following variables are no longer supported by this playbook:" +#: ../../../CHANGELOG.md:3437 +msgid "These playbook variables, with these default values, have been added:" msgstr "" #: ../../../CHANGELOG.md:3443 -msgid "`matrix_mxisd_ldap_enabled`" -msgstr "" - -#: ../../../CHANGELOG.md:3444 -msgid "`matrix_mxisd_ldap_connection_host`" +msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." msgstr "" #: ../../../CHANGELOG.md:3445 -msgid "`matrix_mxisd_ldap_connection_tls`" -msgstr "" - -#: ../../../CHANGELOG.md:3446 -msgid "`matrix_mxisd_ldap_connection_port`" -msgstr "" - -#: ../../../CHANGELOG.md:3447 -msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." msgstr "" #: ../../../CHANGELOG.md:3448 -msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgid "2020-01-30" msgstr "" -#: ../../../CHANGELOG.md:3449 ../../../CHANGELOG.md:3450 -msgid "`matrix_mxisd_ldap_connection_bindDn`" -msgstr "" - -#: ../../../CHANGELOG.md:3451 ../../../CHANGELOG.md:3455 -msgid "`matrix_mxisd_ldap_connection_bindPassword`" +#: ../../../CHANGELOG.md:3450 +msgid "Disabling TLSv1.1" msgstr "" #: ../../../CHANGELOG.md:3452 -msgid "`matrix_mxisd_ldap_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3453 -msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." msgstr "" #: ../../../CHANGELOG.md:3454 -msgid "`matrix_mxisd_ldap_attribute_uid_value`" -msgstr "" - -#: ../../../CHANGELOG.md:3456 -msgid "`matrix_mxisd_ldap_attribute_name`" +msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" msgstr "" #: ../../../CHANGELOG.md:3457 -msgid "`matrix_mxisd_ldap_attribute_threepid_email`" -msgstr "" - -#: ../../../CHANGELOG.md:3458 -msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgid "2020-01-21" msgstr "" #: ../../../CHANGELOG.md:3459 -msgid "`matrix_mxisd_ldap_identity_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3460 -msgid "`matrix_mxisd_ldap_identity_medium`" +msgid "Postgres collation changes (action required!)" msgstr "" #: ../../../CHANGELOG.md:3461 -msgid "`matrix_mxisd_ldap_auth_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3462 -msgid "`matrix_mxisd_ldap_directory_filter`" +msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." msgstr "" #: ../../../CHANGELOG.md:3463 -msgid "`matrix_mxisd_template_config`" +msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." msgstr "" #: ../../../CHANGELOG.md:3465 -msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgid "To avoid future problems, we recommend that you run the following command:" msgstr "" -#: ../../../CHANGELOG.md:3467 -msgid "This new way of configuring mxisd is beneficial because:" +#: ../../../CHANGELOG.md:3471 +msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." msgstr "" -#: ../../../CHANGELOG.md:3469 -msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +#: ../../../CHANGELOG.md:3474 +msgid "2020-01-14" msgstr "" -#: ../../../CHANGELOG.md:3470 -msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +#: ../../../CHANGELOG.md:3476 +msgid "Added support for Appservice Webhooks" msgstr "" -#: ../../../CHANGELOG.md:3473 -msgid "2019-01-08" +#: ../../../CHANGELOG.md:3478 +msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." msgstr "" -#: ../../../CHANGELOG.md:3475 -msgid "(BC Break) Cronjob schedule no longer configurable" +#: ../../../CHANGELOG.md:3480 +msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." msgstr "" -#: ../../../CHANGELOG.md:3477 -msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." -msgstr "" - -#: ../../../CHANGELOG.md:3479 -msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." -msgstr "" - -#: ../../../CHANGELOG.md:3482 -msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +#: ../../../CHANGELOG.md:3483 +msgid "2020-01-12" msgstr "" #: ../../../CHANGELOG.md:3485 -msgid "2018-12-23" +msgid "Added support for automatic Double Puppeting for all Mautrix bridges" msgstr "" #: ../../../CHANGELOG.md:3487 -msgid "(BC Break) More SSL certificate retrieval methods" +msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." msgstr "" #: ../../../CHANGELOG.md:3489 -msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" -msgstr "" - -#: ../../../CHANGELOG.md:3490 -msgid "(default) obtaining free SSL certificates from Let's Encrypt" +msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." msgstr "" #: ../../../CHANGELOG.md:3491 -msgid "generating self-signed SSL certificates" -msgstr "" - -#: ../../../CHANGELOG.md:3492 -msgid "managing SSL certificates manually" +msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." msgstr "" #: ../../../CHANGELOG.md:3494 -msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +msgid "2019-12-06" msgstr "" #: ../../../CHANGELOG.md:3496 -msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" +msgid "Added support for an alternative method for using another webserver" msgstr "" #: ../../../CHANGELOG.md:3498 -msgid "before: `host_specific_matrix_ssl_support_email`" +msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." msgstr "" -#: ../../../CHANGELOG.md:3499 -msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +#: ../../../CHANGELOG.md:3500 +msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." msgstr "" -#: ../../../CHANGELOG.md:3501 -msgid "(BC Break) mxisd upgrade with multiple base DN support" -msgstr "" - -#: ../../../CHANGELOG.md:3503 -msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +#: ../../../CHANGELOG.md:3502 +msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." msgstr "" #: ../../../CHANGELOG.md:3505 -msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgid "2019-11-10" msgstr "" #: ../../../CHANGELOG.md:3507 -msgid "Example change:" +msgid "Tightened security around room directory publishing" msgstr "" #: ../../../CHANGELOG.md:3509 -msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." msgstr "" -#: ../../../CHANGELOG.md:3510 -msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +#: ../../../CHANGELOG.md:3511 +msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." msgstr "" #: ../../../CHANGELOG.md:3513 -msgid "2018-12-21" +msgid "As with anything else, these new defaults can be overridden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." msgstr "" -#: ../../../CHANGELOG.md:3515 -msgid "Synapse 0.34.0 and Python 3" +#: ../../../CHANGELOG.md:3516 +msgid "2019-10-05" msgstr "" -#: ../../../CHANGELOG.md:3517 -msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +#: ../../../CHANGELOG.md:3518 +msgid "Improved Postgres upgrading/importing" msgstr "" #: ../../../CHANGELOG.md:3520 -msgid "2018-12-12" +msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." msgstr "" #: ../../../CHANGELOG.md:3522 -msgid "Riot homepage customization" +msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." msgstr "" #: ../../../CHANGELOG.md:3524 -msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." +msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." msgstr "" -#: ../../../CHANGELOG.md:3527 -msgid "2018-12-04" +#: ../../../CHANGELOG.md:3526 +msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." msgstr "" #: ../../../CHANGELOG.md:3529 -msgid "mxisd extensibility" +msgid "2019-10-04" msgstr "" #: ../../../CHANGELOG.md:3531 -msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgid "Postgres 12 support" msgstr "" -#: ../../../CHANGELOG.md:3534 -msgid "2018-11-28" +#: ../../../CHANGELOG.md:3533 +msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." msgstr "" -#: ../../../CHANGELOG.md:3536 -msgid "More scripts" +#: ../../../CHANGELOG.md:3535 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" #: ../../../CHANGELOG.md:3538 -msgid "matrix-remove-all allows to uninstall everything with a single command" +msgid "2019-10-03" msgstr "" -#: ../../../CHANGELOG.md:3539 -msgid "matrix-make-user-admin allows to upgrade a user's privileges" +#: ../../../CHANGELOG.md:3540 +msgid "Synapse 1.4.0" msgstr "" -#: ../../../CHANGELOG.md:3541 -msgid "LDAP auth support via matrix-synapse-ldap3" +#: ../../../CHANGELOG.md:3542 +msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." msgstr "" -#: ../../../CHANGELOG.md:3543 -msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +#: ../../../CHANGELOG.md:3544 +msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." msgstr "" -#: ../../../CHANGELOG.md:3545 -msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +#: ../../../CHANGELOG.md:3546 +msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." msgstr "" #: ../../../CHANGELOG.md:3548 -msgid "2018-11-23" +msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." msgstr "" -#: ../../../CHANGELOG.md:3550 -msgid "Support for controlling public registration and room auto-join" +#: ../../../CHANGELOG.md:3551 +msgid "2019-09-09" msgstr "" -#: ../../../CHANGELOG.md:3552 -msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +#: ../../../CHANGELOG.md:3553 +msgid "Synapse Simple Antispam support" msgstr "" -#: ../../../CHANGELOG.md:3554 -msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +#: ../../../CHANGELOG.md:3555 +msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." msgstr "" -#: ../../../CHANGELOG.md:3556 -msgid "Support for changing the welcome user ID (welcome bot)" +#: ../../../CHANGELOG.md:3557 +msgid "From now on, you can easily install and configure this spam checker module through the playbook." msgstr "" -#: ../../../CHANGELOG.md:3558 -msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +#: ../../../CHANGELOG.md:3559 +msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." msgstr "" -#: ../../../CHANGELOG.md:3561 -msgid "2018-11-14" +#: ../../../CHANGELOG.md:3562 +msgid "2019-08-25" msgstr "" -#: ../../../CHANGELOG.md:3563 -msgid "Ability to set Synapse log levels" +#: ../../../CHANGELOG.md:3564 +msgid "Extensible Riot-web configuration" msgstr "" -#: ../../../CHANGELOG.md:3565 -msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +#: ../../../CHANGELOG.md:3566 +msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." msgstr "" -#: ../../../CHANGELOG.md:3567 -msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +#: ../../../CHANGELOG.md:3568 +msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." msgstr "" -#: ../../../CHANGELOG.md:3576 -msgid "2018-11-03" +#: ../../../CHANGELOG.md:3570 +msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." msgstr "" -#: ../../../CHANGELOG.md:3578 -msgid "Customize parts of Riot's config" +#: ../../../CHANGELOG.md:3572 +msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." msgstr "" -#: ../../../CHANGELOG.md:3580 -msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:3575 +msgid "2019-08-22" msgstr "" -#: ../../../CHANGELOG.md:3591 -msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" +#: ../../../CHANGELOG.md:3577 +msgid "Extensible Synapse configuration" +msgstr "" + +#: ../../../CHANGELOG.md:3579 +msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:3581 +msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." +msgstr "" + +#: ../../../CHANGELOG.md:3583 +msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." +msgstr "" + +#: ../../../CHANGELOG.md:3585 +msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3588 +msgid "2019-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:3592 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." +msgstr "" + +#: ../../../CHANGELOG.md:3594 +msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3596 +msgid "Google Hangouts bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3598 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." msgstr "" #: ../../../CHANGELOG.md:3600 -msgid "SSL protocols used to serve Riot and Synapse" +msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." msgstr "" -#: ../../../CHANGELOG.md:3602 -msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +#: ../../../CHANGELOG.md:3603 +msgid "2019-08-05" msgstr "" -#: ../../../CHANGELOG.md:3604 -msgid "You may wish to reenable TLSv1 if you need to access Riot in older browsers." +#: ../../../CHANGELOG.md:3605 +msgid "Email2Matrix support" msgstr "" -#: ../../../CHANGELOG.md:3606 -msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +#: ../../../CHANGELOG.md:3607 +msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." msgstr "" #: ../../../CHANGELOG.md:3609 -msgid "2018-11-01" +msgid "It's an optional feature that you can enable via the playbook." msgstr "" #: ../../../CHANGELOG.md:3611 -msgid "Postgres 11 support" +msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." msgstr "" -#: ../../../CHANGELOG.md:3613 -msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +#: ../../../CHANGELOG.md:3614 +msgid "2019-08-03" msgstr "" -#: ../../../CHANGELOG.md:3615 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:3616 +msgid "Synapse logging level has been reduced to WARNING" msgstr "" -#: ../../../CHANGELOG.md:3617 ../../../CHANGELOG.md:3704 -#: ../../../CHANGELOG.md:3824 -msgid "(BC Break) Renaming playbook variables" +#: ../../../CHANGELOG.md:3618 +msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." msgstr "" -#: ../../../CHANGELOG.md:3619 -msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +#: ../../../CHANGELOG.md:3620 +msgid "This greatly reduces the number of log messages that are being logged, leading to:" +msgstr "" + +#: ../../../CHANGELOG.md:3622 +msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" msgstr "" #: ../../../CHANGELOG.md:3623 -msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3624 -msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" msgstr "" #: ../../../CHANGELOG.md:3625 -msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3626 -msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3627 -msgid "from `matrix_docker_image_coturn` to `matrix_coturn_docker_image`" +msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." msgstr "" #: ../../../CHANGELOG.md:3628 -msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3629 -msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgid "2019-07-08" msgstr "" #: ../../../CHANGELOG.md:3630 -msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:3631 -msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgid "Synapse Maintenance docs and synapse-janitor support are available" msgstr "" #: ../../../CHANGELOG.md:3632 -msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" -msgstr "" - -#: ../../../CHANGELOG.md:3633 -msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgid "The playbook can now help you with Synapse's maintenance." msgstr "" #: ../../../CHANGELOG.md:3634 -msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3637 -msgid "2018-10-26" +#: ../../../CHANGELOG.md:3636 +msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." msgstr "" -#: ../../../CHANGELOG.md:3639 -msgid "Mautrix Whatsapp bridging support" +#: ../../../CHANGELOG.md:3638 +msgid "(BC Break) Rename run control variables" msgstr "" -#: ../../../CHANGELOG.md:3641 -msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:3640 +msgid "Some internal playbook control variables have been renamed." msgstr "" -#: ../../../CHANGELOG.md:3643 -msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +#: ../../../CHANGELOG.md:3642 +msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:3644 +msgid "The following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3646 -msgid "2018-10-25" +msgid "from `run_import_postgres` to `run_postgres_import`" +msgstr "" + +#: ../../../CHANGELOG.md:3647 +msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" msgstr "" #: ../../../CHANGELOG.md:3648 -msgid "Support for controlling Matrix federation" +msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgstr "" + +#: ../../../CHANGELOG.md:3649 +msgid "from `run_import_media_store` to `run_synapse_import_media_store`" msgstr "" #: ../../../CHANGELOG.md:3650 -msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgid "from `run_register_user` to `run_synapse_register_user`" msgstr "" -#: ../../../CHANGELOG.md:3653 -msgid "2018-10-24" +#: ../../../CHANGELOG.md:3651 +msgid "from `run_update_user_password` to `run_synapse_update_user_password`" msgstr "" -#: ../../../CHANGELOG.md:3655 -msgid "Disabling riot-web guests" +#: ../../../CHANGELOG.md:3654 +msgid "2019-07-04" msgstr "" -#: ../../../CHANGELOG.md:3657 -msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +#: ../../../CHANGELOG.md:3656 +msgid "Synapse no longer logs to text files" +msgstr "" + +#: ../../../CHANGELOG.md:3658 +msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." msgstr "" #: ../../../CHANGELOG.md:3660 -msgid "2018-10-21" +msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" msgstr "" #: ../../../CHANGELOG.md:3662 -msgid "Self-check maintenance command" +msgid "Because of this, the following variables have become obsolete and were removed:" msgstr "" #: ../../../CHANGELOG.md:3664 -msgid "The playbook can now [check if services are configured correctly](docs/maintenance-checking-services.md)." +msgid "`matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:3665 +msgid "`matrix_synapse_max_log_files_count`" msgstr "" #: ../../../CHANGELOG.md:3667 -msgid "2018-10-05" +msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." msgstr "" #: ../../../CHANGELOG.md:3669 -msgid "Presence tracking made configurable" +msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." msgstr "" -#: ../../../CHANGELOG.md:3671 -msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +#: ../../../CHANGELOG.md:3672 +msgid "2019-06-27" msgstr "" -#: ../../../CHANGELOG.md:3673 -msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +#: ../../../CHANGELOG.md:3674 +msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3676 -msgid "2018-09-27" +msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." msgstr "" #: ../../../CHANGELOG.md:3678 -msgid "Synapse Cache Factor made configurable" +msgid "From now on, the playbook will keep both configuration files sync for you." msgstr "" #: ../../../CHANGELOG.md:3680 -msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3682 -msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." msgstr "" -#: ../../../CHANGELOG.md:3685 -msgid "2018-09-26" +#: ../../../CHANGELOG.md:3684 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3687 -msgid "Disabling Docker container logging" +#: ../../../CHANGELOG.md:3686 +msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." msgstr "" -#: ../../../CHANGELOG.md:3689 -msgid "`--log-driver=none` is used for all Docker containers now." +#: ../../../CHANGELOG.md:3688 +msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." msgstr "" #: ../../../CHANGELOG.md:3691 -msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgid "2019-06-24" msgstr "" #: ../../../CHANGELOG.md:3693 -msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3696 -msgid "2018-09-17" +#: ../../../CHANGELOG.md:3695 +msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." msgstr "" -#: ../../../CHANGELOG.md:3698 -msgid "Service discovery support" +#: ../../../CHANGELOG.md:3697 ../../../CHANGELOG.md:3714 +#: ../../../CHANGELOG.md:3733 ../../../CHANGELOG.md:3772 +msgid "From now on, the playbook will keep the configuration in sync for you." msgstr "" -#: ../../../CHANGELOG.md:3700 -msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +#: ../../../CHANGELOG.md:3699 +msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3702 -msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +#: ../../../CHANGELOG.md:3701 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgstr "" + +#: ../../../CHANGELOG.md:3703 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgstr "" + +#: ../../../CHANGELOG.md:3705 +msgid "We're now following the default configuration for the WhatsApp bridge." msgstr "" #: ../../../CHANGELOG.md:3708 -msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgid "2019-06-20" msgstr "" -#: ../../../CHANGELOG.md:3709 -msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +#: ../../../CHANGELOG.md:3710 +msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3712 -msgid "2018-09-07" -msgstr "" - -#: ../../../CHANGELOG.md:3714 -msgid "Mautrix Telegram bridging support" +msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3716 -msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3718 -msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." msgstr "" #: ../../../CHANGELOG.md:3720 -msgid "Events cache size increase and configurability for Matrix Synapse" +msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." msgstr "" #: ../../../CHANGELOG.md:3722 -msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." msgstr "" #: ../../../CHANGELOG.md:3724 -msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3726 -msgid "Password-peppering support for Matrix Synapse" +#: ../../../CHANGELOG.md:3727 +msgid "2019-06-15" msgstr "" -#: ../../../CHANGELOG.md:3728 -msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." +#: ../../../CHANGELOG.md:3729 +msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3730 -msgid "Statistics-reporting support for Matrix Synapse" +#: ../../../CHANGELOG.md:3731 +msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." msgstr "" -#: ../../../CHANGELOG.md:3732 -msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." -msgstr "" - -#: ../../../CHANGELOG.md:3734 -msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +#: ../../../CHANGELOG.md:3735 +msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3737 -msgid "2018-08-29" +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" #: ../../../CHANGELOG.md:3739 -msgid "Changing the way SSL certificates are retrieved" +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:3741 -msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" msgstr "" #: ../../../CHANGELOG.md:3743 -msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" +msgstr "" + +#: ../../../CHANGELOG.md:3744 +msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." msgstr "" #: ../../../CHANGELOG.md:3745 -msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" msgstr "" -#: ../../../CHANGELOG.md:3747 -msgid "`systemctl stop 'matrix*'`" +#: ../../../CHANGELOG.md:3746 +msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" msgstr "" #: ../../../CHANGELOG.md:3748 -msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" -msgstr "" - -#: ../../../CHANGELOG.md:3749 -msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" -msgstr "" - -#: ../../../CHANGELOG.md:3750 -msgid "re-run the playbook's [installation](docs/installing.md)" +msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." msgstr "" #: ../../../CHANGELOG.md:3751 -msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgid "2019-06-12" msgstr "" -#: ../../../CHANGELOG.md:3754 -msgid "2018-08-21" +#: ../../../CHANGELOG.md:3753 +msgid "Synapse v1.0" msgstr "" -#: ../../../CHANGELOG.md:3756 -msgid "Matrix Corporal support" +#: ../../../CHANGELOG.md:3755 +msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." msgstr "" -#: ../../../CHANGELOG.md:3758 -msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +#: ../../../CHANGELOG.md:3757 +msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." msgstr "" -#: ../../../CHANGELOG.md:3760 -msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:3759 +msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." +msgstr "" + +#: ../../../CHANGELOG.md:3761 +msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." msgstr "" #: ../../../CHANGELOG.md:3763 -msgid "2018-08-20" +msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." msgstr "" -#: ../../../CHANGELOG.md:3765 -msgid "Matrix Synapse rate limit control variables" +#: ../../../CHANGELOG.md:3766 +msgid "2019-06-07" msgstr "" -#: ../../../CHANGELOG.md:3767 -msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +#: ../../../CHANGELOG.md:3768 +msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:3770 +msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3774 -msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3776 -msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" #: ../../../CHANGELOG.md:3778 -msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:3781 -msgid "2018-08-17" +msgid "2019-05-25" msgstr "" #: ../../../CHANGELOG.md:3783 -msgid "REST auth support via matrix-synapse-rest-auth" +msgid "Support for exposing container ports publicly (not just to the host)" msgstr "" #: ../../../CHANGELOG.md:3785 -msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." msgstr "" #: ../../../CHANGELOG.md:3787 -msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." msgstr "" #: ../../../CHANGELOG.md:3789 -msgid "Compression improvements" +msgid "All such variables have been superseded by a better (more flexible) way to do it." msgstr "" #: ../../../CHANGELOG.md:3791 -msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." msgstr "" -#: ../../../CHANGELOG.md:3794 -msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." +#: ../../../CHANGELOG.md:3793 +msgid "Porting examples follow for people having more customized setups:" +msgstr "" + +#: ../../../CHANGELOG.md:3795 +msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" msgstr "" #: ../../../CHANGELOG.md:3797 -msgid "Disabling some unnecessary Synapse services" +msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" msgstr "" #: ../../../CHANGELOG.md:3799 -msgid "The following services are not necessary, so they have been disabled:" -msgstr "" - -#: ../../../CHANGELOG.md:3800 -msgid "on the federation port (8448): the `client` service" +msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" msgstr "" #: ../../../CHANGELOG.md:3801 -msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" msgstr "" #: ../../../CHANGELOG.md:3803 -msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" msgstr "" -#: ../../../CHANGELOG.md:3806 -msgid "2018-08-15" +#: ../../../CHANGELOG.md:3805 +msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" msgstr "" -#: ../../../CHANGELOG.md:3808 -msgid "mxisd Identity Server support" +#: ../../../CHANGELOG.md:3807 +msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" msgstr "" -#: ../../../CHANGELOG.md:3810 -msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +#: ../../../CHANGELOG.md:3809 +msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +msgstr "" + +#: ../../../CHANGELOG.md:3811 +msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" msgstr "" #: ../../../CHANGELOG.md:3813 -msgid "2018-08-14" +msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." msgstr "" -#: ../../../CHANGELOG.md:3815 -msgid "Email-sending support" +#: ../../../CHANGELOG.md:3816 +msgid "2019-05-23" msgstr "" -#: ../../../CHANGELOG.md:3817 -msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +#: ../../../CHANGELOG.md:3818 +msgid "(BC Break) Ansible 2.8 compatibility" msgstr "" -#: ../../../CHANGELOG.md:3819 -msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +#: ../../../CHANGELOG.md:3820 +msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." msgstr "" #: ../../../CHANGELOG.md:3822 -msgid "2018-08-08" +msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." msgstr "" -#: ../../../CHANGELOG.md:3828 -msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +#: ../../../CHANGELOG.md:3824 +msgid "To avoid doing it manually, run this:" +msgstr "" + +#: ../../../CHANGELOG.md:3825 +msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgstr "" + +#: ../../../CHANGELOG.md:3826 +msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" #: ../../../CHANGELOG.md:3829 -msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" -msgstr "" - -#: ../../../CHANGELOG.md:3830 -msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgid "2019-05-21" msgstr "" #: ../../../CHANGELOG.md:3831 -msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:3832 -msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgid "Synapse no longer required" msgstr "" #: ../../../CHANGELOG.md:3833 -msgid "from `docker_riot_image` to `matrix_docker_image_riot`" -msgstr "" - -#: ../../../CHANGELOG.md:3834 -msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." msgstr "" #: ../../../CHANGELOG.md:3835 -msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." msgstr "" #: ../../../CHANGELOG.md:3837 -msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." msgstr "" #: ../../../CHANGELOG.md:3839 -msgid "Renaming Ansible playbook tag" +msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." msgstr "" #: ../../../CHANGELOG.md:3841 -msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgid "Bridges are now separate from the Synapse role" msgstr "" #: ../../../CHANGELOG.md:3843 -msgid "Docker container linking" +msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." msgstr "" #: ../../../CHANGELOG.md:3845 +msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." +msgstr "" + +#: ../../../CHANGELOG.md:3847 +msgid "Renaming inconsistently-named Synapse variables" +msgstr "" + +#: ../../../CHANGELOG.md:3849 +msgid "For better consistency, the following variables have been renamed:" +msgstr "" + +#: ../../../CHANGELOG.md:3851 +msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +msgstr "" + +#: ../../../CHANGELOG.md:3852 +msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgstr "" + +#: ../../../CHANGELOG.md:3853 +msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +msgstr "" + +#: ../../../CHANGELOG.md:3856 +msgid "2019-05-09" +msgstr "" + +#: ../../../CHANGELOG.md:3858 +msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +msgstr "" + +#: ../../../CHANGELOG.md:3860 +msgid "Mautrix Facebook/Messenger bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3862 +msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:3864 +msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3866 +msgid "mxisd Registration feature integration" +msgstr "" + +#: ../../../CHANGELOG.md:3868 +msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +msgstr "" + +#: ../../../CHANGELOG.md:3870 +msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +msgstr "" + +#: ../../../CHANGELOG.md:3873 +msgid "2019-04-16" +msgstr "" + +#: ../../../CHANGELOG.md:3875 +msgid "Caddy webserver examples" +msgstr "" + +#: ../../../CHANGELOG.md:3877 +msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +msgstr "" + +#: ../../../CHANGELOG.md:3879 +msgid "2019-04-10" +msgstr "" + +#: ../../../CHANGELOG.md:3881 +msgid "Goofys support for other S3-compatible object stores" +msgstr "" + +#: ../../../CHANGELOG.md:3883 +msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +msgstr "" + +#: ../../../CHANGELOG.md:3886 +msgid "2019-04-03" +msgstr "" + +#: ../../../CHANGELOG.md:3888 +msgid "Ansible >= 2.5 is required" +msgstr "" + +#: ../../../CHANGELOG.md:3890 +msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +msgstr "" + +#: ../../../CHANGELOG.md:3892 +msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +msgstr "" + +#: ../../../CHANGELOG.md:3895 +msgid "2019-03-19" +msgstr "" + +#: ../../../CHANGELOG.md:3897 +msgid "TLS support for coturn" +msgstr "" + +#: ../../../CHANGELOG.md:3899 +msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +msgstr "" + +#: ../../../CHANGELOG.md:3901 +msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +msgstr "" + +#: ../../../CHANGELOG.md:3907 +msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +msgstr "" + +#: ../../../CHANGELOG.md:3909 +msgid "People who build their own custom playbook from our roles should be aware that:" +msgstr "" + +#: ../../../CHANGELOG.md:3911 +msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgstr "" + +#: ../../../CHANGELOG.md:3913 +msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +msgstr "" + +#: ../../../CHANGELOG.md:3916 +msgid "2019-03-12" +msgstr "" + +#: ../../../CHANGELOG.md:3918 +msgid "matrix-nginx-proxy support for serving the base domain" +msgstr "" + +#: ../../../CHANGELOG.md:3920 +msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." +msgstr "" + +#: ../../../CHANGELOG.md:3922 +msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3924 +msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgstr "" + +#: ../../../CHANGELOG.md:3926 +msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +msgstr "" + +#: ../../../CHANGELOG.md:3928 +msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +msgstr "" + +#: ../../../CHANGELOG.md:3931 +msgid "2019-03-10" +msgstr "" + +#: ../../../CHANGELOG.md:3933 +msgid "Dimension integration manager support" +msgstr "" + +#: ../../../CHANGELOG.md:3935 +msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3938 +msgid "2019-03-07" +msgstr "" + +#: ../../../CHANGELOG.md:3940 +msgid "Ability to customize mxisd's email templates" +msgstr "" + +#: ../../../CHANGELOG.md:3942 +msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3945 +msgid "2019-03-05" +msgstr "" + +#: ../../../CHANGELOG.md:3947 +msgid "Discord bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:3949 +msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:3952 +msgid "2019-02-19" +msgstr "" + +#: ../../../CHANGELOG.md:3954 +msgid "Renaming variables" +msgstr "" + +#: ../../../CHANGELOG.md:3956 ../../../CHANGELOG.md:4273 +#: ../../../CHANGELOG.md:4358 ../../../CHANGELOG.md:4478 +msgid "The following playbook variables were renamed:" +msgstr "" + +#: ../../../CHANGELOG.md:3958 +msgid "from `host_specific_hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3959 +msgid "from `hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3960 +msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgstr "" + +#: ../../../CHANGELOG.md:3961 +msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:3962 +msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:3964 +msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +msgstr "" + +#: ../../../CHANGELOG.md:3967 +msgid "2019-02-16" +msgstr "" + +#: ../../../CHANGELOG.md:3969 +msgid "Riot v1.0.1 support" +msgstr "" + +#: ../../../CHANGELOG.md:3971 +msgid "You can now use the brand new and redesigned Riot." +msgstr "" + +#: ../../../CHANGELOG.md:3973 +msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +msgstr "" + +#: ../../../CHANGELOG.md:3975 +msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +msgstr "" + +#: ../../../CHANGELOG.md:3978 +msgid "2019-02-14" +msgstr "" + +#: ../../../CHANGELOG.md:3980 +msgid "Synapse v0.99.1" +msgstr "" + +#: ../../../CHANGELOG.md:3982 +msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +msgstr "" + +#: ../../../CHANGELOG.md:3984 +msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." +msgstr "" + +#: ../../../CHANGELOG.md:3987 +msgid "2019-02-06" +msgstr "" + +#: ../../../CHANGELOG.md:3989 +msgid "Synapse v0.99 support and preparation for Synapse v1.0" +msgstr "" + +#: ../../../CHANGELOG.md:3991 +msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +msgstr "" + +#: ../../../CHANGELOG.md:3993 +msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgstr "" + +#: ../../../CHANGELOG.md:3995 +msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +msgstr "" + +#: ../../../CHANGELOG.md:3997 +msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +msgstr "" + +#: ../../../CHANGELOG.md:3999 +msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +msgstr "" + +#: ../../../CHANGELOG.md:4001 +msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +msgstr "" + +#: ../../../CHANGELOG.md:4004 +msgid "2019-02-01" +msgstr "" + +#: ../../../CHANGELOG.md:4006 +msgid "TLS v1.3 support" +msgstr "" + +#: ../../../CHANGELOG.md:4008 +msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +msgstr "" + +#: ../../../CHANGELOG.md:4010 +msgid "When using:" +msgstr "" + +#: ../../../CHANGELOG.md:4012 +msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +msgstr "" + +#: ../../../CHANGELOG.md:4014 +msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4016 +msgid "**another web server**: you don't need to do anything to accommodate this change" +msgstr "" + +#: ../../../CHANGELOG.md:4019 +msgid "2019-01-31" +msgstr "" + +#: ../../../CHANGELOG.md:4021 +msgid "IRC bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4023 +msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:4026 +msgid "2019-01-29" +msgstr "" + +#: ../../../CHANGELOG.md:4028 +msgid "Running container processes as non-root, without capabilities and read-only" +msgstr "" + +#: ../../../CHANGELOG.md:4030 +msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." +msgstr "" + +#: ../../../CHANGELOG.md:4032 +msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." +msgstr "" + +#: ../../../CHANGELOG.md:4034 +msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." +msgstr "" + +#: ../../../CHANGELOG.md:4036 +msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +msgstr "" + +#: ../../../CHANGELOG.md:4038 +msgid "matrix-mailer is now based on Exim, not Postfix" +msgstr "" + +#: ../../../CHANGELOG.md:4040 +msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +msgstr "" + +#: ../../../CHANGELOG.md:4042 +msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +msgstr "" + +#: ../../../CHANGELOG.md:4044 +msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +msgstr "" + +#: ../../../CHANGELOG.md:4047 +msgid "2019-01-17" +msgstr "" + +#: ../../../CHANGELOG.md:4049 +msgid "(BC Break) Making the playbook's roles more independent of one another" +msgstr "" + +#: ../../../CHANGELOG.md:4051 +msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." +msgstr "" + +#: ../../../CHANGELOG.md:4054 +msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." +msgstr "" + +#: ../../../CHANGELOG.md:4056 +msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." +msgstr "" + +#: ../../../CHANGELOG.md:4058 +msgid "In addition, the following components can now be completely disabled (for those who want/need to):" +msgstr "" + +#: ../../../CHANGELOG.md:4059 +msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4060 +msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4061 +msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4063 +msgid "The following changes had to be done:" +msgstr "" + +#: ../../../CHANGELOG.md:4065 +msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgstr "" + +#: ../../../CHANGELOG.md:4067 +msgid "`matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." +msgstr "" + +#: ../../../CHANGELOG.md:4069 +msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +msgstr "" + +#: ../../../CHANGELOG.md:4071 +msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +msgstr "" + +#: ../../../CHANGELOG.md:4074 +msgid "2019-01-16" +msgstr "" + +#: ../../../CHANGELOG.md:4076 +msgid "Splitting the playbook into multiple roles" +msgstr "" + +#: ../../../CHANGELOG.md:4078 +msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." +msgstr "" + +#: ../../../CHANGELOG.md:4081 +msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +msgstr "" + +#: ../../../CHANGELOG.md:4083 +msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +msgstr "" + +#: ../../../CHANGELOG.md:4086 +msgid "2019-01-11" +msgstr "" + +#: ../../../CHANGELOG.md:4088 +msgid "(BC Break) mxisd configuration changes" +msgstr "" + +#: ../../../CHANGELOG.md:4090 +msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." +msgstr "" + +#: ../../../CHANGELOG.md:4093 +msgid "The following variables are no longer supported by this playbook:" +msgstr "" + +#: ../../../CHANGELOG.md:4095 +msgid "`matrix_mxisd_ldap_enabled`" +msgstr "" + +#: ../../../CHANGELOG.md:4096 +msgid "`matrix_mxisd_ldap_connection_host`" +msgstr "" + +#: ../../../CHANGELOG.md:4097 +msgid "`matrix_mxisd_ldap_connection_tls`" +msgstr "" + +#: ../../../CHANGELOG.md:4098 +msgid "`matrix_mxisd_ldap_connection_port`" +msgstr "" + +#: ../../../CHANGELOG.md:4099 +msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4100 +msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgstr "" + +#: ../../../CHANGELOG.md:4101 ../../../CHANGELOG.md:4102 +msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4103 ../../../CHANGELOG.md:4107 +msgid "`matrix_mxisd_ldap_connection_bindPassword`" +msgstr "" + +#: ../../../CHANGELOG.md:4104 +msgid "`matrix_mxisd_ldap_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4105 +msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgstr "" + +#: ../../../CHANGELOG.md:4106 +msgid "`matrix_mxisd_ldap_attribute_uid_value`" +msgstr "" + +#: ../../../CHANGELOG.md:4108 +msgid "`matrix_mxisd_ldap_attribute_name`" +msgstr "" + +#: ../../../CHANGELOG.md:4109 +msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4110 +msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgstr "" + +#: ../../../CHANGELOG.md:4111 +msgid "`matrix_mxisd_ldap_identity_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4112 +msgid "`matrix_mxisd_ldap_identity_medium`" +msgstr "" + +#: ../../../CHANGELOG.md:4113 +msgid "`matrix_mxisd_ldap_auth_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4114 +msgid "`matrix_mxisd_ldap_directory_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4115 +msgid "`matrix_mxisd_template_config`" +msgstr "" + +#: ../../../CHANGELOG.md:4117 +msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgstr "" + +#: ../../../CHANGELOG.md:4119 +msgid "This new way of configuring mxisd is beneficial because:" +msgstr "" + +#: ../../../CHANGELOG.md:4121 +msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +msgstr "" + +#: ../../../CHANGELOG.md:4122 +msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +msgstr "" + +#: ../../../CHANGELOG.md:4125 +msgid "2019-01-08" +msgstr "" + +#: ../../../CHANGELOG.md:4127 +msgid "(BC Break) Cronjob schedule no longer configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4129 +msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." +msgstr "" + +#: ../../../CHANGELOG.md:4131 +msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." +msgstr "" + +#: ../../../CHANGELOG.md:4134 +msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +msgstr "" + +#: ../../../CHANGELOG.md:4137 +msgid "2018-12-23" +msgstr "" + +#: ../../../CHANGELOG.md:4139 +msgid "(BC Break) More SSL certificate retrieval methods" +msgstr "" + +#: ../../../CHANGELOG.md:4141 +msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" +msgstr "" + +#: ../../../CHANGELOG.md:4142 +msgid "(default) obtaining free SSL certificates from Let's Encrypt" +msgstr "" + +#: ../../../CHANGELOG.md:4143 +msgid "generating self-signed SSL certificates" +msgstr "" + +#: ../../../CHANGELOG.md:4144 +msgid "managing SSL certificates manually" +msgstr "" + +#: ../../../CHANGELOG.md:4146 +msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4148 +msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:4150 +msgid "before: `host_specific_matrix_ssl_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4151 +msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4153 +msgid "(BC Break) mxisd upgrade with multiple base DN support" +msgstr "" + +#: ../../../CHANGELOG.md:4155 +msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +msgstr "" + +#: ../../../CHANGELOG.md:4157 +msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgstr "" + +#: ../../../CHANGELOG.md:4159 +msgid "Example change:" +msgstr "" + +#: ../../../CHANGELOG.md:4161 +msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgstr "" + +#: ../../../CHANGELOG.md:4162 +msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +msgstr "" + +#: ../../../CHANGELOG.md:4165 +msgid "2018-12-21" +msgstr "" + +#: ../../../CHANGELOG.md:4167 +msgid "Synapse 0.34.0 and Python 3" +msgstr "" + +#: ../../../CHANGELOG.md:4169 +msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +msgstr "" + +#: ../../../CHANGELOG.md:4172 +msgid "2018-12-12" +msgstr "" + +#: ../../../CHANGELOG.md:4174 +msgid "Riot homepage customization" +msgstr "" + +#: ../../../CHANGELOG.md:4176 +msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." +msgstr "" + +#: ../../../CHANGELOG.md:4179 +msgid "2018-12-04" +msgstr "" + +#: ../../../CHANGELOG.md:4181 +msgid "mxisd extensibility" +msgstr "" + +#: ../../../CHANGELOG.md:4183 +msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgstr "" + +#: ../../../CHANGELOG.md:4186 +msgid "2018-11-28" +msgstr "" + +#: ../../../CHANGELOG.md:4188 +msgid "More scripts" +msgstr "" + +#: ../../../CHANGELOG.md:4190 +msgid "matrix-remove-all allows to uninstall everything with a single command" +msgstr "" + +#: ../../../CHANGELOG.md:4191 +msgid "matrix-make-user-admin allows to upgrade a user's privileges" +msgstr "" + +#: ../../../CHANGELOG.md:4193 +msgid "LDAP auth support via matrix-synapse-ldap3" +msgstr "" + +#: ../../../CHANGELOG.md:4195 +msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4197 +msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4200 +msgid "2018-11-23" +msgstr "" + +#: ../../../CHANGELOG.md:4202 +msgid "Support for controlling public registration and room auto-join" +msgstr "" + +#: ../../../CHANGELOG.md:4204 +msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +msgstr "" + +#: ../../../CHANGELOG.md:4206 +msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +msgstr "" + +#: ../../../CHANGELOG.md:4208 +msgid "Support for changing the welcome user ID (welcome bot)" +msgstr "" + +#: ../../../CHANGELOG.md:4210 +msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +msgstr "" + +#: ../../../CHANGELOG.md:4213 +msgid "2018-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:4215 +msgid "Ability to set Synapse log levels" +msgstr "" + +#: ../../../CHANGELOG.md:4217 +msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +msgstr "" + +#: ../../../CHANGELOG.md:4219 +msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +msgstr "" + +#: ../../../CHANGELOG.md:4228 +msgid "2018-11-03" +msgstr "" + +#: ../../../CHANGELOG.md:4230 +msgid "Customize parts of Riot's config" +msgstr "" + +#: ../../../CHANGELOG.md:4232 +msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +msgstr "" + +#: ../../../CHANGELOG.md:4243 +msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" +msgstr "" + +#: ../../../CHANGELOG.md:4252 +msgid "SSL protocols used to serve Riot and Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4254 +msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:4256 +msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." +msgstr "" + +#: ../../../CHANGELOG.md:4258 +msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +msgstr "" + +#: ../../../CHANGELOG.md:4261 +msgid "2018-11-01" +msgstr "" + +#: ../../../CHANGELOG.md:4263 +msgid "Postgres 11 support" +msgstr "" + +#: ../../../CHANGELOG.md:4265 +msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +msgstr "" + +#: ../../../CHANGELOG.md:4267 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgstr "" + +#: ../../../CHANGELOG.md:4269 ../../../CHANGELOG.md:4356 +#: ../../../CHANGELOG.md:4476 +msgid "(BC Break) Renaming playbook variables" +msgstr "" + +#: ../../../CHANGELOG.md:4271 +msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +msgstr "" + +#: ../../../CHANGELOG.md:4275 +msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4276 +msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4277 +msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4278 +msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4279 +msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4280 +msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4281 +msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4282 +msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4283 +msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4284 +msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" +msgstr "" + +#: ../../../CHANGELOG.md:4285 +msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgstr "" + +#: ../../../CHANGELOG.md:4286 +msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgstr "" + +#: ../../../CHANGELOG.md:4289 +msgid "2018-10-26" +msgstr "" + +#: ../../../CHANGELOG.md:4291 +msgid "Mautrix Whatsapp bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4293 +msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4295 +msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4298 +msgid "2018-10-25" +msgstr "" + +#: ../../../CHANGELOG.md:4300 +msgid "Support for controlling Matrix federation" +msgstr "" + +#: ../../../CHANGELOG.md:4302 +msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgstr "" + +#: ../../../CHANGELOG.md:4305 +msgid "2018-10-24" +msgstr "" + +#: ../../../CHANGELOG.md:4307 +msgid "Disabling riot-web guests" +msgstr "" + +#: ../../../CHANGELOG.md:4309 +msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +msgstr "" + +#: ../../../CHANGELOG.md:4312 +msgid "2018-10-21" +msgstr "" + +#: ../../../CHANGELOG.md:4314 +msgid "Self-check maintenance command" +msgstr "" + +#: ../../../CHANGELOG.md:4316 +msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)." +msgstr "" + +#: ../../../CHANGELOG.md:4319 +msgid "2018-10-05" +msgstr "" + +#: ../../../CHANGELOG.md:4321 +msgid "Presence tracking made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4323 +msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +msgstr "" + +#: ../../../CHANGELOG.md:4325 +msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +msgstr "" + +#: ../../../CHANGELOG.md:4328 +msgid "2018-09-27" +msgstr "" + +#: ../../../CHANGELOG.md:4330 +msgid "Synapse Cache Factor made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4332 +msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgstr "" + +#: ../../../CHANGELOG.md:4334 +msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgstr "" + +#: ../../../CHANGELOG.md:4337 +msgid "2018-09-26" +msgstr "" + +#: ../../../CHANGELOG.md:4339 +msgid "Disabling Docker container logging" +msgstr "" + +#: ../../../CHANGELOG.md:4341 +msgid "`--log-driver=none` is used for all Docker containers now." +msgstr "" + +#: ../../../CHANGELOG.md:4343 +msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgstr "" + +#: ../../../CHANGELOG.md:4345 +msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgstr "" + +#: ../../../CHANGELOG.md:4348 +msgid "2018-09-17" +msgstr "" + +#: ../../../CHANGELOG.md:4350 +msgid "Service discovery support" +msgstr "" + +#: ../../../CHANGELOG.md:4352 +msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +msgstr "" + +#: ../../../CHANGELOG.md:4354 +msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4360 +msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgstr "" + +#: ../../../CHANGELOG.md:4361 +msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +msgstr "" + +#: ../../../CHANGELOG.md:4364 +msgid "2018-09-07" +msgstr "" + +#: ../../../CHANGELOG.md:4366 +msgid "Mautrix Telegram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4368 +msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4370 +msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4372 +msgid "Events cache size increase and configurability for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4374 +msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgstr "" + +#: ../../../CHANGELOG.md:4376 +msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgstr "" + +#: ../../../CHANGELOG.md:4378 +msgid "Password-peppering support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4380 +msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." +msgstr "" + +#: ../../../CHANGELOG.md:4382 +msgid "Statistics-reporting support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4384 +msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." +msgstr "" + +#: ../../../CHANGELOG.md:4386 +msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +msgstr "" + +#: ../../../CHANGELOG.md:4389 +msgid "2018-08-29" +msgstr "" + +#: ../../../CHANGELOG.md:4391 +msgid "Changing the way SSL certificates are retrieved" +msgstr "" + +#: ../../../CHANGELOG.md:4393 +msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgstr "" + +#: ../../../CHANGELOG.md:4395 +msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgstr "" + +#: ../../../CHANGELOG.md:4397 +msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgstr "" + +#: ../../../CHANGELOG.md:4399 +msgid "`systemctl stop 'matrix*'`" +msgstr "" + +#: ../../../CHANGELOG.md:4400 +msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" +msgstr "" + +#: ../../../CHANGELOG.md:4401 +msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4402 +msgid "re-run the playbook's [installation](docs/installing.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4403 +msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4406 +msgid "2018-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:4408 +msgid "Matrix Corporal support" +msgstr "" + +#: ../../../CHANGELOG.md:4410 +msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4412 +msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4415 +msgid "2018-08-20" +msgstr "" + +#: ../../../CHANGELOG.md:4417 +msgid "Matrix Synapse rate limit control variables" +msgstr "" + +#: ../../../CHANGELOG.md:4419 +msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgstr "" + +#: ../../../CHANGELOG.md:4426 +msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4428 +msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4430 +msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4433 +msgid "2018-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:4435 +msgid "REST auth support via matrix-synapse-rest-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4437 +msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4439 +msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4441 +msgid "Compression improvements" +msgstr "" + +#: ../../../CHANGELOG.md:4443 +msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgstr "" + +#: ../../../CHANGELOG.md:4446 +msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." +msgstr "" + +#: ../../../CHANGELOG.md:4449 +msgid "Disabling some unnecessary Synapse services" +msgstr "" + +#: ../../../CHANGELOG.md:4451 +msgid "The following services are not necessary, so they have been disabled:" +msgstr "" + +#: ../../../CHANGELOG.md:4452 +msgid "on the federation port (8448): the `client` service" +msgstr "" + +#: ../../../CHANGELOG.md:4453 +msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgstr "" + +#: ../../../CHANGELOG.md:4455 +msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgstr "" + +#: ../../../CHANGELOG.md:4458 +msgid "2018-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:4460 +msgid "mxisd Identity Server support" +msgstr "" + +#: ../../../CHANGELOG.md:4462 +msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4465 +msgid "2018-08-14" +msgstr "" + +#: ../../../CHANGELOG.md:4467 +msgid "Email-sending support" +msgstr "" + +#: ../../../CHANGELOG.md:4469 +msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4471 +msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgstr "" + +#: ../../../CHANGELOG.md:4474 +msgid "2018-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:4480 +msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4481 +msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4482 +msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgstr "" + +#: ../../../CHANGELOG.md:4483 +msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgstr "" + +#: ../../../CHANGELOG.md:4484 +msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgstr "" + +#: ../../../CHANGELOG.md:4485 +msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:4486 +msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgstr "" + +#: ../../../CHANGELOG.md:4487 +msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgstr "" + +#: ../../../CHANGELOG.md:4489 +msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgstr "" + +#: ../../../CHANGELOG.md:4491 +msgid "Renaming Ansible playbook tag" +msgstr "" + +#: ../../../CHANGELOG.md:4493 +msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgstr "" + +#: ../../../CHANGELOG.md:4495 +msgid "Docker container linking" +msgstr "" + +#: ../../../CHANGELOG.md:4497 msgid "Changed the way the Docker containers are linked together. The ones that need to communicate with others operate in a `matrix` network now and not in the default bridge network." msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/README.po b/i18n/locales/jp/LC_MESSAGES/README.po index 8faa4b11d..5bfed6e9b 100644 --- a/i18n/locales/jp/LC_MESSAGES/README.po +++ b/i18n/locales/jp/LC_MESSAGES/README.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:59+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,10 +18,10 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" #: ../../../README.md:1 -msgid "[![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)" +msgid "[![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)" msgstr "" #: ../../../README.md:1 @@ -32,6 +32,10 @@ msgstr "" msgid "donate" msgstr "" +#: ../../../README.md:1 +msgid "REUSE status" +msgstr "" + #: ../../../README.md:3 msgid "Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker" msgstr "" @@ -177,15 +181,15 @@ msgid "[Link](docs/configuring-playbook-conduit.md)" msgstr "" #: ../../../README.md -msgid "[conduwuit](https://conduwuit.puppyirl.gay/)" +msgid "[continuwuity](https://continuwuity.org)" msgstr "" #: ../../../README.md -msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit." +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network." msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-conduwuit.md)" +msgid "[Link](docs/configuring-playbook-continuwuity.md)" msgstr "" #: ../../../README.md @@ -244,6 +248,14 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-cinny.md)" msgstr "" +#: ../../../README.md +msgid "[Sable](https://github.com/7w1/sable)" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-client-sable.md)" +msgstr "" + #: ../../../README.md msgid "[SchildiChat Web](https://schildi.chat/)" msgstr "" @@ -256,11 +268,23 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-schildichat-web.md)" msgstr "" -#: ../../../README.md:69 -msgid "Server Components" +#: ../../../README.md +msgid "[FluffyChat Web](https://fluffychat.im/)" +msgstr "" + +#: ../../../README.md +msgid "The cutest messenger in Matrix" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-client-fluffychat-web.md)" msgstr "" #: ../../../README.md:71 +msgid "Server Components" +msgstr "" + +#: ../../../README.md:73 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -276,24 +300,12 @@ msgstr "" msgid "[Link](docs/configuring-playbook-external-postgres.md)" msgstr "" -#: ../../../README.md -msgid "[coturn](https://github.com/coturn/coturn)" -msgstr "" - -#: ../../../README.md -msgid "STUN/TURN server for WebRTC audio/video calls" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-turn.md)" -msgstr "" - #: ../../../README.md msgid "[Traefik](https://doc.traefik.io/traefik/)" msgstr "" #: ../../../README.md -msgid "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)" +msgid "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." msgstr "" #: ../../../README.md @@ -325,15 +337,15 @@ msgid "[Link](docs/configuring-playbook-email.md)" msgstr "" #: ../../../README.md -msgid "[ma1sd](https://github.com/ma1uta/ma1sd)" +msgid "[coturn](https://github.com/coturn/coturn)" msgstr "" #: ../../../README.md -msgid "Matrix Identity Server" +msgid "STUN/TURN server for WebRTC audio/video calls" msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-ma1sd.md)" +msgid "[Link](docs/configuring-playbook-turn.md)" msgstr "" #: ../../../README.md @@ -348,11 +360,23 @@ msgstr "" msgid "[Link](docs/configuring-playbook-dynamic-dns.md)" msgstr "" -#: ../../../README.md:83 -msgid "Authentication" +#: ../../../README.md +msgid "Matrix RTC stack" +msgstr "" + +#: ../../../README.md +msgid "Supporting components ([LiveKit Server](docs/configuring-playbook-livekit-server.md) and [LiveKit JWT Service](docs/configuring-playbook-livekit-jwt-service.md)) for in-app audio/video calls for Matrix clients" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-matrix-rtc.md)" msgstr "" #: ../../../README.md:85 +msgid "Authentication" +msgstr "" + +#: ../../../README.md:87 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" @@ -397,7 +421,7 @@ msgid "[matrix-ldap-registration-proxy](https://gitlab.com/activism.internationa msgstr "" #: ../../../README.md -msgid "A proxy that handles Matrix registration requests and forwards them to LDAP." +msgid "Proxy that handles Matrix registration requests and forwards them to LDAP" msgstr "" #: ../../../README.md @@ -409,7 +433,7 @@ msgid "[matrix-registration](https://github.com/ZerataX/matrix-registration)" msgstr "" #: ../../../README.md -msgid "A simple python application to have a token based Matrix registration" +msgid "Simple python application to have a token based Matrix registration" msgstr "" #: ../../../README.md @@ -417,7 +441,7 @@ msgid "[Link](docs/configuring-playbook-matrix-registration.md)" msgstr "" #: ../../../README.md -msgid "[Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service) (UVS)" +msgid "[Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service)" msgstr "" #: ../../../README.md @@ -433,18 +457,18 @@ msgid "[synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispa msgstr "" #: ../../../README.md -msgid "A spam checker module" +msgid "Spam checker module" msgstr "" #: ../../../README.md msgid "[Link](docs/configuring-playbook-synapse-simple-antispam.md)" msgstr "" -#: ../../../README.md:97 +#: ../../../README.md:99 msgid "File Storage" msgstr "" -#: ../../../README.md:99 +#: ../../../README.md:101 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" @@ -473,18 +497,18 @@ msgid "[matrix-media-repo](https://github.com/turt2live/matrix-media-repo)" msgstr "" #: ../../../README.md -msgid "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." +msgid "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." msgstr "" #: ../../../README.md msgid "[Link](docs/configuring-playbook-matrix-media-repo.md)" msgstr "" -#: ../../../README.md:107 +#: ../../../README.md:109 msgid "Bridges" msgstr "" -#: ../../../README.md:109 +#: ../../../README.md:111 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" @@ -560,6 +584,18 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" +#: ../../../README.md +msgid "[mautrix-bluesky](https://github.com/mautrix/bluesky)" +msgstr "" + +#: ../../../README.md +msgid "Bridge to [Bluesky](https://bsky.social/)" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "" + #: ../../../README.md msgid "[mautrix-twitter](https://github.com/mautrix/twitter)" msgstr "" @@ -656,14 +692,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-appservice-discord.md)" msgstr "" -#: ../../../README.md -msgid "[matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - #: ../../../README.md msgid "[matrix-hookshot](https://github.com/matrix-org/matrix-hookshot)" msgstr "" @@ -688,6 +716,18 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-matrix-bridge-sms.md)" msgstr "" +#: ../../../README.md +msgid "[matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge)" +msgstr "" + +#: ../../../README.md +msgid "Bridge to [Steam](https://steampowered.com/)" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-bridge-steam.md)" +msgstr "" + #: ../../../README.md msgid "[matrix-wechat](https://github.com/duo/matrix-wechat)" msgstr "" @@ -712,62 +752,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-heisenbridge.md)" msgstr "" -#: ../../../README.md -msgid "[go-skype-bridge](https://github.com/kelaresg/go-skype-bridge)" -msgstr "" - -#: ../../../README.md -msgid "Bridge to [Skype](https://www.skype.com)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack)" -msgstr "" - -#: ../../../README.md -msgid "Bridge to [Slack](https://slack.com)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram)" -msgstr "" - -#: ../../../README.md -msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter)" -msgstr "" - -#: ../../../README.md -msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../README.md -msgid "[mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - #: ../../../README.md msgid "[mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme)" msgstr "" @@ -781,7 +765,7 @@ msgid "[Link](docs/configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" #: ../../../README.md -msgid "[mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam)" +msgid "[mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam)" msgstr "" #: ../../../README.md @@ -804,11 +788,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-postmoogle.md)" msgstr "" -#: ../../../README.md:141 +#: ../../../README.md:139 msgid "Bots" msgstr "" -#: ../../../README.md:143 +#: ../../../README.md:141 msgid "Bots provide various additional functionality to your installation." msgstr "" @@ -817,7 +801,7 @@ msgid "[baibot](https://github.com/etkecc/baibot)" msgstr "" #: ../../../README.md -msgid "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" +msgid "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" msgstr "" #: ../../../README.md @@ -853,7 +837,7 @@ msgid "[maubot](https://github.com/maubot/maubot)" msgstr "" #: ../../../README.md -msgid "A plugin-based Matrix bot system" +msgid "Plugin-based Matrix bot system" msgstr "" #: ../../../README.md @@ -865,7 +849,7 @@ msgid "[Honoroit](https://github.com/etkecc/honoroit)" msgstr "" #: ../../../README.md -msgid "A helpdesk bot" +msgid "Helpdesk bot" msgstr "" #: ../../../README.md @@ -877,7 +861,7 @@ msgid "[Mjolnir](https://github.com/matrix-org/mjolnir)" msgstr "" #: ../../../README.md -msgid "A moderation tool for Matrix" +msgid "Moderation tool for Matrix" msgstr "" #: ../../../README.md @@ -889,7 +873,7 @@ msgid "[Draupnir](https://github.com/the-draupnir-project/Draupnir)" msgstr "" #: ../../../README.md -msgid "A moderation tool for Matrix (Fork of Mjolnir)" +msgid "Moderation tool for Matrix (Fork of Mjolnir)" msgstr "" #: ../../../README.md @@ -908,11 +892,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bot-buscarron.md)" msgstr "" -#: ../../../README.md:156 +#: ../../../README.md:154 msgid "Administration" msgstr "" -#: ../../../README.md:158 +#: ../../../README.md:156 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" @@ -941,15 +925,15 @@ msgid "[Link](docs/configuring-playbook-matrix-authentication-service.md)" msgstr "" #: ../../../README.md -msgid "[synapse-admin](https://github.com/etkecc/synapse-admin)" +msgid "[Ketesa](https://github.com/etkecc/ketesa)" msgstr "" #: ../../../README.md -msgid "A web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-synapse-admin.md)" +msgid "[Link](docs/configuring-playbook-ketesa.md)" msgstr "" #: ../../../README.md @@ -961,7 +945,7 @@ msgid "Consists of the [Prometheus](https://prometheus.io) time-series database msgstr "" #: ../../../README.md -msgid "[Link](docs/configuring-playbook-prometheus-grafana.md) (for [prometheus-nginxlog-exporter](docs/configuring-playbook-prometheus-nginxlog.md))" +msgid "[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))" msgstr "" #: ../../../README.md @@ -1000,44 +984,20 @@ msgstr "" msgid "[Link](docs/configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../README.md:170 +#: ../../../README.md:168 msgid "Misc" msgstr "" -#: ../../../README.md:172 +#: ../../../README.md:170 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../README.md -msgid "[sliding-sync](https://github.com/matrix-org/sliding-sync)" -msgstr "" - -#: ../../../README.md -msgid "(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)" -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-sliding-sync-proxy.md)" -msgstr "" - -#: ../../../README.md -msgid "[synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite)" -msgstr "" - -#: ../../../README.md -msgid "A Synapse module to automatically accept invites." -msgstr "" - -#: ../../../README.md -msgid "[Link](docs/configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - #: ../../../README.md msgid "[synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor)" msgstr "" #: ../../../README.md -msgid "A cli tool that automatically compresses `state_groups` database table in background." +msgid "Cli tool that automatically compresses `state_groups` database table in background" msgstr "" #: ../../../README.md @@ -1056,12 +1016,24 @@ msgstr "" msgid "[Link](docs/configuring-playbook-matrix-corporal.md)" msgstr "" +#: ../../../README.md +msgid "[Matrix.to](https://github.com/matrix-org/matrix.to)" +msgstr "" + +#: ../../../README.md +msgid "Simple URL redirection service for the Matrix ecosystem" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-matrixto.md)" +msgstr "" + #: ../../../README.md msgid "[Etherpad](https://etherpad.org)" msgstr "" #: ../../../README.md -msgid "An open source collaborative text editor" +msgid "Open source collaborative text editor" msgstr "" #: ../../../README.md @@ -1073,7 +1045,7 @@ msgid "[Jitsi](https://jitsi.org/)" msgstr "" #: ../../../README.md -msgid "An open source video-conferencing platform" +msgid "Open source video-conferencing platform" msgstr "" #: ../../../README.md @@ -1085,7 +1057,7 @@ msgid "[Cactus Comments](https://cactus.chat)" msgstr "" #: ../../../README.md -msgid "A federated comment system built on Matrix" +msgid "Federated comment system built on Matrix" msgstr "" #: ../../../README.md @@ -1097,7 +1069,7 @@ msgid "[Pantalaimon](https://github.com/matrix-org/pantalaimon)" msgstr "" #: ../../../README.md -msgid "An E2EE aware proxy daemon" +msgid "E2EE aware proxy daemon" msgstr "" #: ../../../README.md @@ -1128,54 +1100,66 @@ msgstr "" msgid "[Link](docs/configuring-playbook-ntfy.md)" msgstr "" -#: ../../../README.md:187 +#: ../../../README.md +msgid "[Element Call](https://github.com/element-hq/element-call)" +msgstr "" + +#: ../../../README.md +msgid "A native Matrix video conferencing application" +msgstr "" + +#: ../../../README.md +msgid "[Link](docs/configuring-playbook-element-call.md)" +msgstr "" + +#: ../../../README.md:185 msgid "🆕 Changes" msgstr "" -#: ../../../README.md:189 +#: ../../../README.md:187 msgid "This playbook evolves over time, sometimes with backward-incompatible changes." msgstr "" -#: ../../../README.md:191 +#: ../../../README.md:189 msgid "When updating the playbook, refer to [the changelog](CHANGELOG.md) to catch up with what's new." msgstr "" -#: ../../../README.md:193 +#: ../../../README.md:191 msgid "🆘 Support" msgstr "" -#: ../../../README.md:195 +#: ../../../README.md:193 msgid "Matrix room: [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com)" msgstr "" -#: ../../../README.md:197 +#: ../../../README.md:195 msgid "IRC channel: `#matrix-docker-ansible-deploy` on the [Libera Chat](https://libera.chat/) IRC network (irc.libera.chat:6697)" msgstr "" -#: ../../../README.md:199 +#: ../../../README.md:197 msgid "GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues)" msgstr "" -#: ../../../README.md:201 +#: ../../../README.md:199 msgid "🌐 Translation" msgstr "" -#: ../../../README.md:203 +#: ../../../README.md:201 msgid "See the [i18n/README.md](i18n/README.md) file for more information about translation." msgstr "" -#: ../../../README.md:205 +#: ../../../README.md:203 msgid "Translations are still work in progress." msgstr "" -#: ../../../README.md:207 +#: ../../../README.md:205 msgid "🤝 Related" msgstr "" -#: ../../../README.md:209 +#: ../../../README.md:207 msgid "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))." msgstr "" -#: ../../../README.md:211 +#: ../../../README.md:209 msgid "mash-playbook also makes use of [Traefik](./docs/configuring-playbook-traefik.md) as its reverse-proxy, so with minor [interoperability adjustments](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md), you can make matrix-docker-ansible-deploy and mash-playbook co-exist and host Matrix and non-Matrix services on the same server." msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/README.po b/i18n/locales/jp/LC_MESSAGES/docs/README.po index e12323e2f..53645fce6 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/README.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/README.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-02-13 10:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,156 +18,156 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/README.md:1 +#: ../../../docs/README.md:10 msgid "Table of Contents" msgstr "" -#: ../../../docs/README.md:3 -msgid "⬇️ Installaton guides " +#: ../../../docs/README.md:12 +msgid "⬇️ Installation guides " msgstr "" -#: ../../../docs/README.md:5 +#: ../../../docs/README.md:14 msgid "There are two installation guides available for beginners and advanced users." msgstr "" -#: ../../../docs/README.md:7 +#: ../../../docs/README.md:16 msgid "⚡ **[Quick start](quick-start.md) (for beginners)**: this is recommended for those who do not have an existing Matrix server and want to start quickly with \"opinionated defaults\"." msgstr "" -#: ../../../docs/README.md:9 +#: ../../../docs/README.md:18 msgid "**Full installation guide (for advanced users)**: if you need to import an existing Matrix server's data into the new server or want to learn more while setting up the server, follow this guide." msgstr "" -#: ../../../docs/README.md:11 +#: ../../../docs/README.md:20 msgid "[Prerequisites](prerequisites.md)" msgstr "" -#: ../../../docs/README.md:13 -msgid "[Configuring your DNS settings](configuring-dns.md)" +#: ../../../docs/README.md:22 +msgid "[Configuring DNS settings](configuring-dns.md)" msgstr "" -#: ../../../docs/README.md:15 +#: ../../../docs/README.md:24 msgid "[Getting the playbook](getting-the-playbook.md)" msgstr "" -#: ../../../docs/README.md:17 +#: ../../../docs/README.md:26 msgid "[Configuring the playbook](configuring-playbook.md)" msgstr "" -#: ../../../docs/README.md:19 +#: ../../../docs/README.md:28 msgid "[Installing](installing.md)" msgstr "" -#: ../../../docs/README.md:21 +#: ../../../docs/README.md:30 msgid "🛠️ Configuration options" msgstr "" -#: ../../../docs/README.md:28 +#: ../../../docs/README.md:37 msgid "You can check useful documentation for configuring components here: [Configuring the playbook](configuring-playbook.md)" msgstr "" -#: ../../../docs/README.md:30 +#: ../../../docs/README.md:39 msgid "[Administration](configuring-playbook.md#administration) — services that help you in administrating and monitoring your Matrix installation" msgstr "" -#: ../../../docs/README.md:32 +#: ../../../docs/README.md:41 msgid "[Authentication and user-related](configuring-playbook.md#authentication-and-user-related) — extend and modify how users are authenticated on your homeserver" msgstr "" -#: ../../../docs/README.md:34 +#: ../../../docs/README.md:43 msgid "[Bots](configuring-playbook.md#bots) — bots provide various additional functionality to your installation" msgstr "" -#: ../../../docs/README.md:36 +#: ../../../docs/README.md:45 msgid "[Bridges](configuring-playbook.md#bridging-other-networks) — bridges can be used to connect your Matrix installation with third-party communication networks" msgstr "" -#: ../../../docs/README.md:38 +#: ../../../docs/README.md:47 msgid "[Clients](configuring-playbook.md#clients) — web clients for Matrix that you can host on your own domains" msgstr "" -#: ../../../docs/README.md:40 +#: ../../../docs/README.md:49 msgid "[Core service adjustments](configuring-playbook.md#core-service-adjustments) — backbone of your Matrix system" msgstr "" -#: ../../../docs/README.md:42 +#: ../../../docs/README.md:51 msgid "[File Storage](configuring-playbook.md#file-storage) — use alternative file storage to the default `media_store` folder" msgstr "" -#: ../../../docs/README.md:46 +#: ../../../docs/README.md:55 msgid "[Other specialized services](configuring-playbook.md#other-specialized-services) — various services that don't fit any other categories" msgstr "" -#: ../../../docs/README.md:48 +#: ../../../docs/README.md:57 msgid "👨‍🔧 Maintenance" msgstr "" -#: ../../../docs/README.md:50 +#: ../../../docs/README.md:59 msgid "If your server and services experience issues, feel free to come to [our support room](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) and ask for help." msgstr "" -#: ../../../docs/README.md:54 -msgid "[Checking if services work](maintenance-checking-services.md)" -msgstr "" - -#: ../../../docs/README.md:56 +#: ../../../docs/README.md:63 msgid "[Maintenance and Troubleshooting](maintenance-and-troubleshooting.md)" msgstr "" -#: ../../../docs/README.md:58 +#: ../../../docs/README.md:65 msgid "[PostgreSQL maintenance](maintenance-postgres.md)" msgstr "" -#: ../../../docs/README.md:60 +#: ../../../docs/README.md:67 msgid "[Synapse maintenance](maintenance-synapse.md)" msgstr "" -#: ../../../docs/README.md:62 +#: ../../../docs/README.md:69 msgid "[Upgrading services](maintenance-upgrading-services.md)" msgstr "" -#: ../../../docs/README.md:64 +#: ../../../docs/README.md:71 msgid "Other documentation pages " msgstr "" -#: ../../../docs/README.md:66 +#: ../../../docs/README.md:73 msgid "ℹ️ **[FAQ](faq.md)** — various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook" msgstr "" -#: ../../../docs/README.md:70 +#: ../../../docs/README.md:77 msgid "[Alternative architectures](alternative-architectures.md)" msgstr "" -#: ../../../docs/README.md:72 +#: ../../../docs/README.md:79 msgid "[Container images used by the playbook](container-images.md)" msgstr "" -#: ../../../docs/README.md:74 +#: ../../../docs/README.md:81 msgid "[Obtaining an Access Token](obtaining-access-tokens.md)" msgstr "" -#: ../../../docs/README.md:76 +#: ../../../docs/README.md:83 msgid "[Playbook tags](playbook-tags.md)" msgstr "" -#: ../../../docs/README.md:78 +#: ../../../docs/README.md:85 msgid "[Registering users](registering-users.md)" msgstr "" -#: ../../../docs/README.md:80 +#: ../../../docs/README.md:87 msgid "[Running `just` commands](just.md)" msgstr "" -#: ../../../docs/README.md:82 +#: ../../../docs/README.md:89 msgid "[Self-building](self-building.md)" msgstr "" -#: ../../../docs/README.md:84 +#: ../../../docs/README.md:91 msgid "[Uninstalling](uninstalling.md)" msgstr "" -#: ../../../docs/README.md:86 +#: ../../../docs/README.md:93 msgid "[Updating users passwords](updating-users-passwords.md)" msgstr "" + +#: ../../../docs/README.md:95 +msgid "[Using Ansible for the playbook](ansible.md)" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po index 95f72acba..a96b8ea14 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-baibot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,431 +18,459 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-baibot.md:1 +#: ../../../docs/configuring-playbook-bot-baibot.md:8 msgid "Setting up baibot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:8 +#: ../../../docs/configuring-playbook-bot-baibot.md:15 msgid "🤖 [baibot](https://github.com/etkecc/baibot) (pronounced bye-bot) is a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:10 +#: ../../../docs/configuring-playbook-bot-baibot.md:17 msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as many well as other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:12 +#: ../../../docs/configuring-playbook-bot-baibot.md:19 msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to [matrix-chatgpt-bot](./configuring-playbook-bot-chatgpt.md). See the [baibot](https://github.com/etkecc/baibot) project and its documentation for more information." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:14 +#: ../../../docs/configuring-playbook-bot-baibot.md:21 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:16 +#: ../../../docs/configuring-playbook-bot-baibot.md:23 msgid "API access to one or more LLM [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:18 +#: ../../../docs/configuring-playbook-bot-baibot.md:25 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:20 +#: ../../../docs/configuring-playbook-bot-baibot.md:27 msgid "There are **a lot of configuration options** (some required, some possibly required, some optional), so they're **split into multiple sections below**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:23 +#: ../../../docs/configuring-playbook-bot-baibot.md:30 msgid "[Base configuration](#base-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:24 +#: ../../../docs/configuring-playbook-bot-baibot.md:31 msgid "[👮‍♂️ Administrator configuration](#️-administrator-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:25 +#: ../../../docs/configuring-playbook-bot-baibot.md:32 msgid "[👥 Initial users configuration](#-initial-users-configuration)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:26 +#: ../../../docs/configuring-playbook-bot-baibot.md:33 msgid "[🤖 Configuring agents via Ansible](#-configuring-agents-via-ansible)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:27 +#: ../../../docs/configuring-playbook-bot-baibot.md:34 msgid "[🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:29 +#: ../../../docs/configuring-playbook-bot-baibot.md:36 msgid "Depending on your current `vars.yml` file and desired configuration, **you may require more than just the [base configuration](#base-configuration)**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:31 +#: ../../../docs/configuring-playbook-bot-baibot.md:38 msgid "Base configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:33 +#: ../../../docs/configuring-playbook-bot-baibot.md:40 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:71 -msgid "As mentioned above, **this may not be enough**. Continue with the configuration sections below." +#: ../../../docs/configuring-playbook-bot-baibot.md:42 +msgid "Authentication can be configured in one of two mutually-exclusive ways:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:73 -msgid "👮‍♂️ Administrator configuration" +#: ../../../docs/configuring-playbook-bot-baibot.md:44 +msgid "**Password authentication** (`matrix_bot_baibot_config_user_password`) - recommended for most playbook-managed setups, because it integrates with automatic user creation flow used by the playbook, and auto-creates the bot account" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:75 -#: ../../../docs/configuring-playbook-bot-baibot.md:99 -msgid "This is an addition to the [base configuration](#base-configuration)." +#: ../../../docs/configuring-playbook-bot-baibot.md:45 +msgid "**Access-token authentication** (`matrix_bot_baibot_config_user_access_token` + `matrix_bot_baibot_config_user_device_id`) - useful for specific [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md)/OIDC setups where password authentication is not available or not desired" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:77 -msgid "To specify who is considered a bot [👮‍♂️ Administrator](https://github.com/etkecc/baibot/blob/main/docs/access.md#administrators), you either need to specify `matrix_bot_baibot_config_access_admin_patterns` or `matrix_admin`. The latter is a single variable which affects all bridges and bots." +#: ../../../docs/configuring-playbook-bot-baibot.md:47 +msgid "Even when [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) is enabled, password authentication is still typically the best fit for baibot if you're using a playbook-managed bot account." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:79 -msgid "If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-baibot.md:81 -#: ../../../docs/configuring-playbook-bot-baibot.md:110 -msgid "**If necessary**, add the following configuration to your `vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-baibot.md:95 -msgid "👥 Initial users configuration" +#: ../../../docs/configuring-playbook-bot-baibot.md:49 +msgid "For upstream details, see baibot's [🔐 Authentication](https://github.com/etkecc/baibot/blob/main/docs/configuration/authentication.md) documentation." msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:97 -msgid "By default, **all users on your homeserver are considered allowed users**. If that's OK, you can skip this section." +msgid "As mentioned above, **this may not be enough**. Continue with the configuration sections below." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:99 +msgid "👮‍♂️ Administrator configuration" msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:101 -msgid "To specify who is considered a bot [👥 User](https://github.com/etkecc/baibot/blob/main/docs/access.md#user), you may:" +#: ../../../docs/configuring-playbook-bot-baibot.md:125 +msgid "This is an addition to the [base configuration](#base-configuration)." msgstr "" #: ../../../docs/configuring-playbook-bot-baibot.md:103 +msgid "To specify who is considered a bot [👮‍♂️ Administrator](https://github.com/etkecc/baibot/blob/main/docs/access.md#administrators), you either need to specify `matrix_bot_baibot_config_access_admin_patterns` or `matrix_admin`. The latter is a single variable which affects all bridges and bots." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:105 +msgid "If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:107 +#: ../../../docs/configuring-playbook-bot-baibot.md:136 +msgid "**If necessary**, add the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:121 +msgid "👥 Initial users configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:123 +msgid "By default, **all users on your homeserver are considered allowed users**. If that's OK, you can skip this section." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:127 +msgid "To specify who is considered a bot [👥 User](https://github.com/etkecc/baibot/blob/main/docs/access.md#user), you may:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:129 msgid "define an **initial** value for `matrix_bot_baibot_config_initial_global_config_user_patterns` Ansible variable, as shown below" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:104 +#: ../../../docs/configuring-playbook-bot-baibot.md:130 msgid "configure the list at runtime via the bot's `!bai access set-users SPACE_SEPARATED_PATTERNS` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:106 +#: ../../../docs/configuring-playbook-bot-baibot.md:132 msgid "Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is optional, but it can be useful to pre-configure the bot with a list of users who should have access to the bot's features." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:108 +#: ../../../docs/configuring-playbook-bot-baibot.md:134 msgid "**Note**: Once initially configured, the allowed users list **cannot be managed via Ansible anymore**. It can only be managed subsequently via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:122 +#: ../../../docs/configuring-playbook-bot-baibot.md:148 msgid "🤖 Configuring agents via Ansible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:124 +#: ../../../docs/configuring-playbook-bot-baibot.md:150 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:126 +#: ../../../docs/configuring-playbook-bot-baibot.md:152 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:128 +#: ../../../docs/configuring-playbook-bot-baibot.md:154 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:130 +#: ../../../docs/configuring-playbook-bot-baibot.md:156 msgid "Besides the presets, the Ansible role also includes support for configuring additional statically-defined agents via the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:132 +#: ../../../docs/configuring-playbook-bot-baibot.md:158 msgid "Agents defined statically and those created dynamically (via chat) are named differently, so **conflict cannot arise**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:134 +#: ../../../docs/configuring-playbook-bot-baibot.md:160 msgid "Depending on your propensity for [GitOps](https://en.wikipedia.org/wiki/DevOps#GitOps), you may prefer to define agents statically via Ansible, or you may wish to do it dynamically via chat." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:136 +#: ../../../docs/configuring-playbook-bot-baibot.md:162 msgid "Before proceeding, we recommend reading the upstream documentation on [How to choose a provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#how-to-choose-a-provider). In short, it's probably best to go with [OpenAI](#openai)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:138 +#: ../../../docs/configuring-playbook-bot-baibot.md:164 msgid "Anthropic" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:140 +#: ../../../docs/configuring-playbook-bot-baibot.md:166 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Anthropic provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#anthropic) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:142 -#: ../../../docs/configuring-playbook-bot-baibot.md:166 -#: ../../../docs/configuring-playbook-bot-baibot.md:197 -#: ../../../docs/configuring-playbook-bot-baibot.md:225 +#: ../../../docs/configuring-playbook-bot-baibot.md:168 +#: ../../../docs/configuring-playbook-bot-baibot.md:192 +#: ../../../docs/configuring-playbook-bot-baibot.md:223 +#: ../../../docs/configuring-playbook-bot-baibot.md:251 msgid "Here's an example **addition** to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:158 -#: ../../../docs/configuring-playbook-bot-baibot.md:189 +#: ../../../docs/configuring-playbook-bot-baibot.md:184 #: ../../../docs/configuring-playbook-bot-baibot.md:215 -#: ../../../docs/configuring-playbook-bot-baibot.md:243 +#: ../../../docs/configuring-playbook-bot-baibot.md:241 +#: ../../../docs/configuring-playbook-bot-baibot.md:275 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:160 -#: ../../../docs/configuring-playbook-bot-baibot.md:191 +#: ../../../docs/configuring-playbook-bot-baibot.md:186 #: ../../../docs/configuring-playbook-bot-baibot.md:217 -#: ../../../docs/configuring-playbook-bot-baibot.md:245 +#: ../../../docs/configuring-playbook-bot-baibot.md:243 +#: ../../../docs/configuring-playbook-bot-baibot.md:277 msgid "💡 You may also wish to use this new agent for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:162 +#: ../../../docs/configuring-playbook-bot-baibot.md:188 msgid "Groq" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:164 +#: ../../../docs/configuring-playbook-bot-baibot.md:190 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Groq provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#groq) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:187 +#: ../../../docs/configuring-playbook-bot-baibot.md:213 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:193 +#: ../../../docs/configuring-playbook-bot-baibot.md:219 msgid "Mistral" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:195 +#: ../../../docs/configuring-playbook-bot-baibot.md:221 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [🇫🇷 Mistral provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#mistral) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:213 +#: ../../../docs/configuring-playbook-bot-baibot.md:239 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:219 +#: ../../../docs/configuring-playbook-bot-baibot.md:245 msgid "OpenAI" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:221 +#: ../../../docs/configuring-playbook-bot-baibot.md:247 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:223 +#: ../../../docs/configuring-playbook-bot-baibot.md:249 msgid "The OpenAI provider is **only meant to be used with OpenAI's official API** and compatibility with other services (which do not fully adhere to the OpenAI API spec completely) is limited. **If you're targeting an OpenAI-compatible service**, use the [OpenAI Compatible](#openai-compatible) provider instead." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:241 +#: ../../../docs/configuring-playbook-bot-baibot.md:273 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:247 +#: ../../../docs/configuring-playbook-bot-baibot.md:279 msgid "OpenAI Compatible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:249 +#: ../../../docs/configuring-playbook-bot-baibot.md:281 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI Compatible provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai-compatible) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:251 +#: ../../../docs/configuring-playbook-bot-baibot.md:283 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:253 +#: ../../../docs/configuring-playbook-bot-baibot.md:285 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:255 +#: ../../../docs/configuring-playbook-bot-baibot.md:287 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:257 +#: ../../../docs/configuring-playbook-bot-baibot.md:289 msgid "Configuring additional agents (without a preset)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:259 +#: ../../../docs/configuring-playbook-bot-baibot.md:291 msgid "The Ansible role may be lacking preset variables for some [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md), or you may wish to statically-define an agent on the same provider twice (or more) with different configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:261 +#: ../../../docs/configuring-playbook-bot-baibot.md:293 msgid "It's possible to inject your own agent configuration using the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:263 +#: ../../../docs/configuring-playbook-bot-baibot.md:295 msgid "You can also define providers at runtime, by chatting with the bot, so using Ansible is not a requirement." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:265 +#: ../../../docs/configuring-playbook-bot-baibot.md:297 msgid "Below is an an **example** demonstrating **statically-defining agents via Ansible without using presets**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:304 +#: ../../../docs/configuring-playbook-bot-baibot.md:336 msgid "Because these are [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agents, they will be given a `static/` ID prefix and will be named `static/my-openai-gpt-3.5-turbo-agent` and `static/my-ollama-agent`, respectively." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:306 +#: ../../../docs/configuring-playbook-bot-baibot.md:338 msgid "💡 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**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:308 +#: ../../../docs/configuring-playbook-bot-baibot.md:340 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:310 +#: ../../../docs/configuring-playbook-bot-baibot.md:342 msgid "💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:312 +#: ../../../docs/configuring-playbook-bot-baibot.md:344 msgid "🤝 Configuring initial default handlers" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:314 +#: ../../../docs/configuring-playbook-bot-baibot.md:346 msgid "This section is only useful if you're [🤖 Configuring agents via Ansible](#-configuring-agents-via-ansible), as it lets you put these agents to use as soon as the bot starts (by adjusting the bot's **initial global configuration**)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:316 +#: ../../../docs/configuring-playbook-bot-baibot.md:348 msgid "If you're not configuring agents via Ansible, you can skip this section." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:318 +#: ../../../docs/configuring-playbook-bot-baibot.md:350 msgid "This section is only useful the first time around. **Once initially configured the global configuration cannot be managed Ansible**, but only via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:320 +#: ../../../docs/configuring-playbook-bot-baibot.md:352 msgid "baibot supports [various purposes](https://github.com/etkecc/baibot/blob/main/docs/features.md):" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:322 +#: ../../../docs/configuring-playbook-bot-baibot.md:354 msgid "[💬 text-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-generation): communicating with you via text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:324 +#: ../../../docs/configuring-playbook-bot-baibot.md:356 msgid "[🦻 speech-to-text](https://github.com/etkecc/baibot/blob/main/docs/features.md#-speech-to-text): turning your voice messages into text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:326 +#: ../../../docs/configuring-playbook-bot-baibot.md:358 msgid "[🗣️ text-to-speech](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-to-speech): turning bot or users text messages into voice messages" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:328 +#: ../../../docs/configuring-playbook-bot-baibot.md:360 msgid "[🖌️ image-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-image-generation): generating images based on instructions" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:330 +#: ../../../docs/configuring-playbook-bot-baibot.md:362 msgid "❓ catch-all: special purposes, indicating use as a fallback (when no specific handler is configured)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:332 +#: ../../../docs/configuring-playbook-bot-baibot.md:364 msgid "[Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models) is made possible by the bot's ability to have different [🤝 handlers](https://github.com/etkecc/baibot/blob/main/docs/configuration/handlers.md) configured for different purposes." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:334 +#: ../../../docs/configuring-playbook-bot-baibot.md:366 msgid "This configuration can be done as a global fallback, or per-room. Both of these [🛠️ configurations](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md) are managed at runtime (viat chat), but **the global configuration can have some initial defaults configured via Ansible**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:336 +#: ../../../docs/configuring-playbook-bot-baibot.md:368 msgid "You can configure the **initial values** for these via Ansible, via the `matrix_bot_baibot_config_initial_global_config_handler_*` variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:338 +#: ../../../docs/configuring-playbook-bot-baibot.md:370 msgid "Example **additional** `vars.yml` configuration:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:355 +#: ../../../docs/configuring-playbook-bot-baibot.md:387 msgid "**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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:357 +#: ../../../docs/configuring-playbook-bot-baibot.md:389 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:359 +#: ../../../docs/configuring-playbook-bot-baibot.md:391 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:361 +#: ../../../docs/configuring-playbook-bot-baibot.md:393 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:363 +#: ../../../docs/configuring-playbook-bot-baibot.md:395 msgid "`roles/custom/matrix-bot-baibot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:364 +#: ../../../docs/configuring-playbook-bot-baibot.md:396 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:366 +#: ../../../docs/configuring-playbook-bot-baibot.md:398 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:368 +#: ../../../docs/configuring-playbook-bot-baibot.md:400 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:375 +#: ../../../docs/configuring-playbook-bot-baibot.md:407 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:377 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +#: ../../../docs/configuring-playbook-bot-baibot.md:409 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account when password authentication is used." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:379 +#: ../../../docs/configuring-playbook-bot-baibot.md:411 +msgid "If you're using access-token authentication, the bot account must already exist and the configured token + device ID must match that account. This mode is mainly for MAS/OIDC setups where password-based bot login is not suitable." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:413 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:381 +#: ../../../docs/configuring-playbook-bot-baibot.md:415 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:383 -msgid "If you change the bot password (`matrix_bot_baibot_config_user_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_baibot_config_user_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-baibot.md:417 +msgid "If you change the bot password (`matrix_bot_baibot_config_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_baibot_config_user_password` to let the bot know its new password. (This note applies to password authentication mode.)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:385 +#: ../../../docs/configuring-playbook-bot-baibot.md:419 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:387 +#: ../../../docs/configuring-playbook-bot-baibot.md:421 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:389 +#: ../../../docs/configuring-playbook-bot-baibot.md:423 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:391 +#: ../../../docs/configuring-playbook-bot-baibot.md:425 msgid "After joining, the bot will introduce itself and show information about the [✨ features](https://github.com/etkecc/baibot/blob/main/docs/features.md) that are enabled for it." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:393 +#: ../../../docs/configuring-playbook-bot-baibot.md:427 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:395 +#: ../../../docs/configuring-playbook-bot-baibot.md:429 msgid "Send `!bai help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:397 +#: ../../../docs/configuring-playbook-bot-baibot.md:431 msgid "You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:399 +#: ../../../docs/configuring-playbook-bot-baibot.md:433 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:401 -msgid "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`" +#: ../../../docs/configuring-playbook-bot-baibot.md:435 +msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:403 -msgid "The default logging level for this service is `info`, but you can increase it to `debug` (or even `trace`) with the following additional configuration:" +#: ../../../docs/configuring-playbook-bot-baibot.md:437 +msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:417 +#: ../../../docs/configuring-playbook-bot-baibot.md:439 +msgid "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:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:453 msgid "**Alternatively**, you can use a single variable to set the logging level for all of the above (bot + all libraries):" msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po index 0d5f3364d..553822c64 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-buscarron.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,156 +18,156 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-buscarron.md:1 +#: ../../../docs/configuring-playbook-bot-buscarron.md:9 msgid "Setting up Buscarron (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:3 +#: ../../../docs/configuring-playbook-bot-buscarron.md:11 msgid "The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:5 +#: ../../../docs/configuring-playbook-bot-buscarron.md:13 msgid "Buscarron is bot that receives HTTP POST submissions of web forms and forwards them to a Matrix room." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:7 +#: ../../../docs/configuring-playbook-bot-buscarron.md:15 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:9 +#: ../../../docs/configuring-playbook-bot-buscarron.md:17 msgid "Adjusting DNS records" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:11 +#: ../../../docs/configuring-playbook-bot-buscarron.md:19 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:13 +#: ../../../docs/configuring-playbook-bot-buscarron.md:21 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:15 +#: ../../../docs/configuring-playbook-bot-buscarron.md:23 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:17 +#: ../../../docs/configuring-playbook-bot-buscarron.md:25 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:40 +#: ../../../docs/configuring-playbook-bot-buscarron.md:48 msgid "Adjusting the Buscarron URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:42 +#: ../../../docs/configuring-playbook-bot-buscarron.md:50 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:44 +#: ../../../docs/configuring-playbook-bot-buscarron.md:52 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:55 +#: ../../../docs/configuring-playbook-bot-buscarron.md:63 msgid "After changing the domain, **you may need to adjust your DNS** records to point the Buscarron domain to the Matrix server." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:57 +#: ../../../docs/configuring-playbook-bot-buscarron.md:65 msgid "If you've decided to reuse the `matrix.` domain, you won't need to do any extra DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:59 +#: ../../../docs/configuring-playbook-bot-buscarron.md:67 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:61 +#: ../../../docs/configuring-playbook-bot-buscarron.md:69 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:63 +#: ../../../docs/configuring-playbook-bot-buscarron.md:71 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:65 +#: ../../../docs/configuring-playbook-bot-buscarron.md:73 msgid "`roles/custom/matrix-bot-buscarron/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:67 +#: ../../../docs/configuring-playbook-bot-buscarron.md:75 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:69 +#: ../../../docs/configuring-playbook-bot-buscarron.md:77 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:76 +#: ../../../docs/configuring-playbook-bot-buscarron.md:84 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:78 +#: ../../../docs/configuring-playbook-bot-buscarron.md:86 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:80 +#: ../../../docs/configuring-playbook-bot-buscarron.md:88 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:82 +#: ../../../docs/configuring-playbook-bot-buscarron.md:90 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:84 -msgid "If you change the bot password (`matrix_bot_buscarron_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_buscarron_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-buscarron.md:92 +msgid "If you change the bot password (`matrix_bot_buscarron_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_buscarron_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:86 +#: ../../../docs/configuring-playbook-bot-buscarron.md:94 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:88 +#: ../../../docs/configuring-playbook-bot-buscarron.md:96 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:90 +#: ../../../docs/configuring-playbook-bot-buscarron.md:98 msgid "After the bot joins the room, anyone can call the web form via HTTP POST method." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:92 +#: ../../../docs/configuring-playbook-bot-buscarron.md:100 msgid "Here is an example for the `contact` form:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:100 +#: ../../../docs/configuring-playbook-bot-buscarron.md:108 msgid "**Note**: to fight against spam, Buscarron is **very aggressive when it comes to banning** and will ban you if:" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:102 +#: ../../../docs/configuring-playbook-bot-buscarron.md:110 msgid "you hit the homepage (HTTP `GET` request to `/`)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:103 +#: ../../../docs/configuring-playbook-bot-buscarron.md:111 msgid "you submit a form to the wrong URL (`POST` request to `/non-existing-form`)" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:104 +#: ../../../docs/configuring-playbook-bot-buscarron.md:112 msgid "`hasemail` is enabled for the form (like in the example above) and you don't submit an `email` field" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:106 +#: ../../../docs/configuring-playbook-bot-buscarron.md:114 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:108 +#: ../../../docs/configuring-playbook-bot-buscarron.md:116 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:110 +#: ../../../docs/configuring-playbook-bot-buscarron.md:118 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:112 +#: ../../../docs/configuring-playbook-bot-buscarron.md:120 msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bot-buscarron.md:114 +#: ../../../docs/configuring-playbook-bot-buscarron.md:122 msgid "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:" msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po index ca0afde4f..3e39aa69d 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-draupnir.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,392 +18,421 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-draupnir.md:1 +#: ../../../docs/configuring-playbook-bot-draupnir.md:10 msgid "Setting up Draupnir (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:3 +#: ../../../docs/configuring-playbook-bot-draupnir.md:12 msgid "The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:5 +#: ../../../docs/configuring-playbook-bot-draupnir.md:14 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:7 +#: ../../../docs/configuring-playbook-bot-draupnir.md:16 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:9 +#: ../../../docs/configuring-playbook-bot-draupnir.md:18 msgid "If your migrating from [Mjolnir](configuring-playbook-bot-mjolnir.md), skip to [this section](#migrating-from-mjolnir-only-required-if-migrating)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:11 +#: ../../../docs/configuring-playbook-bot-draupnir.md:20 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:13 +#: ../../../docs/configuring-playbook-bot-draupnir.md:22 msgid "Create a management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:15 +#: ../../../docs/configuring-playbook-bot-draupnir.md:24 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:17 +#: ../../../docs/configuring-playbook-bot-draupnir.md:26 msgid "[!WARNING] Anyone in this room can control the bot so it is important that you only invite trusted users to this room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:20 +#: ../../../docs/configuring-playbook-bot-draupnir.md:29 msgid "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))." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:22 +#: ../../../docs/configuring-playbook-bot-draupnir.md:31 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:24 +#: ../../../docs/configuring-playbook-bot-draupnir.md:33 msgid "End-to-End Encryption support" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:26 +#: ../../../docs/configuring-playbook-bot-draupnir.md:35 msgid "Decide whether you want to support having an encrypted management room or not. Draupnir can still protect encrypted rooms without encryption support enabled." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:28 +#: ../../../docs/configuring-playbook-bot-draupnir.md:37 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:30 +#: ../../../docs/configuring-playbook-bot-draupnir.md:39 msgid "Disable Pantalaimon for Draupnir (since v2.0.0; optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:32 +#: ../../../docs/configuring-playbook-bot-draupnir.md:41 msgid "It is known that running Draupnir along with Pantalaimon breaks all workflows that involve answering prompts with reactions." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:34 +#: ../../../docs/configuring-playbook-bot-draupnir.md:43 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:36 +#: ../../../docs/configuring-playbook-bot-draupnir.md:45 msgid "**Note**: because the management room is still encrypted, disabling it without enabling the native E2EE support will break the management room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:38 +#: ../../../docs/configuring-playbook-bot-draupnir.md:47 msgid "Native E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:40 +#: ../../../docs/configuring-playbook-bot-draupnir.md:49 msgid "To enable the native E2EE support, you need to obtain an access token for Draupnir and set it on your `vars.yml` file." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:42 +#: ../../../docs/configuring-playbook-bot-draupnir.md:51 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:44 +#: ../../../docs/configuring-playbook-bot-draupnir.md:53 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:55 +#: ../../../docs/configuring-playbook-bot-draupnir.md:64 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:57 +#: ../../../docs/configuring-playbook-bot-draupnir.md:66 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:76 +#: ../../../docs/configuring-playbook-bot-draupnir.md:85 msgid "Create and invite the bot to the management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:78 +#: ../../../docs/configuring-playbook-bot-draupnir.md:87 msgid "Before proceeding to the next step, run the playbook with the following command to create the bot user." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:84 +#: ../../../docs/configuring-playbook-bot-draupnir.md:93 msgid "**Note**: the `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:86 +#: ../../../docs/configuring-playbook-bot-draupnir.md:95 msgid "Then, invite the bot (`@bot.draupnir:example.com`) to its management room which you have created earlier." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:88 +#: ../../../docs/configuring-playbook-bot-draupnir.md:97 msgid "Make sure the account is free from rate limiting (optional, recommended)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:90 +#: ../../../docs/configuring-playbook-bot-draupnir.md:99 msgid "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.**" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:92 +#: ../../../docs/configuring-playbook-bot-draupnir.md:101 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:94 +#: ../../../docs/configuring-playbook-bot-draupnir.md:103 msgid "**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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:96 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-draupnir.md:105 +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:98 +#: ../../../docs/configuring-playbook-bot-draupnir.md:107 msgid "Add the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:100 +#: ../../../docs/configuring-playbook-bot-draupnir.md:109 msgid "To expose the APIs publicly, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:106 +#: ../../../docs/configuring-playbook-bot-draupnir.md:115 msgid "Obtain an access token for admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:108 +#: ../../../docs/configuring-playbook-bot-draupnir.md:117 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:110 +#: ../../../docs/configuring-playbook-bot-draupnir.md:119 msgid "[!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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:113 +#: ../../../docs/configuring-playbook-bot-draupnir.md:122 msgid "Run the `curl` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:115 +#: ../../../docs/configuring-playbook-bot-draupnir.md:124 msgid "To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:117 +#: ../../../docs/configuring-playbook-bot-draupnir.md:126 msgid "`ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:118 +#: ../../../docs/configuring-playbook-bot-draupnir.md:127 msgid "`example.com` with your base domain" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:119 +#: ../../../docs/configuring-playbook-bot-draupnir.md:128 msgid "`@bot.draupnir:example.com` with the MXID of your Draupnir bot user" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:125 +#: ../../../docs/configuring-playbook-bot-draupnir.md:134 +#: ../../../docs/configuring-playbook-bot-draupnir.md:207 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:126 +#: ../../../docs/configuring-playbook-bot-draupnir.md:135 msgid "This does not work on outdated Windows 10 as curl is not available there." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:127 +#: ../../../docs/configuring-playbook-bot-draupnir.md:136 msgid "Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:129 +#: ../../../docs/configuring-playbook-bot-draupnir.md:138 msgid "Abuse Reports" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:131 +#: ../../../docs/configuring-playbook-bot-draupnir.md:140 msgid "Draupnir can receive reports in the management room." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:133 +#: ../../../docs/configuring-playbook-bot-draupnir.md:142 msgid "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:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:145 +#: ../../../docs/configuring-playbook-bot-draupnir.md:148 +msgid "Enabling synapse-http-antispam support" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:150 +msgid "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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:160 +msgid "These protections need to be manually activated and consulting the [enabling protections](#enabling-built-in-protections) guide can be helpful or consulting upstream documentation." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:168 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:147 +#: ../../../docs/configuring-playbook-bot-draupnir.md:170 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:149 +#: ../../../docs/configuring-playbook-bot-draupnir.md:172 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:151 +#: ../../../docs/configuring-playbook-bot-draupnir.md:174 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:153 +#: ../../../docs/configuring-playbook-bot-draupnir.md:176 msgid "For example, to change Draupnir's `acceptInvitesFromSpace` option to `!qporfwt:example.com`, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:167 +#: ../../../docs/configuring-playbook-bot-draupnir.md:190 msgid "Migrating from Mjolnir (Only required if migrating)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:169 +#: ../../../docs/configuring-playbook-bot-draupnir.md:192 msgid "Replace your `matrix_bot_mjolnir` config with `matrix_bot_draupnir` config. Also disable Mjolnir if you're doing migration." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:171 +#: ../../../docs/configuring-playbook-bot-draupnir.md:194 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:173 +#: ../../../docs/configuring-playbook-bot-draupnir.md:196 msgid "That is all you need to do due to that Draupnir can complete migration on its own." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:175 +#: ../../../docs/configuring-playbook-bot-draupnir.md:198 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:177 +#: ../../../docs/configuring-playbook-bot-draupnir.md:200 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:184 +#: ../../../docs/configuring-playbook-bot-draupnir.md:209 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:211 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:186 +#: ../../../docs/configuring-playbook-bot-draupnir.md:213 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:188 +#: ../../../docs/configuring-playbook-bot-draupnir.md:215 +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:217 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:190 +#: ../../../docs/configuring-playbook-bot-draupnir.md:219 msgid "You can refer to the upstream [documentation](https://the-draupnir-project.github.io/draupnir-documentation/) for additional ways to use and configure Draupnir and for a more detailed usage guide." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:192 +#: ../../../docs/configuring-playbook-bot-draupnir.md:221 msgid "Below is a **non-exhaustive quick-start guide** for the impatient." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:194 +#: ../../../docs/configuring-playbook-bot-draupnir.md:223 msgid "Making Draupnir join and protect a room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:196 +#: ../../../docs/configuring-playbook-bot-draupnir.md:225 msgid "Draupnir can be told to self-join public rooms, but it's better to follow this flow which works well for all kinds of rooms:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:198 +#: ../../../docs/configuring-playbook-bot-draupnir.md:227 msgid "Invite the bot to the room manually ([inviting Draupnir to rooms](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#inviting-draupnir-to-rooms)). Before joining, the bot *may* ask for confirmation in the Management Room" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:200 +#: ../../../docs/configuring-playbook-bot-draupnir.md:229 msgid "[Give the bot permissions to do its job](#giving-draupnir-permissions-to-do-its-job)" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:202 +#: ../../../docs/configuring-playbook-bot-draupnir.md:231 msgid "Tell it to protect the room (using the [rooms command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#using-the-draupnir-rooms-command)) by sending the following command to the Management Room: `!draupnir rooms add !qporfwt:example.com`" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:204 +#: ../../../docs/configuring-playbook-bot-draupnir.md:233 msgid "To have Draupnir provide useful room protection, you need do to a bit more work (at least the first time around). You may wish to [Subscribe to a public policy list](#subscribing-to-a-public-policy-list), [Create your own own policy and rules](#creating-your-own-policy-lists-and-rules) and [Enabling built-in protections](#enabling-built-in-protections)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:206 +#: ../../../docs/configuring-playbook-bot-draupnir.md:235 msgid "Giving Draupnir permissions to do its job" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:208 +#: ../../../docs/configuring-playbook-bot-draupnir.md:237 msgid "For Draupnir to do its job, you need to [give it permissions](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-protected-rooms#giving-draupnir-permissions) in rooms it's protecting. This involves **giving it an Administrator power level**." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:210 +#: ../../../docs/configuring-playbook-bot-draupnir.md:239 msgid "**We recommend setting this power level as soon as the bot joins your room** (and before you create new rules), so that it can apply rules as soon as they are available. If the bot is under-privileged, it may fail to apply protections and may not retry for a while (or until your restart it)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:212 +#: ../../../docs/configuring-playbook-bot-draupnir.md:241 msgid "Subscribing to a public policy list" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:214 +#: ../../../docs/configuring-playbook-bot-draupnir.md:243 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:216 -msgid "Polcy lists are maintained in Matrix rooms. A popular policy list is maintained in the public `#community-moderation-effort-bl:neko.dev` room." +#: ../../../docs/configuring-playbook-bot-draupnir.md:245 +msgid "Policy lists are maintained in Matrix rooms. Popular ones maintained in the public are:" msgstr "" -#: ../../../docs/configuring-playbook-bot-draupnir.md:218 -msgid "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`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:220 -msgid "Creating your own policy lists and rules" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:222 -msgid "We also recommend **creating your own policy lists** with the [list create](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-policy-lists#using-draupnirs-list-create-command-to-create-a-policy-room) command." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:224 -msgid "You can do so by sending the following command to the Management Room: `!draupnir list create my-bans my-bans-bl`. This will create a policy list having a name (shortcode) of `my-bans` and stored in a public `#my-bans-bl:example.com` room on your server. As soon as you run this command, the bot will invite you to the policy list room." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:226 -msgid "A policy list does nothing by itself, so the next step is **adding some rules to your policy list**. Policies target a so-called `entity` (one of: `user`, `room` or `server`). These entities are mentioned on the [policy lists](https://the-draupnir-project.github.io/draupnir-documentation/concepts/policy-lists) documentation page and in the Matrix Spec [here](https://spec.matrix.org/v1.11/client-server-api/#mban-recommendation)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:228 -msgid "The simplest and most useful entity to target is `user`. Below are a few examples using the [ban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-ban-command) and targeting users." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:230 -msgid "To create rules, you run commands in the Management Room (**not** in the policy list room)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:232 -msgid "(ban a single user on a given homeserver): `!draupnir ban @charles:example.com my-bans Rude to others`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:233 -msgid "(ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server - all users are fake`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:235 -msgid "As a result of running these commands, you may observe:" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:237 -msgid "Draupnir creating `m.policy.rule.user` state events in the `#my-bans-bl:example.com` room on your server" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:238 -msgid "applying these rules against all rooms that Draupnir is an Administrator in" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:240 -msgid "You can undo bans with the [unban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-unban-command)." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:242 -msgid "Enabling built-in protections" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:244 -msgid "You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuit` (\"If X amount of users join in Y time, set the room to invite-only\")." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-draupnir.md:246 -msgid "To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room." +#: ../../../docs/configuring-playbook-bot-draupnir.md:247 +msgid "`#community-moderation-effort-bl:neko.dev`" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:248 -msgid "To **see the configuration options for a given protection**, send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuit`)." +msgid "`#huginn-muninn-active-threats:feline.support`" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:250 -msgid "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`)." +msgid "You can tell Draupnir to subscribe to each of these by sending the following command to the Management Room: `!draupnir watch POLICY_LIST_ADDRESS_HERE` (e.g. `!draupnir watch #community-moderation-effort-bl:neko.dev`)" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:252 -msgid "To **enable a given protection**, send a command like this: `!draupnir enable PROTECTION_NAME` (e.g. `!draupnir enable JoinWaveShortCircuit`)." +msgid "Creating your own policy lists and rules" msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:254 -msgid "To **disable a given protection**, send a command like this: `!draupnir disable PROTECTION_NAME` (e.g. `!draupnir disable JoinWaveShortCircuit`)." +msgid "We also recommend **creating your own policy lists** with the [list create](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-policy-lists#using-draupnirs-list-create-command-to-create-a-policy-room) command." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:256 +msgid "You can do so by sending the following command to the Management Room: `!draupnir list create my-bans my-bans-bl`. This will create a policy list having a name (shortcode) of `my-bans` and stored in a public `#my-bans-bl:example.com` room on your server. As soon as you run this command, the bot will invite you to the policy list room." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:258 +msgid "A policy list does nothing by itself, so the next step is **adding some rules to your policy list**. Policies target a so-called `entity` (one of: `user`, `room` or `server`). These entities are mentioned on the [policy lists](https://the-draupnir-project.github.io/draupnir-documentation/concepts/policy-lists) documentation page and in the Matrix Spec [here](https://spec.matrix.org/v1.11/client-server-api/#mban-recommendation)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:260 +msgid "The simplest and most useful entity to target is `user`. Below are a few examples using the [ban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-ban-command) and targeting users." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:262 +msgid "To create rules, you run commands in the Management Room (**not** in the policy list room)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:264 +msgid "(ban a single user on a given homeserver): `!draupnir ban @charles:example.com my-bans Rude to others`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:265 +msgid "(ban all users on a given homeserver by using a [wildcard](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#wildcards)): `!draupnir ban @*:example.org my-bans Spam server, all users are fake`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:267 +msgid "As a result of running these commands, you may observe:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:269 +msgid "Draupnir creating `m.policy.rule.user` state events in the `#my-bans-bl:example.com` room on your server" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:270 +msgid "applying these rules against all rooms that Draupnir is an Administrator in" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:272 +msgid "You can undo bans with the [unban command](https://the-draupnir-project.github.io/draupnir-documentation/moderator/managing-users#the-unban-command)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:274 +msgid "Enabling built-in protections" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:276 +msgid "You can also **turn on various built-in [protections](https://the-draupnir-project.github.io/draupnir-documentation/protections)** like `JoinWaveShortCircuitProtection` (\"If X amount of users join in Y time, set the room to invite-only\")." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:278 +msgid "To **see which protections are available and which are enabled**, send a `!draupnir protections` command to the Management Room." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:280 +msgid "To [**see the configuration options for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#displaying-the-protection-settings), send a `!draupnir protections show PROTECTION_NAME` (e.g. `!draupnir protections show JoinWaveShortCircuitProtection`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:282 +msgid "To [**set a specific option for a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/configuring-protections#changing-protection-settings), send a command like this: `!draupnir protections config set PROTECTION_NAME OPTION VALUE` (e.g. `!draupnir protections config set JoinWaveShortCircuitProtection timescaleMinutes 30`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:284 +msgid "To [**enable a given protection**](https://the-draupnir-project.github.io/draupnir-documentation/protections/block-invitations-on-server-protection#enabling-the-protection), send a command like this: `!draupnir protections enable PROTECTION_NAME` (e.g. `!draupnir protections enable JoinWaveShortCircuitProtection`)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-draupnir.md:286 +msgid "To **disable a given protection**, send a command like this: `!draupnir protections disable PROTECTION_NAME` (e.g. `!draupnir protections disable JoinWaveShortCircuitProtection`)." msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po index 58bc343a4..8e84dad01 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-honoroit.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,108 +18,140 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-honoroit.md:1 +#: ../../../docs/configuring-playbook-bot-honoroit.md:9 msgid "Setting up Honoroit (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:3 +#: ../../../docs/configuring-playbook-bot-honoroit.md:11 msgid "The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:5 +#: ../../../docs/configuring-playbook-bot-honoroit.md:13 msgid "It's a bot you can use to setup **your own helpdesk on matrix**" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:7 +#: ../../../docs/configuring-playbook-bot-honoroit.md:15 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:9 +#: ../../../docs/configuring-playbook-bot-honoroit.md:17 msgid "Adjusting DNS records (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:11 +#: ../../../docs/configuring-playbook-bot-honoroit.md:19 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:13 +#: ../../../docs/configuring-playbook-bot-honoroit.md:21 msgid "If you wish to adjust it, see the section [below](#adjusting-the-honoroit-url-optional) for details about DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:15 +#: ../../../docs/configuring-playbook-bot-honoroit.md:23 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:17 +#: ../../../docs/configuring-playbook-bot-honoroit.md:25 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:32 +#: ../../../docs/configuring-playbook-bot-honoroit.md:40 msgid "Adjusting the Honoroit URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:34 +#: ../../../docs/configuring-playbook-bot-honoroit.md:42 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:36 +#: ../../../docs/configuring-playbook-bot-honoroit.md:44 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:44 +#: ../../../docs/configuring-playbook-bot-honoroit.md:52 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:46 +#: ../../../docs/configuring-playbook-bot-honoroit.md:54 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:48 +#: ../../../docs/configuring-playbook-bot-honoroit.md:56 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:58 +msgid "There are some additional things you may wish to configure about the bot." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:60 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:62 +msgid "`roles/custom/matrix-bot-honoroit/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:64 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:50 +#: ../../../docs/configuring-playbook-bot-honoroit.md:66 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:57 +#: ../../../docs/configuring-playbook-bot-honoroit.md:73 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:59 +#: ../../../docs/configuring-playbook-bot-honoroit.md:75 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:61 +#: ../../../docs/configuring-playbook-bot-honoroit.md:77 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:63 +#: ../../../docs/configuring-playbook-bot-honoroit.md:79 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:65 -msgid "If you change the bot password (`matrix_bot_honoroit_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_honoroit_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-honoroit.md:81 +msgid "If you change the bot password (`matrix_bot_honoroit_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_honoroit_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:67 +#: ../../../docs/configuring-playbook-bot-honoroit.md:83 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:69 +#: ../../../docs/configuring-playbook-bot-honoroit.md:85 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:71 +#: ../../../docs/configuring-playbook-bot-honoroit.md:87 msgid "After the bot joins the room, any Matrix user can send a message to it to start a new thread in that room." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:73 +#: ../../../docs/configuring-playbook-bot-honoroit.md:89 msgid "Send `!ho help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-honoroit.md:75 +#: ../../../docs/configuring-playbook-bot-honoroit.md:91 msgid "You can also refer to the upstream [documentation](https://github.com/etkecc/honoroit#features)." msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:93 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:95 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:97 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-honoroit.md:99 +msgid "If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po index b3110a4dc..c1d81c6ea 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-registration-bot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-23 13:09+0900\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,84 +18,120 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:1 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:13 msgid "Setting up matrix-registration-bot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:3 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:15 msgid "The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:5 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:17 msgid "The bot allows you to easily **create and manage registration tokens** aka. invitation codes. It can be used for an invitation-based server, where you invite someone by sending them a registration token (tokens look like this: `rbalQ0zkaDSRQCOp`). They can register as per normal but have to provide a valid registration token in the final step of the registration process." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:7 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:19 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:9 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:21 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:11 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:23 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:30 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:46 msgid "The bot account will be created automatically." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:32 -msgid "Installing" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:48 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:34 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:50 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:41 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:52 +msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:43 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:45 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:47 -msgid "`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." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:49 -msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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_matrix_registration_bot_bot_password` to let the bot know its new password." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:51 -msgid "Usage" -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:53 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:54 +msgid "`roles/custom/matrix-bot-matrix-registration-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:55 -msgid "Send `help` to the bot to see the available commands." +msgid "`roles/custom/matrix-bot-matrix-registration-bot/templates/config.yaml.j2` for the bridge's default configuration" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:57 -msgid "You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands)." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:59 -msgid "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)." +msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:61 +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:66 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:68 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:70 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:72 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:74 +msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_registration_bot_bot_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:76 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:78 +msgid "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)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:80 +msgid "Send `help` to the bot to see the available commands." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:82 +msgid "You can also refer to the upstream [Usage documentation](https://github.com/moan0s/matrix-registration-bot#supported-commands)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:84 +msgid "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)." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:86 msgid "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:" msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:92 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:94 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:96 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:98 +msgid "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:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po index 20f7e1e24..afd581d6c 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-matrix-reminder-bot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-23 13:09+0900\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,80 +18,116 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:1 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:9 msgid "Setting up matrix-reminder-bot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:3 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:11 msgid "The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:5 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:13 msgid "It's a bot you can use to **schedule one-off & recurring reminders and alarms**." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:7 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:15 msgid "See the project's [documentation](https://github.com/anoadragon453/matrix-reminder-bot/blob/master/README.md) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:9 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:17 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:11 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:19 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:26 -msgid "Installing" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:34 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:28 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:36 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:35 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:38 +msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:37 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:39 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:40 +msgid "`roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:41 -msgid "`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." +msgid "`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" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:43 -msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:45 +msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:52 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:54 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:56 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:58 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:60 +msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:62 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:47 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:64 msgid "To use the bot, start a chat with `@bot.matrix-reminder-bot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:49 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:66 msgid "You can also add the bot to any existing Matrix room (`/invite @bot.matrix-reminder-bot:example.com`)." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:51 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:68 msgid "Basic usage is like this: `!remindme in 2 minutes; This is a test`" msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:53 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:70 msgid "Send `!help reminders` to the room to see the bot's help menu for additional commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:55 +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:72 msgid "You can also refer to the upstream [Usage documentation](https://github.com/anoadragon453/matrix-reminder-bot#usage)." msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:74 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:76 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:78 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:80 +msgid "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:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po index 59ef67301..ca897756a 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-maubot.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,149 +18,185 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-maubot.md:1 +#: ../../../docs/configuring-playbook-bot-maubot.md:12 msgid "Setting up maubot (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:3 +#: ../../../docs/configuring-playbook-bot-maubot.md:14 msgid "The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:5 +#: ../../../docs/configuring-playbook-bot-maubot.md:16 msgid "After setting up maubot, you can use the web management interface to make it do things. The default location of the management interface is `matrix.example.com/_matrix/maubot/`" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:7 +#: ../../../docs/configuring-playbook-bot-maubot.md:18 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:9 +#: ../../../docs/configuring-playbook-bot-maubot.md:20 msgid "Adjusting DNS records (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:11 +#: ../../../docs/configuring-playbook-bot-maubot.md:22 msgid "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**." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:13 +#: ../../../docs/configuring-playbook-bot-maubot.md:24 msgid "If you wish to adjust it, see the section [below](#adjusting-the-maubot-url-optional) for details about DNS configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:15 +#: ../../../docs/configuring-playbook-bot-maubot.md:26 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:17 +#: ../../../docs/configuring-playbook-bot-maubot.md:28 msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:32 +#: ../../../docs/configuring-playbook-bot-maubot.md:43 msgid "You can add multiple admins. The admin accounts are only used to access the maubot administration interface." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:34 +#: ../../../docs/configuring-playbook-bot-maubot.md:45 msgid "Adjusting the maubot URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:36 +#: ../../../docs/configuring-playbook-bot-maubot.md:47 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:38 -#: ../../../docs/configuring-playbook-bot-maubot.md:56 +#: ../../../docs/configuring-playbook-bot-maubot.md:49 +#: ../../../docs/configuring-playbook-bot-maubot.md:76 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:46 +#: ../../../docs/configuring-playbook-bot-maubot.md:57 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:48 +#: ../../../docs/configuring-playbook-bot-maubot.md:59 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:50 -msgid "Customizing the maubot container image" +#: ../../../docs/configuring-playbook-bot-maubot.md:61 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:52 -msgid "Certain [maubot plugins](https://plugins.mau.bot/) require additional dependencies to be installed." +#: ../../../docs/configuring-playbook-bot-maubot.md:63 +msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:54 -msgid "You can customize the default maubot container image and install your own dependencies." +#: ../../../docs/configuring-playbook-bot-maubot.md:65 +msgid "Take a look at:" msgstr "" #: ../../../docs/configuring-playbook-bot-maubot.md:67 +msgid "`roles/custom/matrix-bot-maubot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:68 +msgid "`roles/custom/matrix-bot-maubot/templates/config.yaml.j2` for the bot's default configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:70 +msgid "Customizing the maubot container image" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:72 +msgid "Certain [maubot plugins](https://plugins.mau.bot/) require additional dependencies to be installed." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:74 +msgid "You can customize the default maubot container image and install your own dependencies." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:87 msgid "Consult the [Dockerfile reference](https://docs.docker.com/reference/dockerfile/) for more information about the syntax." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:69 +#: ../../../docs/configuring-playbook-bot-maubot.md:89 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:71 +#: ../../../docs/configuring-playbook-bot-maubot.md:91 msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:78 +#: ../../../docs/configuring-playbook-bot-maubot.md:98 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:80 +#: ../../../docs/configuring-playbook-bot-maubot.md:100 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:82 +#: ../../../docs/configuring-playbook-bot-maubot.md:102 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:84 +#: ../../../docs/configuring-playbook-bot-maubot.md:104 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:86 -msgid "If you change the bot password (`matrix_bot_maubot_initial_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_maubot_initial_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-maubot.md:106 +msgid "If you change the bot password (`matrix_bot_maubot_initial_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_maubot_initial_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:88 +#: ../../../docs/configuring-playbook-bot-maubot.md:108 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:90 +#: ../../../docs/configuring-playbook-bot-maubot.md:110 msgid "By default, you can visit `matrix.example.com/_matrix/maubot/` to manage your available plugins, clients and instances." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:92 +#: ../../../docs/configuring-playbook-bot-maubot.md:112 msgid "You should start in the following order" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:93 +#: ../../../docs/configuring-playbook-bot-maubot.md:113 msgid "**Create one or more clients**: A client is a Matrix account which the bot will use to message. By default, the playbook creates a `bot.maubot` account (as per the configuration above). You only need to [obtain an access token](#obtaining-an-access-token) for it" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:94 +#: ../../../docs/configuring-playbook-bot-maubot.md:114 msgid "**Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:95 +#: ../../../docs/configuring-playbook-bot-maubot.md:115 msgid "**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)" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:97 +#: ../../../docs/configuring-playbook-bot-maubot.md:117 msgid "Obtain an access token" msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:99 +#: ../../../docs/configuring-playbook-bot-maubot.md:119 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:101 +#: ../../../docs/configuring-playbook-bot-maubot.md:121 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-maubot.md:103 +#: ../../../docs/configuring-playbook-bot-maubot.md:123 msgid "[!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." msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:126 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:128 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:130 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-maubot.md:132 +msgid "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:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po index 0b81d8024..de08ca6f6 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bot-mjolnir.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,254 +18,266 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:1 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:12 msgid "Setting up Mjolnir (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:3 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:14 msgid "The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:5 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:16 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:7 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:18 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:9 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:20 msgid "Register the bot account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:11 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:22 msgid "The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:13 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:24 msgid "Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:15 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:26 msgid "You can use the playbook to [register a new user](registering-users.md):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:21 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:32 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:23 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:34 msgid "Obtain an access token" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:25 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:36 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:27 -#: ../../../docs/configuring-playbook-bot-mjolnir.md:52 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:38 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:63 msgid "[!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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:30 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:41 msgid "Make sure the account is free from rate limiting" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:32 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:43 msgid "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.**" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:34 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:45 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:36 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:47 msgid "**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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:38 -msgid "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)." +#: ../../../docs/configuring-playbook-bot-mjolnir.md:49 +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:40 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:51 msgid "Add the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:42 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:53 msgid "To expose the APIs publicly, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:48 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:59 msgid "Obtain an access token for admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:50 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:61 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:55 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:66 msgid "Run the `curl` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:57 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:68 msgid "To disable rate limiting, run the following command on systems that ship curl. Before running it, make sure to replace:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:59 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:70 msgid "`ADMIN_ACCESS_TOKEN_HERE` with the access token of the admin account" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:60 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:71 msgid "`example.com` with your base domain" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:61 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:72 msgid "`@bot.mjolnir:example.com` with the MXID of your Mjolnir bot user" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:67 -#: ../../../docs/configuring-playbook-bot-mjolnir.md:184 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:78 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:195 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:68 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:79 msgid "This does not work on outdated Windows 10 as curl is not available there." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:69 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:80 msgid "Even if the APIs are not exposed to the internet, you should still be able to run the command on the homeserver locally." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:71 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:82 msgid "Create a management room" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:73 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:84 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:75 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:86 msgid "[!WARNING] Anyone in this room can control the bot so it is important that you only invite trusted users to this room." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:78 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:89 msgid "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))." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:80 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:91 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:82 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:93 msgid "Finally invite the `@bot.mjolnir:example.com` account you created earlier into the room." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:84 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:95 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:86 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:97 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:95 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:106 msgid "End-to-End Encryption support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:97 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:108 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:99 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:110 msgid "To support E2EE, Mjolnir needs to [use Pantalaimon](configuring-playbook-pantalaimon.md)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:101 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:112 msgid "Configuration with E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:103 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:114 msgid "When using Pantalaimon, Mjolnir will log in to its bot account itself through Pantalaimon, so configure its username and password." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:105 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:116 msgid "Add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:119 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:130 msgid "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`:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:131 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:142 msgid "Configuration without E2EE support" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:133 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:144 msgid "When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:135 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:146 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:141 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:152 msgid "Adding Mjolnir synapse antispam module (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:143 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:154 msgid "To enable Mjolnir synapse antispam module, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:153 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:164 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:155 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:166 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:157 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:168 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:159 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:170 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:161 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:172 msgid "For example, to change Mjolnir's `recordIgnoredInvites` option to `true`, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:175 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:186 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:177 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:188 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:186 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." -msgstr "" - -#: ../../../docs/configuring-playbook-bot-mjolnir.md:188 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:197 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:190 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:199 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:192 -msgid "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." +#: ../../../docs/configuring-playbook-bot-mjolnir.md:201 +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:194 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:203 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-mjolnir.md:196 +#: ../../../docs/configuring-playbook-bot-mjolnir.md:205 msgid "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." msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:207 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:209 +msgid "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`." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:211 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-mjolnir.md:213 +msgid "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:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po index 3d52c8a1f..945e2a30e 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-bridge-postmoogle.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,53 +18,53 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:1 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:10 msgid "Setting up Postmoogle email bridging (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:3 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:12 msgid "The playbook can install and configure [Postmoogle](https://github.com/etkecc/postmoogle) for you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:5 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:14 msgid "Postmoogle is a bridge you can use to have its bot user forward emails to Matrix rooms. It runs an SMTP email server and allows you to assign mailbox addresses to the rooms." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:7 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:16 msgid "See the project's [documentation](https://github.com/etkecc/postmoogle/blob/master/README.md) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:9 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:18 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:11 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:20 msgid "Open the following ports on your server to be able to receive incoming emails:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:13 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:22 msgid "`25/tcp`: SMTP" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:14 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:23 msgid "`587/tcp`: Submission (TLS-encrypted SMTP)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:16 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:25 msgid "If you don't open these ports, you will still be able to send emails, but not receive any." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:18 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:27 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:20 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:29 msgid "Adjusting DNS records" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:22 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:31 msgid "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." msgstr "" @@ -140,90 +140,94 @@ msgstr "" msgid "get it from `!pm dkim`" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:31 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:40 msgid "**Note**: the DKIM record can be retrieved after configuring and installing the bridge's bot." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:33 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:42 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:35 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:44 msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:56 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:65 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:58 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:67 msgid "There are some additional things you may wish to configure about the bridge." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:60 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:69 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:62 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:71 msgid "`roles/custom/matrix-bridge-postmoogle/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:64 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:73 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:66 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:75 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:73 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:82 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:75 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:84 msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create a user account of the bridge's bot." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:77 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:86 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:79 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:88 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:81 -msgid "If you change the bridge's bot password (`matrix_postmoogle_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_postmoogle_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:90 +msgid "If you change the bridge's bot password (`matrix_postmoogle_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_postmoogle_password` to let the bot know its new password." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:83 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:92 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:85 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:94 msgid "To use the bridge, invite the `@postmoogle:example.com` bot user into a room you want to use as a mailbox." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:87 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:96 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:89 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:98 msgid "Send `!pm help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:91 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:100 msgid "You can also refer to the upstream [documentation](https://github.com/etkecc/postmoogle)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:93 +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:102 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:95 -msgid "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`" +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:104 +msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bridge-postmoogle.md:97 -msgid "The default logging level for this bridge is `INFO`, but you can increase it to `DEBUG` with the following additional configuration:" +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:106 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-postmoogle.md:108 +msgid "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:" msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-element-admin.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-element-admin.po new file mode 100644 index 000000000..21b97cc55 --- /dev/null +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-element-admin.po @@ -0,0 +1,117 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community +# members +# This file is distributed under the same license as the +# matrix-docker-ansible-deploy package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: jp\n" +"Language-Team: jp \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../../docs/configuring-playbook-element-admin.md:8 +msgid "Setting up Element Admin (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:10 +msgid "The playbook can install and configure [Element Admin](https://github.com/element-hq/element-admin) for you." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:12 +msgid "Element Admin is a web-based administration panel for Synapse and [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:14 +msgid "See the project's [documentation](https://github.com/element-hq/element-admin) to learn more." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:16 +msgid "💡 **Note**: This project is still very young and doesn't have many features. [Ketesa](./configuring-playbook-ketesa.md) is the fully-featured alternative — it covers all Synapse and MAS Admin APIs, including complete user management, session management, and MAS policy data. Element Admin remains a valid choice if you prefer its interface." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:18 +msgid "Prerequisites" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:20 +msgid "A [Synapse](configuring-playbook-synapse.md) homeserver with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:21 +msgid "[Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) with its Admin API enabled (the playbook automatically enables it for you when you enable Element Admin)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:23 +msgid "Decide on a domain and path" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:25 +msgid "By default, the Element Admin is configured to be served on the `admin.element.example.com` domain." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:27 +msgid "If you'd like to run Element Admin on another hostname, see the [Adjusting the Element Admin URL](#adjusting-the-element-admin-url-optional) section below." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:29 +msgid "Adjusting DNS records (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:31 +msgid "By default, this playbook installs Element Admin on the `admin.element.` subdomain (`admin.element.example.com`) and requires you to create a `CNAME` record for `admin.element`, which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:33 +msgid "When setting these values, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:35 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:37 +msgid "Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:43 +msgid "Adjusting the Element Admin URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:45 +msgid "By tweaking the `matrix_element_admin_hostname` variable, you can easily make the service available at a **different hostname** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:47 +msgid "Example additional configuration for your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:53 +msgid "[!WARNING] A `matrix_element_admin_path_prefix` variable is also available and mean to let you configure a path prefix for the Element Admin service, but **Element Admin does not support running under a sub-path yet**." +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:56 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:58 +msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:65 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-element-admin.md:67 +msgid "`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." +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-ketesa.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-ketesa.po new file mode 100644 index 000000000..4289059a3 --- /dev/null +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-ketesa.po @@ -0,0 +1,165 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community +# members +# This file is distributed under the same license as the +# matrix-docker-ansible-deploy package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 12:02+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: jp\n" +"Language-Team: jp \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../../docs/configuring-playbook-ketesa.md:14 +msgid "Setting up Ketesa (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:16 +msgid "The playbook can install and configure [Ketesa](https://github.com/etkecc/ketesa) for you." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:18 +msgid "Ketesa is a fully-featured admin interface for Matrix homeservers — manage users, rooms, media, sessions, and more from one clean, responsive web UI. It is the evolution of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin): what began as a fork has grown into its own independent project with a redesigned interface, comprehensive Synapse and MAS API coverage, and multi-language support." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:20 +msgid "[!NOTE]" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:22 +msgid "Ketesa does not work with other homeserver implementations than Synapse due to API's incompatibility." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:23 +msgid "The latest version of Ketesa is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:24 +msgid "This playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). Please note that it's currently less feature-rich than Ketesa and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:26 +msgid "Adjusting DNS records (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:28 +msgid "By default, this playbook installs Ketesa on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin) — the legacy path is kept for backward compatibility. 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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:30 +msgid "If you wish to adjust it, see the section [below](#adjusting-the-ketesa-url-optional) for details about DNS configuration." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:32 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:34 +msgid "To enable Ketesa, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:40 +msgid "**Note**: Ketesa requires Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) to function. Access to them is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, for additional security, we normally leave them unexposed, following [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). Because Ketesa needs these APIs to function, when installing Ketesa, the playbook **automatically** exposes the Synapse Admin API publicly for you. Depending on the homeserver implementation you're using (Synapse, Dendrite), this is equivalent to:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:42 +msgid "for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:43 +msgid "for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:45 +msgid "By default, Ketesa installation will be [restricted to only work with one homeserver](https://github.com/etkecc/ketesa/blob/main/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_ketesa_config_restrictBaseUrl` variable." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:47 +msgid "Adjusting the Ketesa URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:49 +msgid "By tweaking the `matrix_ketesa_hostname` and `matrix_ketesa_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:51 +msgid "We recommend updating the path prefix to `/ketesa` to align with the new branding, while the default `/synapse-admin` is kept for backward compatibility:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:57 +msgid "Or to change the hostname entirely:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:65 +msgid "If you've changed the default hostname, you may need to create a CNAME record for the Ketesa domain (`admin.example.com`), which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:67 +msgid "When setting, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:69 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:71 +msgid "There are some additional things you may wish to configure about the component." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:73 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:75 +msgid "`roles/custom/matrix-ketesa/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_ketesa_configuration_extension_json` variable" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:77 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:79 +msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:86 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:88 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:90 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:92 +msgid "After installation, Ketesa will be accessible at: `https://matrix.example.com/synapse-admin/` (or `/ketesa/` if you updated the path prefix as recommended)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:94 +msgid "To use Ketesa, you need to have [registered at least one administrator account](registering-users.md) on your server." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:96 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:98 +msgid "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-ketesa`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:100 +msgid "If you have questions, you can join this community room and feel free to ask: [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc)" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po index 84baf5f02..d3f280c39 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-matrix-authentication-service.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,150 +18,134 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:1 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:8 msgid "Setting up Matrix Authentication Service (optional)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:3 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:10 msgid "The playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) — a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:5 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:12 msgid "Matrix Authentication Service is an implementation of [MSC3861: Next-generation auth for Matrix, based on OAuth 2.0/OIDC](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and still work in progress, tracked at the [areweoidcyet.com](https://areweoidcyet.com/) website." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:7 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:14 msgid "**Before going through with starting to use Matrix Authentication Service**, make sure to read:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:9 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:16 msgid "the [Reasons to use Matrix Authentication Service](#reasons-to-use-matrix-authentication-service) section below" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:10 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:17 msgid "the [Expectations](#expectations) section below" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:11 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:18 msgid "the [FAQ section on areweoidcyet.com](https://areweoidcyet.com/#faqs)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:13 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:20 msgid "**If you've already been using Synapse** and have user accounts in its database, you can [migrate to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:15 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:22 msgid "Reasons to use Matrix Authentication Service" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:17 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:24 msgid "You may be wondering whether you should make the switch to Matrix Authentication Service (MAS) or keep using your existing authentication flow via Synapse (password-based or [OIDC](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)-enabled)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:19 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:26 msgid "Matrix Authentication Service is **still an experimental service** and **not a default** for this Ansible playbook." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:21 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:28 msgid "The [Expectations](#expectations) section contains a list of what works and what doesn't (**some services don't work with MAS yet**), as well as the **relative irreversability** of the migration process." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:23 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:30 msgid "Below, we'll try to **highlight some potential reasons for switching** to Matrix Authentication Service:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:25 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:32 msgid "To use SSO in [Element X](https://element.io/blog/element-x-ignition/). The old [Synapse OIDC](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on) login flow is only supported in old Element clients and will not be supported in Element X. Element X will only support the new SSO-based login flow provided by MAS, so if you want to use SSO with Element X, you will need to switch to MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:27 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:34 msgid "To help drive adoption of the \"Next-generation auth for Matrix\" by switching to what's ultimately coming anyway" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:29 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:36 msgid "To help discover (and potentially fix) MAS integration issues with this Ansible playbook" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:31 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:38 msgid "To help discover (and potentially fix) MAS integration issues with various other Matrix components (bridges, bots, clients, etc.)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:33 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:40 msgid "To reap some of the security benefits that Matrix Authentication Service offers, as outlined in the [Better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/) article." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:35 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:42 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:37 -msgid "⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:44 +msgid "⚠️ the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default for this playbook). Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:39 -msgid "⚠️ **email sending** configured (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:41 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:46 msgid "❌ **disabling all password providers** for Synapse (things like [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc.) More details about this are available in the [Expectations](#expectations) section below." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:43 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:48 msgid "Expectations" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:45 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:50 msgid "This section details what you can expect when switching to the Matrix Authentication Service (MAS)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:47 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:52 msgid "❌ **Synapse password providers will need to be disabled**. You can no longer use [shared-secret-auth](./configuring-playbook-shared-secret-auth.md), [rest-auth](./configuring-playbook-rest-auth.md), [LDAP auth](./configuring-playbook-ldap-auth.md), etc. When the authentication flow is handled by MAS (not by Synapse anymore), it doesn't make sense to extend the Synapse authentication flow with additional modules. Many bridges used to rely on shared-secret-auth for doing double-puppeting (impersonating other users), but most (at least the mautrix bridges) nowadays use [Appservice Double Puppet](./configuring-playbook-appservice-double-puppet.md) as a better alternative. Older/maintained bridges may still rely on shared-secret-auth, as do other services like [matrix-corporal](./configuring-playbook-matrix-corporal.md)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:49 -msgid "❌ Certain **tools like [synapse-admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. synapse-admin already supports [login with access token](https://github.com/etkecc/synapse-admin/pull/58), browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which synapse-admin cannot interact with yet." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:54 +msgid "✅ **[Ketesa](./configuring-playbook-ketesa.md) has full MAS integration**. Ketesa supports OIDC auth, user management, all session types (browser, OAuth2, compatibility), linked email addresses, upstream OAuth provider links, MAS policy data, and user creation through MAS. It is the recommended tool for managing homeservers running MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:51 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:56 msgid "❌ **Some services experience issues when authenticating via MAS**:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:53 -msgid "[Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:55 -msgid "cannot initialize matrix bot error=\"olm account is marked as shared, keys seem to have disappeared from the server\"" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:57 -msgid "[matrix-reminder-bot](./configuring-playbook-bot-matrix-reminder-bot.md) fails to start (see [element-hq/matrix-authentication-service#3439](https://github.com/element-hq/matrix-authentication-service/issues/3439))" -msgstr "" - #: ../../../docs/configuring-playbook-matrix-authentication-service.md:58 -msgid "Other services may be similarly affected. This list is not exhaustive." +msgid "[Reminder bot](configuring-playbook-bot-matrix-reminder-bot.md) seems to be losing some of its state on each restart and may reschedule old reminders once again" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:60 -msgid "❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting)." +msgid "[Postmoogle](./configuring-playbook-bridge-postmoogle.md) works the first time around, but it consistently fails after restarting:" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:62 -msgid "⚠️ **You will need to have email sending configured** (see [Adjusting email-sending settings](./configuring-playbook-email.md)), because **Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user** going through the new SSO-based login flow. It's also possible to [work around email deliverability issues](#working-around-email-deliverability-issues) if your email configuration is not working." +msgid "cannot initialize matrix bot error=\"olm account is marked as shared, keys seem to have disappeared from the server\"" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:64 -msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." +msgid "❌ **Encrypted appservices** do not work yet (related to [MSC4190](https://github.com/matrix-org/matrix-spec-proposals/pull/4190) and [PR 17705 for Synapse](https://github.com/element-hq/synapse/pull/17705)), so all bridges/bots that rely on encryption will fail to start (see [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3658) for Hookshot). You can use these bridges/bots only if you **keep end-to-bridge encryption disabled** (which is the default setting)." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:66 -msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) does not currently seem to preserve the \"admin\" flag for users (as found in the Synapse database). All users are imported as non-admin — see [element-hq/matrix-authentication-service#3440](https://github.com/element-hq/matrix-authentication-service/issues/3440). You may need update the Matrix Authentication Service's database manually and adjust the `can_request_admin` column in the `users` table to `true` for users that need to be administrators (e.g. `UPDATE users SET can_request_admin = true WHERE username = 'someone';`)" +msgid "⚠️ [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) is **possible**, but requires **some playbook-assisted manual work**. Migration is **reversible with no or minor issues if done quickly enough**, but as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:68 -msgid "⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependant on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch." +msgid "⚠️ Delegating user authentication to MAS causes **your Synapse server to be completely dependent on one more service** for its operations. MAS is quick & lightweight and should be stable enough already, but this is something to keep in mind when making the switch." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:70 @@ -181,7 +165,7 @@ msgid "✅ Various clients ([Cinny](./configuring-playbook-client-cinny.md), [El msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:78 -msgid "✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work. Going through the old login flow does not require users to have a verified email address, as [is the case](https://github.com/element-hq/matrix-authentication-service/issues/1505) for the new SSO-based login flow." +msgid "✅ The **old login flow** (called `m.login.password`) **will still continue to work**, so clients (old Element Web, etc.) and bridges/bots that don't support the new OIDC-based login flow will still work" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:80 @@ -209,7 +193,7 @@ msgid "Existing homeserver" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:92 -msgid "Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating wtih Matrix Authentication Service yet." +msgid "Other homeserver implementations ([Dendrite](./configuring-playbook-dendrite.md), [Conduit](./configuring-playbook-conduit.md), etc.) do not support integrating with Matrix Authentication Service yet." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:94 @@ -297,326 +281,346 @@ msgstr "" msgid "The playbook exposes a `matrix_authentication_service_config_upstream_oauth2_providers` variable for controlling this setting." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:269 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:273 msgid "💡 Refer to the [`upstream_oauth2.providers` setting](https://element-hq.github.io/matrix-authentication-service/reference/configuration.html#upstream_oauth2providers) for the most up-to-date schema and example for providers. The value shown above here may be out of date." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:271 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:275 msgid "⚠️ The syntax for existing [OIDC providers configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on) is slightly different, so you will need to adjust your configuration when switching from Synapse OIDC to MAS upstream OAuth2." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:273 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:277 msgid "⚠️ When [migrating an existing homeserver](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) which contains OIDC-sourced users, you will need to:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:275 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:279 msgid "[Configure upstream OIDC provider mapping for syn2mas](#configuring-upstream-oidc-provider-mapping-for-syn2mas)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:276 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:280 msgid "go through the [migrating an existing homeserver](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) process" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:277 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:281 msgid "remove all Synapse OIDC-related configuration (`matrix_synapse_oidc_*`) to prevent it being in conflict with the MAS OIDC configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:279 -msgid "Installing" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:283 +msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:281 -msgid "Now that you've [adjusted the playbook configuration](#adjusting-the-playbook-configuration) and [your DNS records](#adjusting-dns-records), you can run the playbook with [playbook tags](playbook-tags.md) as below:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:285 +msgid "There are some additional things you may wish to configure about the component." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:288 -msgid "**Notes**:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:287 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:289 +msgid "`roles/custom/matrix-authentication-service/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:290 -msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgid "`roles/custom/matrix-authentication-service/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_authentication_service_configuration_extension_yaml` variable" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:292 -msgid "`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." +msgid "Installing" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:294 +msgid "Now that you've [adjusted the playbook configuration](#adjusting-the-playbook-configuration) and [your DNS records](#adjusting-dns-records), you can run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:301 +msgid "**Notes**:" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:303 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:305 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:307 msgid "If you're in the process of migrating an existing Synapse homeserver to MAS, you should now follow the rest of the steps in the [Migrating an existing Synapse homeserver to Matrix Authentication Service](#migrating-an-existing-synapse-homeserver-to-matrix-authentication-service) guide." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:296 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:309 msgid "💡 After installation, you should [verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:298 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:311 msgid "Migrating an existing Synapse homeserver to Matrix Authentication Service" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:300 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:313 msgid "Our migration guide is loosely based on the upstream [Migrating an existing homeserver](https://element-hq.github.io/matrix-authentication-service/setup/migration.html) guide." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:302 -msgid "Migration is done via a tool called `syn2mas`, which the playbook could run for you (in a container)." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:315 +msgid "Migration is done via a sub-command called `syn2mas`, which the playbook could run for you (in a container)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:304 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:317 msgid "The installation + migration steps are like this:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:306 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:319 msgid "[Adjust your configuration](#adjusting-the-playbook-configuration) to **disable the integration between the homeserver and MAS**. This is done by **uncommenting** the `matrix_authentication_service_migration_in_progress: true` line." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:308 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:321 msgid "Perform the initial [installation](#installing). At this point:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:310 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:323 msgid "Matrix Authentication Service will be installed. Its database will be empty, so it cannot validate existing access tokens or authentication users yet." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:312 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:325 msgid "The homeserver will still continue to use its local database for validating existing access tokens." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:314 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:327 msgid "Various [compatibility layer URLs](https://element-hq.github.io/matrix-authentication-service/setup/homeserver.html#set-up-the-compatibility-layer) are not yet installed. New login sessions will still be forwarded to the homeserver, which is capable of completing them." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:316 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:329 msgid "The `matrix-user-creator` role would be suppressed, so that it doesn't automatically attempt to create users (for bots, etc.) in the MAS database. These user accounts likely already exist in Synapse's user database and could be migrated over (via syn2mas, as per the steps below), so creating them in the MAS database would have been unnecessary and potentially problematic (conflicts during the syn2mas migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:318 -msgid "Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration tool does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:331 +msgid "Consider taking a full [backup of your Postgres database](./maintenance-postgres.md#backing-up-postgresql). This is done just in case. The **syn2mas migration command does not delete any data**, so it should be possible to revert to your previous setup by merely disabling MAS and re-running the playbook (no need to restore a Postgres backup). However, do note that as users start logging in (creating new login sessions) via the new MAS setup, disabling MAS and reverting back to the Synapse user database will cause these new sessions to break." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:320 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:333 msgid "[Migrate your data from Synapse to Matrix Authentication Service using syn2mas](#migrate-your-data-from-synapse-to-matrix-authentication-service-using-syn2mas)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:322 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:335 msgid "[Adjust your configuration](#adjusting-the-playbook-configuration) again, to:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:324 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:337 msgid "remove the `matrix_authentication_service_migration_in_progress: false` line" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:326 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:339 msgid "if you had been using [OIDC providers configured in Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), remove all Synapse OIDC-related configuration (`matrix_synapse_oidc_*`) to prevent it being in conflict with the MAS OIDC configuration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:328 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:341 msgid "Perform the [installation](#installing) again. At this point:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:330 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:343 msgid "The homeserver will start delegating authentication to MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:332 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:345 msgid "The compatibility layer URLs will be installed. New login sessions will be completed by MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:334 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:347 msgid "[Verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:336 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:349 msgid "Migrate your data from Synapse to Matrix Authentication Service using syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:338 -msgid "We **don't** ask you to [run the `syn2mas` migration advisor command](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#run-the-migration-advisor), because it only gives you the green light if your Synapse configuration (`homeserver.yaml`) is configured in a way that's compatible with MAS (delegating authentication to MAS; disabling Synapse's password config; etc.). Until we migrate your data with the `syn2mas` tool, we intentionally avoid doing these changes to allow existing user sessions to work." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:340 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:351 msgid "You can invoke the `syn2mas` tool via the playbook by running the playbook's `matrix-authentication-service-mas-cli-syn2mas` tag. We recommend first doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:342 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:353 msgid "Configuring syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:344 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:355 msgid "If you're using [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on), you will need to [Configuring upstream OIDC provider mapping for syn2mas](#configuring-upstream-oidc-provider-mapping-for-syn2mas)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:346 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:357 msgid "If you only have local (non-OIDC) users in your Synapse database, you can likely run `syn2mas` as-is (without doing additional configuration changes)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:348 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:359 msgid "When you're done with potentially configuring `syn2mas`, proceed to doing a [dry-run](#performing-a-syn2mas-dry-run) and then a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:350 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:361 msgid "Configuring upstream OIDC provider mapping for syn2mas" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:352 -msgid "If you have existing OIDC users in your Synapse user database (which will be the case if when using [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)), you may need to pass an additional `--upstreamProviderMapping` argument to the `syn2mas` tool to tell it which provider (on the Synapse side) maps to which other provider on the MAS side." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:363 +msgid "Since Matrix Authentication Service v0.16.0 (which replaced the standalone `syn2mas` tool with a `mas-cli syn2mas` sub-command), OIDC configuration (mapping from your old OIDC configuration to your new one, etc) is meant to be configured in the Matrix Authentication Service configuration (via `matrix_authentication_service_config_upstream_oauth2_providers`) as a `synapse_idp_id` property for each provider." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:354 -msgid "If you don't do this, `syn2mas` would report errors like this one:" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:365 +msgid "You can refer to the [Map any upstream SSO providers](https://element-hq.github.io/matrix-authentication-service/setup/migration.html#map-any-upstream-sso-providers) section of the MAS documentation for figuring out how to set the `synapse_idp_id` value in `matrix_authentication_service_config_upstream_oauth2_providers` correctly." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:356 -msgid "[FATAL] migrate - [Failed to import external id 4264b0f0-4f11-4ddd-aedb-b500e4d07c25 with oidc-keycloak for user @alice:example.com: Error: Unknown upstream provider oidc-keycloak]" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:358 -msgid "Below is an example situation and a guide for how to solve it." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:360 -msgid "If in `matrix_synapse_oidc_providers` your provider `idp_id` is (was) named `keycloak`, in the Synapse database users would be associated with the `oidc-keycloak` provider (note the `oidc-` prefix that was added automatically by Synapse to your `idp_id` value)." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:362 -msgid "The same OIDC provider may have an `id` of `01HFVBY12TMNTYTBV8W921M5FA` on the MAS side, as defined in `matrix_authentication_service_config_upstream_oauth2_providers` (see the [Upstream OAuth2 configuration](#upstream-oauth2-configuration) section above)." -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:364 -msgid "To tell `syn2mas` how the Synapse-configured OIDC provider maps to the new MAS-configured OIDC provider, add this additional configuration to your `vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:373 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:367 msgid "Performing a syn2mas dry-run" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:375 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:369 msgid "Having [configured syn2mas](#configuring-syn2mas), we recommend doing a [dry-run](https://en.wikipedia.org/wiki/Dry_run_(testing)) first to verify that everything will work out as expected." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:377 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:371 msgid "A dry-run would not cause downtime, because it avoids stopping Synapse." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:379 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:373 msgid "To perform a dry-run, run:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:385 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:379 msgid "Observe the command output (especially the last line of the the syn2mas output). If you are confident that the migration will work out as expected, you can proceed with a [real migration](#performing-a-real-syn2mas-migration)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:387 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:381 msgid "Performing a real syn2mas migration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:389 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:383 msgid "Before performing a real migration make sure:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:391 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:385 msgid "you've familiarized yourself with the [expectations](#expectations)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:393 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:387 msgid "you've performed a Postgres backup, just in case" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:395 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:389 msgid "you're aware of the irreversibility of the migration process without disruption after users have created new login sessions via the new MAS setup" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:397 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:391 msgid "you've [configured syn2mas](#configuring-syn2mas), especially if you've used [OIDC with Synapse](./configuring-playbook-synapse.md#synapse--openid-connect-for-single-sign-on)" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:399 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:393 msgid "you've performed a [syn2mas dry-run](#performing-a-syn2mas-dry-run) and don't see any issues in its output" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:395 msgid "To perform a real migration, run the `matrix-authentication-service-mas-cli-syn2mas` tag **without** the `matrix_authentication_service_syn2mas_migrate_dry_run` variable:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407 -msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors for users that were already migrated (e.g. \"Error: Unknown upstream provider oauth-delegated\")." +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:401 +msgid "After `syn2mas` completes, Synapse will intentionally remain stopped to avoid new registrations or other authentication changes from being accepted before the migration is completed. Continue with the next steps in this guide before re-running the installation." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:409 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:403 +msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors (e.g. \"Error: The MAS database is not empty: rows found in at least `users`. Please drop and recreate the database, then try again.\")." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:405 msgid "Verify that Matrix Authentication Service is installed correctly" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:411 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:407 msgid "After [installation](#installing), run the `doctor` subcommand of the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) to verify that MAS is installed correctly." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:413 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:409 msgid "You can do it:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:415 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:411 msgid "either via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag: `just run-tags matrix-authentication-service-mas-cli-doctor`" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:417 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:413 msgid "or by running the `mas-cli` script on the server (which invokes the `mas-cli` tool inside a container): `/matrix/matrix-authentication-service/bin/mas-cli doctor`" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:419 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:415 msgid "If successful, you should see some output that looks like this:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:427 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:429 msgid "Management" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 msgid "You can use the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) (exposed via the `/matrix/matrix-authentication-service/bin/mas-cli` script) to perform administrative tasks against MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 msgid "This documentation page already mentions:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 msgid "the `mas-cli doctor` sub-command in the [Verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly) section, which you can run via the CLI and via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 msgid "the `mas-cli manage register-user` sub-command in the [Registering users](./registering-users.md) documentation" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 msgid "There are other sub-commands available. Run `/matrix/matrix-authentication-service/bin/mas-cli` to get an overview." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 msgid "User registration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 msgid "After Matrix Authentication Service is [installed](#installing), users need to be managed there (unless you're managing them in an [upstream OAuth2 provider](#upstream-oauth2-configuration))." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 msgid "You can register users new users as described in the [Registering users](./registering-users.md) documentation (via `mas-cli manage register-user` or the Ansible playbook's `register-user` tag)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 msgid "Working around email deliverability issues" msgstr "" +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 +msgid "Matrix Authentication Service only sends emails when:" +msgstr "" + #: ../../../docs/configuring-playbook-matrix-authentication-service.md:451 -msgid "Because Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user, you may need to work around email deliverability issues if [your email-sending configuration](./configuring-playbook-email.md) is not working." +msgid "it verifies email addresses for users who are self-registering with a password" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:453 -msgid "Matrix Authentication Service attempts to verify email addresses by sending a verification email to the address specified by the user whenever they log in to an account without a verified email address." +msgid "a user tries to add an email to their account" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:455 -msgid "If email delivery is not working, **you can retrieve the email configuration code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`)." +msgid "If Matrix Authentication Service tries to send an email and it fails because [your email-sending configuration](./configuring-playbook-email.md) is not working, you may need to work around email deliverability." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:457 +msgid "If email delivery is not working, **you can retrieve the email verification code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`)." +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:459 msgid "Alternatively, you can use the [`mas-cli` management tool](#management) to manually verify email addresses for users. Example: `/matrix/matrix-authentication-service/bin/mas-cli manage verify-email some.username email@example.com`" msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:461 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:463 +msgid "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-authentication-service`." +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-synapse.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-synapse.po index c2a063525..cd6cfae48 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-synapse.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook-synapse.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,261 +18,305 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook-synapse.md:1 +#: ../../../docs/configuring-playbook-synapse.md:12 msgid "Configuring Synapse (optional)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:3 +#: ../../../docs/configuring-playbook-synapse.md:14 msgid "By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, so that it works for the general case. If that's okay, you can skip this document." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:5 +#: ../../../docs/configuring-playbook-synapse.md:16 +msgid "💡 See this page for details about maintaining Synapse: [Synapse maintenance](maintenance-synapse.md)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:18 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:7 +#: ../../../docs/configuring-playbook-synapse.md:20 msgid "Load balancing with workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:9 +#: ../../../docs/configuring-playbook-synapse.md:22 msgid "To have Synapse gracefully handle thousands of users, worker support should be enabled. It factors out some homeserver tasks and spreads the load of incoming client and server-to-server traffic between multiple processes. More information can be found in the [official Synapse workers documentation](https://github.com/element-hq/synapse/blob/master/docs/workers.md) and [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:11 +#: ../../../docs/configuring-playbook-synapse.md:24 msgid "To enable Synapse worker support, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:19 +#: ../../../docs/configuring-playbook-synapse.md:32 msgid "By default, this enables the `one-of-each` [worker preset](#worker-presets), but you may wish to use another preset or [control the number of worker instances](#controlling-the-number-of-worker-instances)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:21 +#: ../../../docs/configuring-playbook-synapse.md:34 msgid "Worker presets" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:23 +#: ../../../docs/configuring-playbook-synapse.md:36 msgid "We support a few configuration presets (`matrix_synapse_workers_preset: one-of-each` being the default configuration right now):" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:25 +#: ../../../docs/configuring-playbook-synapse.md:38 msgid "(federation-only) `little-federation-helper` — a very minimal worker configuration to improve federation performance" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:26 +#: ../../../docs/configuring-playbook-synapse.md:39 msgid "(generic) `one-of-each` — defaults to one worker of each supported type — no smart routing, just generic workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:27 +#: ../../../docs/configuring-playbook-synapse.md:40 msgid "(specialized) `specialized-workers` — defaults to one worker of each supported type, but disables generic workers and uses [specialized workers](#specialized-workers) instead" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:29 +#: ../../../docs/configuring-playbook-synapse.md:42 msgid "These presets represent a few common configurations. There are many worker types which can be mixed and matched based on your needs." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:31 +#: ../../../docs/configuring-playbook-synapse.md:44 msgid "Generic workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:33 +#: ../../../docs/configuring-playbook-synapse.md:46 msgid "Previously, the playbook only supported the most basic type of load-balancing. We call it **generic load-balancing** below, because incoming HTTP requests are sent to a generic worker. Load-balancing was done based on the requestor's IP address. This is simple, but not necessarily optimal. If you're accessing your account from multiple IP addresses (e.g. your mobile phone being on a different network than your PC), these separate requests may potentially be routed to different workers, each of which would need to cache roughly the same data." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:35 +#: ../../../docs/configuring-playbook-synapse.md:48 msgid "This is **still the default load-balancing method (preset) used by the playbook**." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:37 +#: ../../../docs/configuring-playbook-synapse.md:50 msgid "To use generic load-balancing, do not specify `matrix_synapse_workers_preset` to make it use the default value (`one-of-each`), or better yet — explicitly set it as `one-of-each`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:39 +#: ../../../docs/configuring-playbook-synapse.md:52 msgid "You may also consider [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:41 +#: ../../../docs/configuring-playbook-synapse.md:54 msgid "Specialized workers" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:43 -msgid "The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requestor's IP adddress, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requestor and/or on the resource (room, etc.) being requested." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:45 -msgid "The playbook supports these **4 types** of specialized workers:" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:47 -msgid "Room workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:48 -msgid "Sync workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync))" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:49 -msgid "Client readers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**)" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:50 -msgid "Federation readers — handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**)" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:52 -msgid "To use specialized load-balancing, consider enabling the `specialized-workers` [worker preset](#worker-presets) and potentially [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse.md:54 -msgid "Controlling the number of worker instances" -msgstr "" - #: ../../../docs/configuring-playbook-synapse.md:56 -msgid "If you'd like more customization power, you can start with one of the [worker presets](#worker-presets) and then tweak various `matrix_synapse_workers_*_count` variables manually." +msgid "The playbook now supports a smarter **specialized load-balancing** inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). Instead of routing requests to one or more [generic workers](#generic-workers) based only on the requester's IP address, specialized load-balancing routes to **4 different types of specialized workers** based on **smarter criteria** — the access token (username) of the requester and/or on the resource (room, etc.) being requested." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:58 -msgid "To find what variables are available for you to override in your own `vars.yml` configuration file, see the [`defaults/main.yml` file for the `matrix-synapse` Ansible role](../roles/custom/matrix-synapse/defaults/main.yml)." +msgid "The playbook supports these **4 types** of specialized workers:" msgstr "" #: ../../../docs/configuring-playbook-synapse.md:60 -msgid "The only thing you **cannot** do is mix [generic workers](#generic-workers) and [specialized workers](#specialized-workers)." +msgid "Room workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) & [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs dedicated to handling specific rooms" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:61 +msgid "Sync workers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs related to synchronization (most notably [the `/sync` endpoint](https://spec.matrix.org/v1.9/client-server-api/#get_matrixclientv3sync))" msgstr "" #: ../../../docs/configuring-playbook-synapse.md:62 +msgid "Client readers — handles various [Client-Server](https://spec.matrix.org/v1.9/client-server-api/) APIs which are not for specific rooms (handled by **room workers**) or for synchronization (handled by **sync workers**)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:63 +msgid "Federation readers — handles various [Federation](https://spec.matrix.org/v1.9/server-server-api) APIs which are not for specific rooms (handled by **room workers**)" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:65 +msgid "To use specialized load-balancing, consider enabling the `specialized-workers` [worker preset](#worker-presets) and potentially [tweaking the number of workers of each type](#controlling-the-number-of-worker-instances) from the default (one of each)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:67 +msgid "Controlling the number of worker instances" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:69 +msgid "If you'd like more customization power, you can start with one of the [worker presets](#worker-presets) and then tweak various `matrix_synapse_workers_*_count` variables manually." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:71 +msgid "To find what variables are available for you to override in your own `vars.yml` configuration file, see the [`defaults/main.yml` file for the `matrix-synapse` Ansible role](../roles/custom/matrix-synapse/defaults/main.yml)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:73 +msgid "The only thing you **cannot** do is mix [generic workers](#generic-workers) and [specialized workers](#specialized-workers)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:75 msgid "Effect of enabling workers on the rest of your server" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:64 +#: ../../../docs/configuring-playbook-synapse.md:77 msgid "When Synapse workers are enabled, the integrated [Postgres database is tuned](maintenance-postgres.md#tuning-postgresql), so that the maximum number of Postgres connections are increased from `200` to `500`. If you need to decrease or increase the number of maximum Postgres connections further, use the `postgres_max_connections` variable." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:66 -msgid "A separate Ansible role (`matrix-synapse-reverse-proxy-companion`) and component handles load-balancing for workers. This role/component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." +#: ../../../docs/configuring-playbook-synapse.md:79 +msgid "The `matrix-synapse` role also manages the `matrix-synapse-reverse-proxy-companion` component for load-balancing with workers. This component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:68 +#: ../../../docs/configuring-playbook-synapse.md:81 msgid "In case any problems occur, make sure to have a look at the [list of synapse issues about workers](https://github.com/element-hq/synapse/issues?q=workers+in%3Atitle) and your `journalctl --unit 'matrix-*'`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:70 +#: ../../../docs/configuring-playbook-synapse.md:83 +msgid "Limit joining heavy rooms on constrained hosts" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:85 +msgid "If your server is underpowered, joining heavy rooms can cause Synapse to consume a lot of resources and be unavailable for long (while it catches up)." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:87 +msgid "To avoid this, Synapse can be configured to reject joins for remote rooms that are too complex before users enter them." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:89 +msgid "Complexity is computed as `current_state_events / 500` (Synapse state event count for current room state). When the resulting value is higher than `matrix_synapse_limit_remote_rooms_complexity` and `matrix_synapse_limit_remote_rooms_enabled` is `true`, Synapse blocks joining the room." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:91 +msgid "We recommend using this as a guardrail on low-resource servers:" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:106 msgid "Synapse + OpenID Connect for Single-Sign-On" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:72 +#: ../../../docs/configuring-playbook-synapse.md:108 msgid "💡 An alternative to setting up OIDC in Synapse is to use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS). Newer clients (like Element X) only support SSO-based authentication via MAS and not via the legacy Synapse OIDC setup described below. That said, MAS is still a new experimental service which comes with its own downsides. Consult its documentation to learn if it will be a good fit for your deployment." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:74 +#: ../../../docs/configuring-playbook-synapse.md:110 msgid "If you'd like to use OpenID Connect authentication with Synapse, you'll need some additional configuration." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:76 +#: ../../../docs/configuring-playbook-synapse.md:112 msgid "This example configuration is for [keycloak](https://www.keycloak.org/), an opensource Identity Provider maintained by Red Hat." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:78 +#: ../../../docs/configuring-playbook-synapse.md:114 msgid "For more detailed documentation on available options and how to setup keycloak, see the [Synapse documentation on OpenID Connect with keycloak](https://github.com/element-hq/synapse/blob/develop/docs/openid.md#keycloak)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:80 -#, python-format +#: ../../../docs/configuring-playbook-synapse.md:116 +#, python-format, python-brace-format msgid "In case you encounter errors regarding the parsing of the variables, you can try to add `{% raw %}` and `{% endraw %}` blocks around them. For example ;" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:101 +#: ../../../docs/configuring-playbook-synapse.md:137 msgid "Customizing templates" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:103 +#: ../../../docs/configuring-playbook-synapse.md:139 msgid "[Templates](https://github.com/element-hq/synapse/blob/develop/docs/templates.md) are used by Synapse for showing **certain web pages** handled by the server, as well as for **email notifications**." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:105 +#: ../../../docs/configuring-playbook-synapse.md:141 msgid "This playbook allows you to customize the default templates (see the [`synapse/res/templates` directory](https://github.com/element-hq/synapse/tree/develop/synapse/res/templates))." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:107 +#: ../../../docs/configuring-playbook-synapse.md:143 msgid "If template customization is enabled, the playbook will build a custom container image based on the official one." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:109 +#: ../../../docs/configuring-playbook-synapse.md:145 msgid "Your custom templates need to live in a public or private git repository. This repository will be cloned during Synapse image customization (during the playbook run)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:111 +#: ../../../docs/configuring-playbook-synapse.md:147 msgid "To enable template customizations, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:137 +#: ../../../docs/configuring-playbook-synapse.md:173 msgid "As mentioned in Synapse's Templates documentation, Synapse will fall back to its own templates if a template is not found in that directory. Due to this, it's recommended to only store and maintain template files in your repository if you need to make custom changes. Other files (which you don't need to change), should not be duplicated, so that you don't need to worry about getting out-of-sync with the original Synapse templates." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:139 +#: ../../../docs/configuring-playbook-synapse.md:175 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:141 +#: ../../../docs/configuring-playbook-synapse.md:177 msgid "There are some additional things you may wish to configure about the server." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:143 +#: ../../../docs/configuring-playbook-synapse.md:179 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:145 +#: ../../../docs/configuring-playbook-synapse.md:181 msgid "`roles/custom/matrix-synapse/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:146 +#: ../../../docs/configuring-playbook-synapse.md:182 msgid "`roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2` for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_synapse_configuration_extension_yaml` variable" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:148 +#: ../../../docs/configuring-playbook-synapse.md:184 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:150 +#: ../../../docs/configuring-playbook-synapse.md:186 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:157 +#: ../../../docs/configuring-playbook-synapse.md:193 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:159 +#: ../../../docs/configuring-playbook-synapse.md:195 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:161 +#: ../../../docs/configuring-playbook-synapse.md:197 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:163 -msgid "Synapse Admin" +#: ../../../docs/configuring-playbook-synapse.md:199 +msgid "Ketesa" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:165 -msgid "With [Synapse Admin](configuring-playbook-synapse-admin.md), certain Synapse administration tasks (managing users and rooms, etc.) can be performed via a web user-interace." +#: ../../../docs/configuring-playbook-synapse.md:201 +msgid "[Ketesa](configuring-playbook-ketesa.md) is a fully-featured web UI for administrating your homeserver — managing users, rooms, media, sessions, and more." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:167 -msgid "The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md)." +#: ../../../docs/configuring-playbook-synapse.md:203 +msgid "The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:169 +#: ../../../docs/configuring-playbook-synapse.md:205 msgid "Monitoring Synapse Metrics with Prometheus and Grafana" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:171 +#: ../../../docs/configuring-playbook-synapse.md:207 msgid "This playbook allows you to enable Synapse metrics, which can provide insight into the performance and activity of Synapse." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:173 -msgid "To enable Synapse runtime metrics see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md)" +#: ../../../docs/configuring-playbook-synapse.md:209 +msgid "To enable Synapse runtime metrics, see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) and [its subsection](configuring-playbook-prometheus-grafana.md#expose-metrics-of-other-services-roles)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:175 +#: ../../../docs/configuring-playbook-synapse.md:211 msgid "To enable Synapse usage metrics, see: [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)" msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:213 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:215 +msgid "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-synapse`." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:217 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:219 +msgid "Because Synapse is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:221 +msgid "If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increase the logging verbosity to `INFO`. To do so, add the following configuration to your `vars.yml` file and re-run the playbook:" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook.po b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook.po index 2e19c7b85..54896c345 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/configuring-playbook.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,528 +18,568 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/configuring-playbook.md:1 +#: ../../../docs/configuring-playbook.md:17 msgid "Configuring the playbook" msgstr "" -#: ../../../docs/configuring-playbook.md:3 -msgid "[Prerequisites](prerequisites.md) > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:5 -msgid "If you've configured your DNS records and retrieved the playbook's source code to your computer, you can start configuring the playbook. To do so, follow these steps inside the playbook directory:" -msgstr "" - -#: ../../../docs/configuring-playbook.md:7 -msgid "create a directory to hold your configuration (`mkdir -p inventory/host_vars/matrix.example.com` where `example.com` is your \"base domain\")" -msgstr "" - -#: ../../../docs/configuring-playbook.md:9 -msgid "copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:11 -msgid "edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files and see if there's something you'd like to copy over and override in your `vars.yml` configuration file." -msgstr "" - -#: ../../../docs/configuring-playbook.md:13 -msgid "copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:15 -msgid "edit the inventory hosts file (`inventory/hosts`) to your liking" -msgstr "" - -#: ../../../docs/configuring-playbook.md:17 -msgid "(optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system." -msgstr "" - #: ../../../docs/configuring-playbook.md:19 -msgid "(optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh`](../bin/ansible-all-hosts.sh) script [in the installation step](installing.md)." +msgid "[Prerequisites](prerequisites.md) > [Configuring DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > Configuring the playbook > [Installing](installing.md)" msgstr "" #: ../../../docs/configuring-playbook.md:21 -msgid "For a basic Matrix installation, that's all you need." +msgid "If you've configured your DNS records and retrieved the playbook's source code to your computer, you can start configuring the playbook. To do so, follow these steps inside the playbook directory:" msgstr "" #: ../../../docs/configuring-playbook.md:23 -msgid "For a more custom setup, see the [Other configuration options](#other-configuration-options) below." +msgid "create a directory to hold your configuration (`mkdir -p inventory/host_vars/matrix.example.com` where `example.com` is your \"base domain\")" msgstr "" #: ../../../docs/configuring-playbook.md:25 -msgid "[▶️](installing.md) When you're done with all the configuration you'd like to do, continue with [Installing](installing.md)." +msgid "copy the sample configuration file (`cp examples/vars.yml inventory/host_vars/matrix.example.com/vars.yml`)" msgstr "" #: ../../../docs/configuring-playbook.md:27 -msgid "Other configuration options" +msgid "edit the configuration file (`inventory/host_vars/matrix.example.com/vars.yml`) to your liking. You may also take a look at the various `roles/*/ROLE_NAME_HERE/defaults/main.yml` files (after importing external roles with `just update` into `roles/galaxy`) and see if there's something you'd like to copy over and override in your `vars.yml` configuration file." msgstr "" #: ../../../docs/configuring-playbook.md:29 -msgid "**Note**: some of the roles like one for integrating Etherpad or Jitsi are managed by their own repositories, and the configuration files for them cannot be found locally (in `roles/galaxy`) until those roles are fetched from the upstream projects. Check [requirements.yml](../requirements.yml) for the URLs of those roles." +msgid "copy the sample inventory hosts file (`cp examples/hosts inventory/hosts`)" msgstr "" #: ../../../docs/configuring-playbook.md:31 -msgid "Core service adjustments" +msgid "edit the inventory hosts file (`inventory/hosts`) to your liking" msgstr "" #: ../../../docs/configuring-playbook.md:33 -msgid "Homeserver configuration:" +msgid "(optional, advanced) you may wish to keep your `inventory` directory under version control with [git](https://git-scm.com/) or any other version-control system. The `inventory` directory path is ignored via `.gitignore`, so it won't be part of the playbook repository. You can safely create a new git repository inside that directory with `git init`, etc." msgstr "" -#: ../../../docs/configuring-playbook.md:34 -msgid "[Configuring Synapse](configuring-playbook-synapse.md), if you're going with the default/recommended homeserver implementation" +#: ../../../docs/configuring-playbook.md:35 +msgid "(optional, advanced) to run Ansible against multiple servers with different `sudo` credentials, you can copy the sample inventory hosts yaml file for each of your hosts: (`cp examples/host.yml inventory/my_host1.yml` …) and use the [`ansible-all-hosts.sh`](../bin/ansible-all-hosts.sh) script [in the installation step](installing.md)." msgstr "" -#: ../../../docs/configuring-playbook.md:36 -msgid "[Configuring Conduit](configuring-playbook-conduit.md), if you've switched to the [Conduit](https://conduit.rs) homeserver implementation" +#: ../../../docs/configuring-playbook.md:37 +msgid "For a basic Matrix installation, that's all you need." msgstr "" -#: ../../../docs/configuring-playbook.md:38 -msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md), if you've switched to the [conduwuit](https://conduwuit.puppyirl.gay/) homeserver implementation" +#: ../../../docs/configuring-playbook.md:39 +msgid "For a more custom setup, see the [Other configuration options](#other-configuration-options) below." msgstr "" -#: ../../../docs/configuring-playbook.md:40 -msgid "[Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation" -msgstr "" - -#: ../../../docs/configuring-playbook.md:42 -msgid "Server components:" +#: ../../../docs/configuring-playbook.md:41 +msgid "[▶️](installing.md) When you're done with all the configuration you'd like to do, continue with [Installing](installing.md)." msgstr "" #: ../../../docs/configuring-playbook.md:43 -msgid "[Using an external PostgreSQL server](configuring-playbook-external-postgres.md)" +msgid "Other configuration options" msgstr "" #: ../../../docs/configuring-playbook.md:45 -msgid "[Configuring a TURN server](configuring-playbook-turn.md) (advanced)" +msgid "**Note**: some of the roles like one for integrating Etherpad or Jitsi are managed by their own repositories, and the configuration files for them cannot be found locally (in `roles/galaxy`) until those roles are fetched from the upstream projects. Check [requirements.yml](../requirements.yml) for the URLs of those roles." msgstr "" #: ../../../docs/configuring-playbook.md:47 -msgid "[Configuring the Traefik reverse-proxy](configuring-playbook-traefik.md) (advanced)" +msgid "Core service adjustments" msgstr "" #: ../../../docs/configuring-playbook.md:49 -msgid "[Using your own webserver, instead of this playbook's Traefik reverse-proxy](configuring-playbook-own-webserver.md) (advanced)" +msgid "Homeserver configuration:" msgstr "" -#: ../../../docs/configuring-playbook.md:51 -msgid "[Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) (advanced)" +#: ../../../docs/configuring-playbook.md:50 +msgid "[Configuring Synapse](configuring-playbook-synapse.md), if you're going with the default/recommended homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:53 -msgid "[Adjusting email-sending settings](configuring-playbook-email.md)" +#: ../../../docs/configuring-playbook.md:52 +msgid "[Configuring Conduit](configuring-playbook-conduit.md), if you've switched to the [Conduit](https://conduit.rs) homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:55 -msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md)" +#: ../../../docs/configuring-playbook.md:54 +msgid "[Configuring continuwuity](configuring-playbook-continuwuity.md), if you've switched to the [continuwuity](https://continuwuity.org) homeserver implementation" msgstr "" -#: ../../../docs/configuring-playbook.md:57 -msgid "[Setting up Dynamic DNS](configuring-playbook-dynamic-dns.md)" +#: ../../../docs/configuring-playbook.md:56 +msgid "[Configuring Dendrite](configuring-playbook-dendrite.md), if you've switched to the [Dendrite](https://matrix-org.github.io/dendrite) homeserver implementation" +msgstr "" + +#: ../../../docs/configuring-playbook.md:58 +msgid "Server components:" msgstr "" #: ../../../docs/configuring-playbook.md:59 +msgid "[Using an external PostgreSQL server](configuring-playbook-external-postgres.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:61 +msgid "[Configuring a TURN server](configuring-playbook-turn.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:63 +msgid "[Configuring the Traefik reverse-proxy](configuring-playbook-traefik.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:65 +msgid "[Using your own webserver, instead of this playbook's Traefik reverse-proxy](configuring-playbook-own-webserver.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:67 +msgid "[Adjusting SSL certificate retrieval](configuring-playbook-ssl-certificates.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:69 +msgid "[Adjusting email-sending settings](configuring-playbook-email.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:71 +msgid "[Setting up Dynamic DNS](configuring-playbook-dynamic-dns.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:73 msgid "Server connectivity:" msgstr "" -#: ../../../docs/configuring-playbook.md:60 +#: ../../../docs/configuring-playbook.md:74 msgid "[Enabling Telemetry for your Matrix server](configuring-playbook-telemetry.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:62 +#: ../../../docs/configuring-playbook.md:76 msgid "[Controlling Matrix federation](configuring-playbook-federation.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:64 -msgid "Clients" -msgstr "" - -#: ../../../docs/configuring-playbook.md:66 -msgid "Web clients for Matrix that you can host on your own domains." -msgstr "" - -#: ../../../docs/configuring-playbook.md:68 -msgid "[Configuring Element Web](configuring-playbook-client-element-web.md), if you're going with the default/recommended client" -msgstr "" - -#: ../../../docs/configuring-playbook.md:70 -msgid "[Setting up Hydrogen](configuring-playbook-client-hydrogen.md), if you've enabled [Hydrogen](https://github.com/element-hq/hydrogen-web), a lightweight Matrix client with legacy and mobile browser support" -msgstr "" - -#: ../../../docs/configuring-playbook.md:72 -msgid "[Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface" -msgstr "" - -#: ../../../docs/configuring-playbook.md:74 -msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" -msgstr "" - -#: ../../../docs/configuring-playbook.md:76 -msgid "Authentication and user-related" -msgstr "" - #: ../../../docs/configuring-playbook.md:78 -msgid "Extend and modify how users are authenticated on your homeserver." +msgid "[Configuring IPv6](./configuring-ipv6.md)" msgstr "" #: ../../../docs/configuring-playbook.md:80 -msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)" +msgid "Clients" msgstr "" #: ../../../docs/configuring-playbook.md:82 -msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)" +msgid "Web clients for Matrix that you can host on your own domains." msgstr "" #: ../../../docs/configuring-playbook.md:84 -msgid "[Setting up Synapse Admin](configuring-playbook-synapse-admin.md)" +msgid "[Configuring Element Web](configuring-playbook-client-element-web.md), if you're going with the default/recommended client" msgstr "" #: ../../../docs/configuring-playbook.md:86 -msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" +msgid "[Setting up Hydrogen](configuring-playbook-client-hydrogen.md), if you've enabled [Hydrogen](https://github.com/element-hq/hydrogen-web), a lightweight Matrix client with legacy and mobile browser support" msgstr "" #: ../../../docs/configuring-playbook.md:88 -msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" +msgid "[Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabled [Cinny](https://github.com/ajbura/cinny), a web client focusing primarily on simple, elegant and secure interface" msgstr "" #: ../../../docs/configuring-playbook.md:90 -msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" +msgid "[Setting up Sable](configuring-playbook-client-sable.md), if you've enabled [Sable](https://github.com/7w1/sable), a web client focusing primarily on simple, elegant and secure interface" msgstr "" #: ../../../docs/configuring-playbook.md:92 -msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" +msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" msgstr "" #: ../../../docs/configuring-playbook.md:94 +msgid "[Setting up FluffyChat Web](configuring-playbook-client-fluffychat-web.md), if you've enabled [FluffyChat Web](https://github.com/krille-chan/fluffychat), a cute cross-platform messenger (web, iOS, Android) for Matrix written in [Flutter](https://flutter.dev/)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:97 +msgid "Authentication and user-related" +msgstr "" + +#: ../../../docs/configuring-playbook.md:99 +msgid "Extend and modify how users are authenticated on your homeserver." +msgstr "" + +#: ../../../docs/configuring-playbook.md:101 +msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:103 +msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:105 +msgid "[Setting up Ketesa](configuring-playbook-ketesa.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:107 +msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:109 +msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:111 +msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:113 +msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:115 msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:96 +#: ../../../docs/configuring-playbook.md:117 msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:98 +#: ../../../docs/configuring-playbook.md:119 msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:100 +#: ../../../docs/configuring-playbook.md:121 msgid "File Storage" msgstr "" -#: ../../../docs/configuring-playbook.md:102 +#: ../../../docs/configuring-playbook.md:123 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" -#: ../../../docs/configuring-playbook.md:104 -msgid "[Storing Matrix media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:106 -msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:108 +#: ../../../docs/configuring-playbook.md:125 msgid "[Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:110 +#: ../../../docs/configuring-playbook.md:127 +msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:129 +msgid "[Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:131 +msgid "[Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:133 msgid "Bridging other networks" msgstr "" -#: ../../../docs/configuring-playbook.md:112 +#: ../../../docs/configuring-playbook.md:135 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" -#: ../../../docs/configuring-playbook.md:114 +#: ../../../docs/configuring-playbook.md:137 msgid "[Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges" msgstr "" -#: ../../../docs/configuring-playbook.md:116 +#: ../../../docs/configuring-playbook.md:139 +msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:141 msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:118 +#: ../../../docs/configuring-playbook.md:143 msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:120 +#: ../../../docs/configuring-playbook.md:145 msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:122 +#: ../../../docs/configuring-playbook.md:147 msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:124 +#: ../../../docs/configuring-playbook.md:149 msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:126 +#: ../../../docs/configuring-playbook.md:151 msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:128 +#: ../../../docs/configuring-playbook.md:153 msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:130 +#: ../../../docs/configuring-playbook.md:155 msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:132 +#: ../../../docs/configuring-playbook.md:157 msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:134 +#: ../../../docs/configuring-playbook.md:159 msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:136 +#: ../../../docs/configuring-playbook.md:161 msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:138 +#: ../../../docs/configuring-playbook.md:163 msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:140 +#: ../../../docs/configuring-playbook.md:165 msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:142 -msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:144 +#: ../../../docs/configuring-playbook.md:167 msgid "[Setting up Appservice Kakaotalk bridging](configuring-playbook-bridge-appservice-kakaotalk.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:146 +#: ../../../docs/configuring-playbook.md:169 msgid "[Setting up Beeper LinkedIn bridging](configuring-playbook-bridge-beeper-linkedin.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:148 +#: ../../../docs/configuring-playbook.md:171 msgid "[Setting up matrix-hookshot](configuring-playbook-bridge-hookshot.md) — a bridge between Matrix and multiple project management services, such as [GitHub](https://github.com), [GitLab](https://about.gitlab.com) and [JIRA](https://www.atlassian.com/software/jira)." msgstr "" -#: ../../../docs/configuring-playbook.md:150 -msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:152 -msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:154 -msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:156 -msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:158 +#: ../../../docs/configuring-playbook.md:173 msgid "[Setting up MX Puppet GroupMe bridging](configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:160 +#: ../../../docs/configuring-playbook.md:175 +msgid "[Setting up Steam bridging](configuring-playbook-bridge-steam.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:177 msgid "[Setting up MX Puppet Steam bridging](configuring-playbook-bridge-mx-puppet-steam.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:162 -msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:164 +#: ../../../docs/configuring-playbook.md:179 msgid "[Setting up Postmoogle email bridging](configuring-playbook-bridge-postmoogle.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:166 +#: ../../../docs/configuring-playbook.md:181 msgid "[Setting up Matrix SMS bridging](configuring-playbook-bridge-matrix-bridge-sms.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:168 +#: ../../../docs/configuring-playbook.md:183 msgid "[Setting up Heisenbridge bouncer-style IRC bridging](configuring-playbook-bridge-heisenbridge.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:170 +#: ../../../docs/configuring-playbook.md:185 msgid "[Setting up WeChat bridging](configuring-playbook-bridge-wechat.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:172 +#: ../../../docs/configuring-playbook.md:187 msgid "Bots" msgstr "" -#: ../../../docs/configuring-playbook.md:174 +#: ../../../docs/configuring-playbook.md:189 msgid "Bots provide various additional functionality to your installation." msgstr "" -#: ../../../docs/configuring-playbook.md:176 +#: ../../../docs/configuring-playbook.md:191 msgid "[Setting up baibot](configuring-playbook-bot-baibot.md) — a bot through which you can talk to various [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) services ([OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) and [others](https://github.com/etkecc/baibot/blob/main/docs/providers.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:178 +#: ../../../docs/configuring-playbook.md:193 msgid "[Setting up matrix-reminder-bot](configuring-playbook-bot-matrix-reminder-bot.md) — a bot to remind you about stuff" msgstr "" -#: ../../../docs/configuring-playbook.md:180 +#: ../../../docs/configuring-playbook.md:195 msgid "[Setting up matrix-registration-bot](configuring-playbook-bot-matrix-registration-bot.md) — a bot to create and manage registration tokens to invite users" msgstr "" -#: ../../../docs/configuring-playbook.md:182 +#: ../../../docs/configuring-playbook.md:197 msgid "[Setting up maubot](configuring-playbook-bot-maubot.md) — a plugin-based Matrix bot system" msgstr "" -#: ../../../docs/configuring-playbook.md:184 +#: ../../../docs/configuring-playbook.md:199 msgid "[Setting up Honoroit](configuring-playbook-bot-honoroit.md) — a helpdesk bot" msgstr "" -#: ../../../docs/configuring-playbook.md:186 +#: ../../../docs/configuring-playbook.md:201 msgid "[Setting up Mjolnir](configuring-playbook-bot-mjolnir.md) — a moderation tool/bot" msgstr "" -#: ../../../docs/configuring-playbook.md:188 +#: ../../../docs/configuring-playbook.md:203 msgid "[Setting up Draupnir](configuring-playbook-bot-draupnir.md) — a moderation tool/bot, forked from Mjolnir and maintained by its former leader developer" msgstr "" -#: ../../../docs/configuring-playbook.md:190 +#: ../../../docs/configuring-playbook.md:205 msgid "[Setting up Draupnir for all/D4A](configuring-playbook-appservice-draupnir-for-all.md) — like the [Draupnir bot](configuring-playbook-bot-draupnir.md) mentioned above, but running in appservice mode and supporting multiple instances" msgstr "" -#: ../../../docs/configuring-playbook.md:192 +#: ../../../docs/configuring-playbook.md:207 msgid "[Setting up Buscarron](configuring-playbook-bot-buscarron.md) — a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" msgstr "" -#: ../../../docs/configuring-playbook.md:194 +#: ../../../docs/configuring-playbook.md:209 msgid "Administration" msgstr "" -#: ../../../docs/configuring-playbook.md:196 +#: ../../../docs/configuring-playbook.md:211 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" -#: ../../../docs/configuring-playbook.md:198 +#: ../../../docs/configuring-playbook.md:213 msgid "[Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](configuring-playbook-alertmanager-receiver.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:200 +#: ../../../docs/configuring-playbook.md:215 msgid "[Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:202 -msgid "[Enabling metrics and graphs for NginX logs](configuring-playbook-prometheus-nginxlog.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:204 +#: ../../../docs/configuring-playbook.md:217 msgid "[Setting up the rageshake bug report server](configuring-playbook-rageshake.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:206 +#: ../../../docs/configuring-playbook.md:219 msgid "[Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:208 +#: ../../../docs/configuring-playbook.md:221 msgid "Backups:" msgstr "" -#: ../../../docs/configuring-playbook.md:209 +#: ../../../docs/configuring-playbook.md:222 msgid "[Setting up BorgBackup](configuring-playbook-backup-borg.md) — a full Matrix server backup solution, including the Postgres database" msgstr "" -#: ../../../docs/configuring-playbook.md:211 -msgid "[Setting up postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files)" +#: ../../../docs/configuring-playbook.md:224 +msgid "[Setting up Postgres backup](configuring-playbook-postgres-backup.md) — a Postgres-database backup solution (note: does not include other files)" msgstr "" -#: ../../../docs/configuring-playbook.md:213 +#: ../../../docs/configuring-playbook.md:226 msgid "Other specialized services" msgstr "" -#: ../../../docs/configuring-playbook.md:215 +#: ../../../docs/configuring-playbook.md:228 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../docs/configuring-playbook.md:217 -msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)" +#: ../../../docs/configuring-playbook.md:230 +msgid "[Setting up Element Call](configuring-playbook-element-call.md) — a native Matrix video conferencing application, built on top of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" msgstr "" -#: ../../../docs/configuring-playbook.md:219 +#: ../../../docs/configuring-playbook.md:232 +msgid "[Setting up LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:234 +msgid "[Setting up LiveKit Server](configuring-playbook-livekit-server.md) - a component of the [Matrix RTC stack](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:236 +msgid "[Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:238 msgid "[Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers" msgstr "" -#: ../../../docs/configuring-playbook.md:221 +#: ../../../docs/configuring-playbook.md:240 msgid "[Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:223 +#: ../../../docs/configuring-playbook.md:242 +msgid "[Setting up Matrix.to](configuring-playbook-matrixto.md)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:244 msgid "[Setting up Etherpad](configuring-playbook-etherpad.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:225 +#: ../../../docs/configuring-playbook.md:246 msgid "[Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:227 +#: ../../../docs/configuring-playbook.md:248 msgid "[Setting up Cactus Comments](configuring-playbook-cactus-comments.md) — a federated comment system built on Matrix" msgstr "" -#: ../../../docs/configuring-playbook.md:229 +#: ../../../docs/configuring-playbook.md:250 msgid "[Setting up Pantalaimon (E2EE aware proxy daemon)](configuring-playbook-pantalaimon.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:231 +#: ../../../docs/configuring-playbook.md:252 msgid "[Setting up the Sygnal push gateway](configuring-playbook-sygnal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:233 +#: ../../../docs/configuring-playbook.md:254 msgid "[Setting up the ntfy push notifications server](configuring-playbook-ntfy.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:235 +#: ../../../docs/configuring-playbook.md:256 msgid "Deprecated / unmaintained / removed services" msgstr "" -#: ../../../docs/configuring-playbook.md:237 +#: ../../../docs/configuring-playbook.md:258 msgid "**Note**: since a deprecated or unmaintained service will not be updated, its bug or vulnerability will be unlikely to get patched. It is recommended to migrate from the service to an alternative if any, and make sure to do your own research before you decide to keep it running nonetheless." msgstr "" -#: ../../../docs/configuring-playbook.md:239 +#: ../../../docs/configuring-playbook.md:260 +msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md) (removed; this component has been abandoned and unmaintained)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:262 msgid "[Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-proxy.md) for clients which require Sliding Sync support (like old Element X versions, before it got switched to Simplified Sliding Sync)" msgstr "" -#: ../../../docs/configuring-playbook.md:241 -msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; 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))" +#: ../../../docs/configuring-playbook.md:264 +msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)" msgstr "" -#: ../../../docs/configuring-playbook.md:243 +#: ../../../docs/configuring-playbook.md:266 +msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; 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))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:268 msgid "[Setting up the Dimension integration manager](configuring-playbook-dimension.md) ([unmaintained](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2806#issuecomment-1673559299); after [installing](installing.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:245 -msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (unmaintained; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-postmoogle.md))" +#: ../../../docs/configuring-playbook.md:270 +msgid "[Setting up Email2Matrix](configuring-playbook-email2matrix.md) (removed; the author suggests taking a look at [Postmoogle](https://github.com/etkecc/postmoogle) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-postmoogle.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:247 -msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md))" +#: ../../../docs/configuring-playbook.md:272 +msgid "[Setting up Go-NEB](configuring-playbook-bot-go-neb.md) (unmaintained; the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bridge-hookshot.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:249 -msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bot-baibot.md))" +#: ../../../docs/configuring-playbook.md:274 +msgid "[Setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md) (removed; Skype has been discontinued since May 2025)" msgstr "" -#: ../../../docs/configuring-playbook.md:251 +#: ../../../docs/configuring-playbook.md:276 +msgid "[Setting up ma1sd Identity Server](configuring-playbook-ma1sd.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook.)" +msgstr "" + +#: ../../../docs/configuring-playbook.md:278 +msgid "[Setting up matrix-bot-chatgpt](configuring-playbook-bot-chatgpt.md) (unmaintained; the bridge's author suggests taking a look at [baibot](https://github.com/etkecc/baibot) as a replacement, which can also be [installed using this playbook](configuring-playbook-bot-baibot.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:280 msgid "[Setting up Mautrix Facebook bridging](configuring-playbook-bridge-mautrix-facebook.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-messenger](configuring-playbook-bridge-mautrix-meta-messenger.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:253 -msgid "[Setting up Mautrix Hangouts bridging](configuring-playbook-bridge-mautrix-hangouts.md) (deprecated in favor of the Google Chat bridge with [mautrix-googlechat](configuring-playbook-bridge-mautrix-googlechat.md))" -msgstr "" - -#: ../../../docs/configuring-playbook.md:255 +#: ../../../docs/configuring-playbook.md:282 msgid "[Setting up Mautrix Instagram bridging](configuring-playbook-bridge-mautrix-instagram.md) (deprecated in favor of the Messenger/Instagram bridge with [mautrix-meta-instagram](configuring-playbook-bridge-mautrix-meta-instagram.md))" msgstr "" -#: ../../../docs/configuring-playbook.md:257 +#: ../../../docs/configuring-playbook.md:284 +msgid "[Setting up MX Puppet Discord bridging](configuring-playbook-bridge-mx-puppet-discord.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:286 +msgid "[Setting up MX Puppet Instagram bridging](configuring-playbook-bridge-mx-puppet-instagram.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:288 msgid "[Setting up MX Puppet Skype bridging](configuring-playbook-bridge-mx-puppet-skype.md) (removed; this component has been broken for a long time, so it has been removed from the playbook. Consider [setting up Go Skype Bridge bridging](configuring-playbook-bridge-go-skype-bridge.md))" msgstr "" + +#: ../../../docs/configuring-playbook.md:290 +msgid "[Setting up MX Puppet Slack bridging](configuring-playbook-bridge-mx-puppet-slack.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:292 +msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))" +msgstr "" + +#: ../../../docs/configuring-playbook.md:294 +msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/container-images.po b/i18n/locales/jp/LC_MESSAGES/docs/container-images.po index 02bcdb812..9670b134f 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/container-images.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/container-images.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,21 +18,21 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/container-images.md:1 +#: ../../../docs/container-images.md:18 msgid "Container images used by the playbook" msgstr "" -#: ../../../docs/container-images.md:3 +#: ../../../docs/container-images.md:20 msgid "This page summarizes the container ([Docker](https://www.docker.com/)) images used by the playbook when setting up your server." msgstr "" -#: ../../../docs/container-images.md:5 +#: ../../../docs/container-images.md:22 msgid "We try to stick to official images (provided by their respective projects) as much as possible." msgstr "" -#: ../../../docs/container-images.md:7 +#: ../../../docs/container-images.md:24 msgid "Homeserver" msgstr "" @@ -85,15 +85,15 @@ msgid "Storing your data and managing your presence in the [Matrix](http://matri msgstr "" #: ../../../docs/container-images.md -msgid "[conduwuit](configuring-playbook-conduwuit.md)" +msgid "[continuwuity](configuring-playbook-continuwuity.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit)" +msgid "[continuwuation/continuwuity](https://forgejo.ellis.link/continuwuation/continuwuity)" msgstr "" #: ../../../docs/container-images.md -msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit is a fork of Conduit." +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. continuwuity is a continuation of conduwuit." msgstr "" #: ../../../docs/container-images.md @@ -108,11 +108,11 @@ msgstr "" msgid "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." msgstr "" -#: ../../../docs/container-images.md:16 +#: ../../../docs/container-images.md:33 msgid "Clients" msgstr "" -#: ../../../docs/container-images.md:18 +#: ../../../docs/container-images.md:35 msgid "Web clients for Matrix that you can host on your own domains." msgstr "" @@ -152,6 +152,14 @@ msgstr "" msgid "Simple, elegant and secure web client" msgstr "" +#: ../../../docs/container-images.md +msgid "[Sable](configuring-playbook-client-sable.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[7w1/sable](https://ghcr.io/7w1/sable)" +msgstr "" + #: ../../../docs/container-images.md msgid "[SchildiChat Web](configuring-playbook-client-schildichat-web.md)" msgstr "" @@ -164,11 +172,11 @@ msgstr "" msgid "Based on Element Web, with a more traditional instant messaging experience" msgstr "" -#: ../../../docs/container-images.md:27 +#: ../../../docs/container-images.md:45 msgid "Server Components" msgstr "" -#: ../../../docs/container-images.md:29 +#: ../../../docs/container-images.md:47 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -205,7 +213,7 @@ msgid "[Traefik](https://hub.docker.com/_/traefik/)" msgstr "" #: ../../../docs/container-images.md -msgid "Web server, listening on ports 80, 443 and 8448 — standing in front of all the other services. Using your own webserver [is possible](configuring-playbook-own-webserver.md)" +msgid "Web server, listening on ports 80, 443 and 8448 — standing in front of all the other services. [Using your own webserver](configuring-playbook-own-webserver.md) is also possible." msgstr "" #: ../../../docs/container-images.md @@ -217,7 +225,7 @@ msgid "[certbot/certbot](https://hub.docker.com/r/certbot/certbot/)" msgstr "" #: ../../../docs/container-images.md -msgid "The [certbot](https://certbot.eff.org/) tool for obtaining SSL certificates from [Let's Encrypt](https://letsencrypt.org/)" +msgid "[Certbot](https://certbot.eff.org/) tool for obtaining SSL certificates from [Let's Encrypt](https://letsencrypt.org/)" msgstr "" #: ../../../docs/container-images.md @@ -232,18 +240,6 @@ msgstr "" msgid "Mail server, through which all Matrix services send outgoing email (can be configured to relay through another SMTP server)" msgstr "" -#: ../../../docs/container-images.md -msgid "[ma1sd](configuring-playbook-ma1sd.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Matrix Identity Server" -msgstr "" - #: ../../../docs/container-images.md msgid "[ddclient](configuring-playbook-dynamic-dns.md)" msgstr "" @@ -256,11 +252,35 @@ msgstr "" msgid "Update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider" msgstr "" -#: ../../../docs/container-images.md:41 +#: ../../../docs/container-images.md +msgid "[LiveKit Server](configuring-playbook-livekit-server.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[livekit/livekit-server](https://hub.docker.com/r/livekit/livekit-server/)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "WebRTC server for audio/video calls" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[Livekit JWT Service](configuring-playbook-livekit-jwt-service.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[element-hq/lk-jwt-service](https://ghcr.io/element-hq/lk-jwt-service)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md)" +msgstr "" + +#: ../../../docs/container-images.md:60 msgid "Authentication" msgstr "" -#: ../../../docs/container-images.md:43 +#: ../../../docs/container-images.md:62 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" @@ -301,7 +321,7 @@ msgid "[activism.international/matrix_ldap_registration_proxy](https://gitlab.co msgstr "" #: ../../../docs/container-images.md -msgid "A proxy that handles Matrix registration requests and forwards them to LDAP." +msgid "Proxy that handles Matrix registration requests and forwards them to LDAP" msgstr "" #: ../../../docs/container-images.md @@ -313,11 +333,11 @@ msgid "[zeratax/matrix-registration](https://hub.docker.com/r/devture/zeratax-ma msgstr "" #: ../../../docs/container-images.md -msgid "A simple python application to have a token based Matrix registration" +msgid "Simple python application to have a token based Matrix registration" msgstr "" #: ../../../docs/container-images.md -msgid "[Matrix User Verification Service](configuring-playbook-user-verification-service.md) (UVS)" +msgid "[Matrix User Verification Service](configuring-playbook-user-verification-service.md)" msgstr "" #: ../../../docs/container-images.md @@ -333,14 +353,14 @@ msgid "[synapse-simple-antispam](configuring-playbook-synapse-simple-antispam.md msgstr "" #: ../../../docs/container-images.md -msgid "A spam checker module" +msgid "Spam checker module" msgstr "" -#: ../../../docs/container-images.md:55 +#: ../../../docs/container-images.md:74 msgid "File Storage" msgstr "" -#: ../../../docs/container-images.md:57 +#: ../../../docs/container-images.md:76 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" @@ -369,17 +389,29 @@ msgid "[t2bot/matrix-media-repo](https://ghcr.io/t2bot/matrix-media-repo)" msgstr "" #: ../../../docs/container-images.md -msgid "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." +msgid "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." msgstr "" -#: ../../../docs/container-images.md:65 +#: ../../../docs/container-images.md:84 msgid "Bridges" msgstr "" -#: ../../../docs/container-images.md:67 +#: ../../../docs/container-images.md:86 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" +#: ../../../docs/container-images.md +msgid "[mautrix-bluesky](configuring-playbook-bridge-mautrix-bluesky.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mautrix/bluesky](https://mau.dev/mautrix/bluesky/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Bluesky](https://bsky.social/about)" +msgstr "" + #: ../../../docs/container-images.md msgid "[mautrix-discord](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" @@ -548,14 +580,6 @@ msgstr "" msgid "Bridge to [Discord](https://discordapp.com/)" msgstr "" -#: ../../../docs/container-images.md -msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" -msgstr "" - #: ../../../docs/container-images.md msgid "[matrix-hookshot](configuring-playbook-bridge-hookshot.md)" msgstr "" @@ -604,62 +628,6 @@ msgstr "" msgid "Bouncer-style bridge to [IRC](https://wikipedia.org/wiki/Internet_Relay_Chat)" msgstr "" -#: ../../../docs/container-images.md -msgid "[go-skype-bridge](configuring-playbook-bridge-go-skype-bridge.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[nodefyme/go-skype-bridge](https://hub.docker.com/r/nodefyme/go-skype-bridge)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Skype](https://www.skype.com)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Slack](https://slack.com)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry)" -msgstr "" - #: ../../../docs/container-images.md msgid "[mx-puppet-groupme](configuring-playbook-bridge-mx-puppet-groupme.md)" msgstr "" @@ -672,6 +640,18 @@ msgstr "" msgid "Bridge to [GroupMe](https://groupme.com/)" msgstr "" +#: ../../../docs/container-images.md +msgid "[matrix-steam-bridge](configuring-playbook-bridge-steam.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[jasonlaguidice/matrix-steam-bridge](https://github.com/jasonlaguidice/matrix-steam-bridge/pkgs/container/matrix-steam-bridge)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Steam](https://steampowered.com/)" +msgstr "" + #: ../../../docs/container-images.md msgid "[mx-puppet-steam](configuring-playbook-bridge-mx-puppet-steam.md)" msgstr "" @@ -696,11 +676,11 @@ msgstr "" msgid "Email to Matrix bridge" msgstr "" -#: ../../../docs/container-images.md:99 +#: ../../../docs/container-images.md:114 msgid "Bots" msgstr "" -#: ../../../docs/container-images.md:101 +#: ../../../docs/container-images.md:116 msgid "Bots provide various additional functionality to your installation." msgstr "" @@ -713,7 +693,7 @@ msgid "[etke.cc/baibot](https://ghcr.io/etkecc/baibot)" msgstr "" #: ../../../docs/container-images.md -msgid "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" +msgid "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" msgstr "" #: ../../../docs/container-images.md @@ -749,7 +729,7 @@ msgid "[dock.mau.dev/maubot/maubot](https://mau.dev/maubot/maubot/container_regi msgstr "" #: ../../../docs/container-images.md -msgid "A plugin-based Matrix bot system" +msgid "Plugin-based Matrix bot system" msgstr "" #: ../../../docs/container-images.md @@ -761,7 +741,7 @@ msgid "[etke.cc/honoroit](https://github.com/etkecc/honoroit/container_registry) msgstr "" #: ../../../docs/container-images.md -msgid "A helpdesk bot" +msgid "Helpdesk bot" msgstr "" #: ../../../docs/container-images.md @@ -773,7 +753,7 @@ msgid "[matrixdotorg/mjolnir](https://hub.docker.com/r/matrixdotorg/mjolnir)" msgstr "" #: ../../../docs/container-images.md -msgid "A moderation tool for Matrix" +msgid "Moderation tool for Matrix" msgstr "" #: ../../../docs/container-images.md @@ -785,7 +765,7 @@ msgid "[gnuxie/draupnir](https://hub.docker.com/r/gnuxie/draupnir)" msgstr "" #: ../../../docs/container-images.md -msgid "A moderation tool for Matrix (Fork of Mjolnir)" +msgid "Moderation tool for Matrix (Fork of Mjolnir)" msgstr "" #: ../../../docs/container-images.md @@ -800,11 +780,11 @@ msgstr "" msgid "Web forms (HTTP POST) to Matrix" msgstr "" -#: ../../../docs/container-images.md:114 +#: ../../../docs/container-images.md:129 msgid "Administration" msgstr "" -#: ../../../docs/container-images.md:116 +#: ../../../docs/container-images.md:131 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" @@ -833,15 +813,15 @@ msgid "OAuth 2.0 and OpenID Provider server" msgstr "" #: ../../../docs/container-images.md -msgid "[synapse-admin](configuring-playbook-synapse-admin.md)" +msgid "[ketesa](configuring-playbook-ketesa.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[etke.cc/synapse-admin](https://ghcr.io/etkecc/synapse-admin)" +msgid "[etkecc/ketesa](https://ghcr.io/etkecc/ketesa)" msgstr "" #: ../../../docs/container-images.md -msgid "A web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../docs/container-images.md @@ -873,7 +853,7 @@ msgid "Graphing tool that works well with the above two images. Our playbook als msgstr "" #: ../../../docs/container-images.md -msgid "[Metrics and Graphs](configuring-playbook-prometheus-nginxlog.md)" +msgid "[Metrics and Graphs](configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-nginx-logs-optional)" msgstr "" #: ../../../docs/container-images.md @@ -892,6 +872,18 @@ msgstr "" msgid "Backups" msgstr "" +#: ../../../docs/container-images.md +msgid "[postgres-backup-local](configuring-playbook-postgres-backup.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[prodrigestivill/postgres-backup-local](https://hub.docker.com/r/prodrigestivill/postgres-backup-local)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Create automatic database backups" +msgstr "" + #: ../../../docs/container-images.md msgid "[rageshake](configuring-playbook-rageshake.md)" msgstr "" @@ -912,44 +904,24 @@ msgstr "" msgid "Export the usage statistics of a Synapse homeserver to be scraped by Prometheus." msgstr "" -#: ../../../docs/container-images.md:131 +#: ../../../docs/container-images.md:147 msgid "Misc" msgstr "" -#: ../../../docs/container-images.md:133 +#: ../../../docs/container-images.md:149 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../docs/container-images.md -msgid "[sliding-sync](configuring-playbook-sliding-sync-proxy.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "A Synapse module to automatically accept invites." -msgstr "" - #: ../../../docs/container-images.md msgid "[synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[etke.cc/rust-synapse-compress-state](https://gitlab.com/etke.cc/rust-synapse-compress-state/container_registry)" +msgid "[mb-saces/rust-synapse-tools](https://gitlab.com/mb-saces/rust-synapse-tools/container_registry)" msgstr "" #: ../../../docs/container-images.md -msgid "A cli tool that automatically compresses `state_groups` database table in background." +msgid "Cli tool that automatically compresses Synapse's `state_groups` database table in background" msgstr "" #: ../../../docs/container-images.md @@ -973,7 +945,7 @@ msgid "[etherpad/etherpad](https://hub.docker.com/r/etherpad/etherpad/)" msgstr "" #: ../../../docs/container-images.md -msgid "An open source collaborative text editor" +msgid "Open source collaborative text editor" msgstr "" #: ../../../docs/container-images.md @@ -985,7 +957,7 @@ msgid "[jitsi/web](https://hub.docker.com/r/jitsi/web)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) web UI" +msgid "[Jitsi](https://jitsi.org/) web UI" msgstr "" #: ../../../docs/container-images.md @@ -993,7 +965,7 @@ msgid "[jitsi/jicofo](https://hub.docker.com/r/jitsi/jicofo)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Focus component" +msgid "[Jitsi](https://jitsi.org/) Focus component" msgstr "" #: ../../../docs/container-images.md @@ -1001,7 +973,7 @@ msgid "[jitsi/prosody](https://hub.docker.com/r/jitsi/prosody)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Prosody XMPP server component" +msgid "[Jitsi](https://jitsi.org/) Prosody XMPP server component" msgstr "" #: ../../../docs/container-images.md @@ -1009,7 +981,7 @@ msgid "[jitsi/jvb](https://hub.docker.com/r/jitsi/jvb)" msgstr "" #: ../../../docs/container-images.md -msgid "the [Jitsi](https://jitsi.org/) Video Bridge component" +msgid "[Jitsi](https://jitsi.org/) Video Bridge component" msgstr "" #: ../../../docs/container-images.md @@ -1021,7 +993,7 @@ msgid "[cactuscomments/cactus-appservice](https://hub.docker.com/r/cactuscomment msgstr "" #: ../../../docs/container-images.md -msgid "A federated comment system built on Matrix" +msgid "Federated comment system built on Matrix" msgstr "" #: ../../../docs/container-images.md @@ -1037,7 +1009,7 @@ msgid "[matrixdotorg/pantalaimon](https://hub.docker.com/r/matrixdotorg/pantalai msgstr "" #: ../../../docs/container-images.md -msgid "An E2EE aware proxy daemon" +msgid "E2EE aware proxy daemon" msgstr "" #: ../../../docs/container-images.md @@ -1064,24 +1036,36 @@ msgstr "" msgid "Self-hosted, UnifiedPush-compatible push notifications server" msgstr "" -#: ../../../docs/container-images.md:152 +#: ../../../docs/container-images.md +msgid "[Element Call](configuring-playbook-element-call.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[element-hq/element-call](https://ghcr.io/element-hq/element-call)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "A native Matrix video conferencing application" +msgstr "" + +#: ../../../docs/container-images.md:167 msgid "Container images of deprecated / unmaintained services" msgstr "" -#: ../../../docs/container-images.md:154 +#: ../../../docs/container-images.md:169 msgid "The list of the deprecated or unmaintained services is available [here](configuring-playbook.md#deprecated--unmaintained--removed-services)." msgstr "" #: ../../../docs/container-images.md -msgid "[matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md)" +msgid "[conduwuit](configuring-playbook-conduwuit.md)" msgstr "" #: ../../../docs/container-images.md -msgid "[turt2live/matrix-appservice-webhooks](https://hub.docker.com/r/turt2live/matrix-appservice-webhooks)" +msgid "[girlbossceo/conduwuit](https://ghcr.io/girlbossceo/conduwuit)" msgstr "" #: ../../../docs/container-images.md -msgid "Bridge for slack compatible webhooks ([ConcourseCI](https://concourse-ci.org/), [Slack](https://slack.com/) etc. pp.)" +msgid "Storing your data and managing your presence in the [Matrix](http://matrix.org/) network. conduwuit was a fork of Conduit." msgstr "" #: ../../../docs/container-images.md @@ -1093,7 +1077,7 @@ msgid "[turt2live/matrix-dimension](https://hub.docker.com/r/turt2live/matrix-di msgstr "" #: ../../../docs/container-images.md -msgid "An open source integration manager for Matrix clients" +msgid "Open source integration manager for Matrix clients" msgstr "" #: ../../../docs/container-images.md @@ -1117,7 +1101,39 @@ msgid "[matrixdotorg/go-neb](https://hub.docker.com/r/matrixdotorg/go-neb)" msgstr "" #: ../../../docs/container-images.md -msgid "A multi functional bot written in Go" +msgid "Multi functional bot written in Go" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[ma1sd](configuring-playbook-ma1sd.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[ma1uta/ma1sd](https://hub.docker.com/r/ma1uta/ma1sd/)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Matrix Identity Server" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[turt2live/matrix-appservice-webhooks](https://hub.docker.com/r/turt2live/matrix-appservice-webhooks)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for slack compatible webhooks ([ConcourseCI](https://concourse-ci.org/), [Slack](https://slack.com/) etc. pp.)" msgstr "" #: ../../../docs/container-images.md @@ -1144,18 +1160,6 @@ msgstr "" msgid "Bridge to [Facebook](https://facebook.com/)" msgstr "" -#: ../../../docs/container-images.md -msgid "[mautrix-hangouts](configuring-playbook-bridge-mautrix-hangouts.md)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "[mautrix/hangouts](https://mau.dev/mautrix/hangouts/container_registry)" -msgstr "" - -#: ../../../docs/container-images.md -msgid "Bridge to [Google Hangouts](https://en.wikipedia.org/wiki/Google_Hangouts)" -msgstr "" - #: ../../../docs/container-images.md msgid "[mautrix-instagram](configuring-playbook-bridge-mautrix-instagram.md)" msgstr "" @@ -1167,3 +1171,67 @@ msgstr "" #: ../../../docs/container-images.md msgid "Bridge to [Instagram](https://instagram.com/)" msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet/discord/mx-puppet-discord](https://gitlab.com/mx-puppet/discord/mx-puppet-discord/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-instagram](configuring-playbook-bridge-mx-puppet-instagram.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sorunome/mx-puppet-instagram](https://hub.docker.com/r/sorunome/mx-puppet-instagram)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for Instagram-DMs ([Instagram](https://www.instagram.com/))" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet/slack/mx-puppet-slack](https://gitlab.com/mx-puppet/slack/mx-puppet-slack/container_registry)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge to [Slack](https://slack.com)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sorunome/mx-puppet-twitter](https://hub.docker.com/r/sorunome/mx-puppet-twitter)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Bridge for Twitter-DMs ([Twitter](https://twitter.com/))" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[sliding-sync](configuring-playbook-sliding-sync-proxy.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[matrix-org/sliding-sync](https://ghcr.io/matrix-org/sliding-sync)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" +msgstr "" + +#: ../../../docs/container-images.md +msgid "Synapse module to automatically accept invites" +msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/registering-users.po b/i18n/locales/jp/LC_MESSAGES/docs/registering-users.po index 7e203701f..7043cb1cd 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/registering-users.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/registering-users.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-27 09:54+0200\n" +"POT-Creation-Date: 2026-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,228 +18,225 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/registering-users.md:1 +#: ../../../docs/registering-users.md:11 msgid "Registering users" msgstr "" -#: ../../../docs/registering-users.md:3 +#: ../../../docs/registering-users.md:13 msgid "This documentation page tells you how to create user accounts on your Matrix server." msgstr "" -#: ../../../docs/registering-users.md:5 +#: ../../../docs/registering-users.md:15 msgid "Table of contents:" msgstr "" -#: ../../../docs/registering-users.md:7 +#: ../../../docs/registering-users.md:16 msgid "[Registering users](#registering-users)" msgstr "" -#: ../../../docs/registering-users.md:8 +#: ../../../docs/registering-users.md:17 msgid "[Registering users manually](#registering-users-manually)" msgstr "" -#: ../../../docs/registering-users.md:9 +#: ../../../docs/registering-users.md:18 msgid "[Managing users via a Web UI](#managing-users-via-a-web-ui)" msgstr "" -#: ../../../docs/registering-users.md:10 +#: ../../../docs/registering-users.md:19 msgid "[Letting certain users register on your private server](#letting-certain-users-register-on-your-private-server)" msgstr "" -#: ../../../docs/registering-users.md:11 +#: ../../../docs/registering-users.md:20 msgid "[Enabling public user registration](#enabling-public-user-registration)" msgstr "" -#: ../../../docs/registering-users.md:12 +#: ../../../docs/registering-users.md:21 msgid "[Adding/Removing Administrator privileges to an existing user](#addingremoving-administrator-privileges-to-an-existing-user)" msgstr "" -#: ../../../docs/registering-users.md:14 +#: ../../../docs/registering-users.md:23 msgid "Registering users manually" msgstr "" -#: ../../../docs/registering-users.md:16 ../../../docs/registering-users.md:121 +#: ../../../docs/registering-users.md:25 ../../../docs/registering-users.md:127 msgid "**Notes**:" msgstr "" -#: ../../../docs/registering-users.md:17 +#: ../../../docs/registering-users.md:26 msgid "Make sure to adjust `USERNAME_HERE` and `PASSWORD_HERE`" msgstr "" -#: ../../../docs/registering-users.md:18 +#: ../../../docs/registering-users.md:27 msgid "For `USERNAME_HERE`, use a plain username like `alice`, not a full ID (`@alice:example.com`)" msgstr "" -#: ../../../docs/registering-users.md:19 +#: ../../../docs/registering-users.md:28 msgid "Use `admin=yes` or `admin=no` depending on whether you wish to make the user an administrator of the Matrix server" msgstr "" -#: ../../../docs/registering-users.md:21 +#: ../../../docs/registering-users.md:30 msgid "After registering a user (using one of the methods below), **you can log in with that user** via the [Element Web](configuring-playbook-client-element-web.md) service that this playbook has installed for you at a URL like this: `https://element.example.com/`." msgstr "" -#: ../../../docs/registering-users.md:23 +#: ../../../docs/registering-users.md:32 msgid "Registering users via the Ansible playbook" msgstr "" -#: ../../../docs/registering-users.md:25 +#: ../../../docs/registering-users.md:34 msgid "It's best to register users via the Ansible playbook, because it works regardless of homeserver implementation (Synapse, Dendrite, etc) or usage of [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" -#: ../../../docs/registering-users.md:27 +#: ../../../docs/registering-users.md:36 msgid "To register a user via this Ansible playbook:" msgstr "" -#: ../../../docs/registering-users.md:35 +#: ../../../docs/registering-users.md:44 msgid "**or** by invoking `ansible-playbook` manually:" msgstr "" -#: ../../../docs/registering-users.md:43 +#: ../../../docs/registering-users.md:52 msgid "Feel free to register as many users (for friends, family, etc.) as you want. Still, perhaps you should grant full administrative access to your user account only (with `admin=yes`), and others should be created with `admin=no`." msgstr "" -#: ../../../docs/registering-users.md:45 +#: ../../../docs/registering-users.md:54 msgid "[!WARNING] If you're registering users against Matrix Authentication Service, do note that it [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information." msgstr "" -#: ../../../docs/registering-users.md:48 +#: ../../../docs/registering-users.md:57 msgid "Registering users manually for Synapse" msgstr "" -#: ../../../docs/registering-users.md:50 +#: ../../../docs/registering-users.md:59 msgid "If you're using the [Synapse](configuring-playbook-synapse.md) homeserver implementation (which is the default), you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:58 +#: ../../../docs/registering-users.md:67 msgid "Registering users manually for Dendrite" msgstr "" -#: ../../../docs/registering-users.md:60 +#: ../../../docs/registering-users.md:69 msgid "If you're using the [Dendrite](./configuring-playbook-dendrite.md) homeserver implementation, you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:68 +#: ../../../docs/registering-users.md:77 msgid "Registering users manually for Matrix Authentication Service" msgstr "" -#: ../../../docs/registering-users.md:70 +#: ../../../docs/registering-users.md:79 msgid "If you're using the [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) and your existing homeserver (most likely [Synapse](./configuring-playbook-synapse.md)) is delegating authentication to it, you can register users via the command-line after **SSH**-ing to your server (requires that [all services have been started](installing.md#install-matrix-server-and-services)):" msgstr "" -#: ../../../docs/registering-users.md:78 +#: ../../../docs/registering-users.md:87 msgid "This `register-user` script actually invokes the `mas-cli manage register-user` command under the hood. If you'd like more control over the registration process, consider invoking the `mas-cli` command directly:" msgstr "" -#: ../../../docs/registering-users.md:84 +#: ../../../docs/registering-users.md:93 msgid "[!WARNING] Matrix Authentication Service [still insists](https://github.com/element-hq/matrix-authentication-service/issues/1505) on having a verified email address for each user. Upon a user's first login, they will be asked to confirm their email address. This requires that email sending is [configured](./configuring-playbook-email.md). You can also consult the [Working around email deliverability issues](./configuring-playbook-matrix-authentication-service.md#working-around-email-deliverability-issues) section for more information." msgstr "" -#: ../../../docs/registering-users.md:87 +#: ../../../docs/registering-users.md:96 msgid "Managing users via a Web UI" msgstr "" -#: ../../../docs/registering-users.md:89 -msgid "To manage users more easily (via a web user-interace), you can install [Synapse Admin](configuring-playbook-synapse-admin.md)." -msgstr "" - -#: ../../../docs/registering-users.md:91 -msgid "[!WARNING] If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information." -msgstr "" - -#: ../../../docs/registering-users.md:94 -msgid "Letting certain users register on your private server" -msgstr "" - -#: ../../../docs/registering-users.md:96 -msgid "If you'd rather **keep your server private** (public registration closed, as is the default), and **let certain people create accounts by themselves** (instead of creating user accounts manually like this), consider installing and making use of [matrix-registration](configuring-playbook-matrix-registration.md)." -msgstr "" - #: ../../../docs/registering-users.md:98 -msgid "Enabling public user registration" +msgid "To manage users and your homeserver more easily (via a web interface), you can install [Ketesa](configuring-playbook-ketesa.md) — a fully-featured admin UI covering users, rooms, media, sessions, and MAS management." msgstr "" #: ../../../docs/registering-users.md:100 -msgid "To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgid "Letting certain users register on your private server" msgstr "" #: ../../../docs/registering-users.md:102 -msgid "For Synapse:" +msgid "If you'd rather **keep your server private** (public registration closed, as is the default), and **let certain people create accounts by themselves** (instead of creating user accounts manually like this), consider installing and making use of [matrix-registration](configuring-playbook-matrix-registration.md)." +msgstr "" + +#: ../../../docs/registering-users.md:104 +msgid "Enabling public user registration" +msgstr "" + +#: ../../../docs/registering-users.md:106 +msgid "To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" #: ../../../docs/registering-users.md:108 -msgid "For Dendrite:" +msgid "For Synapse:" msgstr "" #: ../../../docs/registering-users.md:114 +msgid "For Dendrite:" +msgstr "" + +#: ../../../docs/registering-users.md:120 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/registering-users.md:123 +#: ../../../docs/registering-users.md:129 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/registering-users.md:125 +#: ../../../docs/registering-users.md:131 msgid "`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." msgstr "" -#: ../../../docs/registering-users.md:127 +#: ../../../docs/registering-users.md:133 msgid "If you're opening up registrations publicly like this, you might also wish to [configure CAPTCHA protection](configuring-captcha.md)." msgstr "" -#: ../../../docs/registering-users.md:129 +#: ../../../docs/registering-users.md:135 msgid "Adding/Removing Administrator privileges to an existing user" msgstr "" -#: ../../../docs/registering-users.md:131 +#: ../../../docs/registering-users.md:137 msgid "Adding/Removing Administrator privileges to an existing user in Synapse" msgstr "" -#: ../../../docs/registering-users.md:133 +#: ../../../docs/registering-users.md:139 msgid "To change the admin privileges for a user in Synapse's local database, you need to run an SQL query like this against the `synapse` database:" msgstr "" -#: ../../../docs/registering-users.md:139 +#: ../../../docs/registering-users.md:145 msgid "where:" msgstr "" -#: ../../../docs/registering-users.md:141 +#: ../../../docs/registering-users.md:147 msgid "`ADMIN_VALUE` being either `0` (regular user) or `1` (admin)" msgstr "" -#: ../../../docs/registering-users.md:142 +#: ../../../docs/registering-users.md:148 msgid "`USER` and `example.com` pointing to a valid user on your server" msgstr "" -#: ../../../docs/registering-users.md:144 +#: ../../../docs/registering-users.md:150 msgid "If you're using the integrated Postgres server and not an [external Postgres server](configuring-playbook-external-postgres.md), you can launch a Postgres into the `synapse` database by:" msgstr "" -#: ../../../docs/registering-users.md:146 +#: ../../../docs/registering-users.md:152 msgid "running `/matrix/postgres/bin/cli` — to launch [`psql`](https://www.postgresql.org/docs/current/app-psql.html)" msgstr "" -#: ../../../docs/registering-users.md:147 +#: ../../../docs/registering-users.md:153 msgid "running `\\c synapse` — to change to the `synapse` database" msgstr "" -#: ../../../docs/registering-users.md:149 +#: ../../../docs/registering-users.md:155 msgid "You can then proceed to run the query above." msgstr "" -#: ../../../docs/registering-users.md:151 +#: ../../../docs/registering-users.md:157 msgid "**Note**: directly modifying the raw data of Synapse (or any other software) could cause the software to break. You've been warned!" msgstr "" -#: ../../../docs/registering-users.md:153 +#: ../../../docs/registering-users.md:159 msgid "Adding/Removing Administrator privileges to an existing user in Matrix Authentication Service" msgstr "" -#: ../../../docs/registering-users.md:155 -msgid "Promoting/demoting a user in Matrix Authentication Service cannot currently (2024-10-19) be done via the [`mas-cli` Management tool](./configuring-playbook-matrix-authentication-service.md#management)." +#: ../../../docs/registering-users.md:161 +msgid "Promoting/demoting a user in Matrix Authentication Service can be done using the [`mas-cli`](./configuring-playbook-matrix-authentication-service.md#management) management tool's [`manage promote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-promote-admin) and [`manage demote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-demote-admin) commands. For example: `/matrix/matrix-authentication-service/bin/mas-cli manage promote-admin some.username`." msgstr "" -#: ../../../docs/registering-users.md:157 -msgid "You can do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint." +#: ../../../docs/registering-users.md:163 +#, python-brace-format +msgid "You can also do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint." msgstr "" diff --git a/i18n/locales/jp/LC_MESSAGES/docs/self-building.po b/i18n/locales/jp/LC_MESSAGES/docs/self-building.po index 1da0b78a1..ead4121ae 100644 --- a/i18n/locales/jp/LC_MESSAGES/docs/self-building.po +++ b/i18n/locales/jp/LC_MESSAGES/docs/self-building.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: matrix-docker-ansible-deploy \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-16 12:05+0900\n" +"POT-Creation-Date: 2026-04-03 12:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: jp\n" @@ -18,160 +18,136 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Generated-By: Babel 2.18.0\n" -#: ../../../docs/self-building.md:1 +#: ../../../docs/self-building.md:15 msgid "Self-building" msgstr "" -#: ../../../docs/self-building.md:3 +#: ../../../docs/self-building.md:17 msgid "**Caution: self-building does not have to be used on its own. See the [Alternative Architectures](alternative-architectures.md) page.**" msgstr "" -#: ../../../docs/self-building.md:5 +#: ../../../docs/self-building.md:19 msgid "The playbook supports self-building of various components, which don't have a container image for your architecture (see the [container images we use](container-images.md)). For `amd64`, self-building is not required." msgstr "" -#: ../../../docs/self-building.md:7 +#: ../../../docs/self-building.md:21 msgid "For other architectures (e.g. `arm32`, `arm64`), ready-made container images are used when available. If there's no ready-made image for a specific component and said component supports self-building, an image will be built on the host. Building images like this takes more time and resources (some build tools need to get installed by the playbook to assist building)." msgstr "" -#: ../../../docs/self-building.md:9 +#: ../../../docs/self-building.md:23 msgid "To make use of self-building, you don't need to do anything. If a component has an image for the specified architecture, the playbook will use it directly. If not, it will build the image on the server itself." msgstr "" -#: ../../../docs/self-building.md:11 +#: ../../../docs/self-building.md:25 msgid "Note that **not all components support self-building yet**." msgstr "" -#: ../../../docs/self-building.md:13 +#: ../../../docs/self-building.md:27 msgid "Possibly outdated list of roles where self-building the Docker image is currently possible:" msgstr "" -#: ../../../docs/self-building.md:14 +#: ../../../docs/self-building.md:28 msgid "`matrix-synapse`" msgstr "" -#: ../../../docs/self-building.md:15 -msgid "`matrix-synapse-admin`" -msgstr "" - -#: ../../../docs/self-building.md:16 -msgid "`matrix-client-element`" -msgstr "" - -#: ../../../docs/self-building.md:17 -msgid "`matrix-client-hydrogen`" -msgstr "" - -#: ../../../docs/self-building.md:18 -msgid "`matrix-client-cinny`" -msgstr "" - -#: ../../../docs/self-building.md:19 -msgid "`matrix-registration`" -msgstr "" - -#: ../../../docs/self-building.md:20 -msgid "`matrix-coturn`" -msgstr "" - -#: ../../../docs/self-building.md:21 -msgid "`matrix-corporal`" -msgstr "" - -#: ../../../docs/self-building.md:22 -msgid "`matrix-dimension`" -msgstr "" - -#: ../../../docs/self-building.md:23 -msgid "`matrix-ma1sd`" -msgstr "" - -#: ../../../docs/self-building.md:24 -msgid "`exim-relay`" -msgstr "" - -#: ../../../docs/self-building.md:25 -msgid "`matrix-bridge-hookshot`" -msgstr "" - -#: ../../../docs/self-building.md:26 -msgid "`matrix-bridge-appservice-irc`" -msgstr "" - -#: ../../../docs/self-building.md:27 -msgid "`matrix-bridge-appservice-slack`" -msgstr "" - -#: ../../../docs/self-building.md:28 -msgid "`matrix-bridge-appservice-webhooks`" -msgstr "" - #: ../../../docs/self-building.md:29 -msgid "`matrix-bridge-beeper-linkedin`" +msgid "`matrix-ketesa`" msgstr "" #: ../../../docs/self-building.md:30 -msgid "`matrix-bridge-mautrix-facebook`" +msgid "`matrix-client-element`" msgstr "" #: ../../../docs/self-building.md:31 -msgid "`matrix-bridge-mautrix-hangouts`" +msgid "`hydrogen`" msgstr "" #: ../../../docs/self-building.md:32 -msgid "`matrix-bridge-mautrix-googlechat`" +msgid "`cinny`" msgstr "" #: ../../../docs/self-building.md:33 -msgid "`matrix-bridge-mautrix-telegram`" +msgid "`sable`" msgstr "" #: ../../../docs/self-building.md:34 -msgid "`matrix-bridge-mautrix-signal`" +msgid "`matrix-registration`" msgstr "" #: ../../../docs/self-building.md:35 -msgid "`matrix-bridge-mautrix-gmessages`" +msgid "`coturn`" msgstr "" #: ../../../docs/self-building.md:36 -msgid "`matrix-bridge-mautrix-whatsapp`" +msgid "`matrix-corporal`" msgstr "" #: ../../../docs/self-building.md:37 -msgid "`matrix-bridge-mx-puppet-steam`" +msgid "`exim-relay`" msgstr "" #: ../../../docs/self-building.md:38 -msgid "`matrix-bot-mjolnir`" +msgid "`matrix-bridge-hookshot`" msgstr "" #: ../../../docs/self-building.md:39 -msgid "`matrix-bot-honoroit`" +msgid "`matrix-bridge-appservice-irc`" msgstr "" #: ../../../docs/self-building.md:40 -msgid "`matrix-bot-matrix-reminder-bot`" +msgid "`matrix-bridge-beeper-linkedin`" msgstr "" #: ../../../docs/self-building.md:41 -msgid "`matrix-bot-maubot`" +msgid "`matrix-bridge-mautrix-googlechat`" msgstr "" #: ../../../docs/self-building.md:42 -msgid "`matrix-email2matrix`" +msgid "`matrix-bridge-mautrix-telegram`" msgstr "" #: ../../../docs/self-building.md:43 -msgid "`matrix-pantalaimon`" +msgid "`matrix-bridge-mautrix-signal`" +msgstr "" + +#: ../../../docs/self-building.md:44 +msgid "`matrix-bridge-mautrix-gmessages`" msgstr "" #: ../../../docs/self-building.md:45 -msgid "Adding self-building support to other roles is welcome. Feel free to contribute!" +msgid "`matrix-bridge-mautrix-whatsapp`" +msgstr "" + +#: ../../../docs/self-building.md:46 +msgid "`matrix-bridge-mx-puppet-steam`" msgstr "" #: ../../../docs/self-building.md:47 +msgid "`matrix-bot-mjolnir`" +msgstr "" + +#: ../../../docs/self-building.md:48 +msgid "`matrix-bot-honoroit`" +msgstr "" + +#: ../../../docs/self-building.md:49 +msgid "`matrix-bot-matrix-reminder-bot`" +msgstr "" + +#: ../../../docs/self-building.md:50 +msgid "`matrix-bot-maubot`" +msgstr "" + +#: ../../../docs/self-building.md:51 +msgid "`matrix-pantalaimon`" +msgstr "" + +#: ../../../docs/self-building.md:53 +msgid "Adding self-building support to other roles is welcome. Feel free to contribute!" +msgstr "" + +#: ../../../docs/self-building.md:55 msgid "If you'd like **to force self-building** even if an image is available for your architecture, look into the `matrix_*_self_build` variables provided by individual roles." msgstr "" diff --git a/i18n/translation-templates/CHANGELOG.pot b/i18n/translation-templates/CHANGELOG.pot index 61b4ea062..ddc0fc92e 100644 --- a/i18n/translation-templates/CHANGELOG.pot +++ b/i18n/translation-templates/CHANGELOG.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7851 +17,8225 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../../CHANGELOG.md:1 -msgid "2026-02-12" +msgid "2026-04-03" msgstr "" #: ../../../CHANGELOG.md:3 -msgid "Dimension integration manager has been removed from the playbook" +msgid "(BC Break) Synapse Admin is now Ketesa" msgstr "" #: ../../../CHANGELOG.md:5 -msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." +msgid "Synapse Admin has been rebranded to **[Ketesa](https://github.com/etkecc/ketesa)** — a landmark release that introduces a new identity, a full UI redesign, mobile-first layout, and deep Matrix Authentication Service (MAS) integration." msgstr "" #: ../../../CHANGELOG.md:7 -msgid "The playbook will let you know if you're using any `matrix_dimension_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-dimension.md#uninstalling-the-component-manually)." +msgid "Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables." msgstr "" #: ../../../CHANGELOG.md:9 -msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" +msgid "The `matrix-synapse-admin` role has been **renamed** to `matrix-ketesa`. All `matrix_synapse_admin_*` variables must be **renamed** to `matrix_ketesa_*` in your `vars.yml`." msgstr "" #: ../../../CHANGELOG.md:11 -msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgid "Additionally, the **Docker image** changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. The default path prefix remains `/synapse-admin` for backward compatibility — updating to `/ketesa` is recommended but not required." msgstr "" #: ../../../CHANGELOG.md:13 -msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." +msgid "The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed." msgstr "" #: ../../../CHANGELOG.md:15 -#: ../../../CHANGELOG.md:108 -msgid "You need to do the following replacement:" +msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details." msgstr "" #: ../../../CHANGELOG.md:17 -msgid "`matrix_client_hydrogen_` -> `hydrogen_`" +msgid "2026-04-02" msgstr "" #: ../../../CHANGELOG.md:19 -#: ../../../CHANGELOG.md:29 -#: ../../../CHANGELOG.md:90 -#: ../../../CHANGELOG.md:112 -#: ../../../CHANGELOG.md:647 -msgid "As always, the playbook would let you know about this and point out any variables you may have missed." +msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default" msgstr "" #: ../../../CHANGELOG.md:21 -msgid "2026-02-11" +msgid "💡 If you don't use [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md), then this breaking change does not concern you.." msgstr "" #: ../../../CHANGELOG.md:23 -msgid "(BC Break) coturn role has been relocated and variable names need adjustments" +msgid "[Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) now ships with `allowSelfServiceProvisioning: false` as default upstream and in this playbook." msgstr "" #: ../../../CHANGELOG.md:25 -msgid "The role for coturn has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in." msgstr "" #: ../../../CHANGELOG.md:27 -msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration." +msgid "Manual provisioning by administrators is now the recommended approach. You do not want to enable Self Service Provisioning unless you have additional custom safeguards like those used by asgard.chat in place." msgstr "" -#: ../../../CHANGELOG.md:31 -msgid "conduwuit has been removed from the playbook" +#: ../../../CHANGELOG.md:29 +msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:33 -msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." +#: ../../../CHANGELOG.md:36 +msgid "2026-03-23" msgstr "" -#: ../../../CHANGELOG.md:35 -msgid "The playbook will let you know if you're using any `matrix_conduwuit_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the service manually](./docs/configuring-playbook-conduwuit.md#uninstalling-the-service-manually)." +#: ../../../CHANGELOG.md:38 +msgid "Migration validation system introduced" msgstr "" -#: ../../../CHANGELOG.md:37 -msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details." +#: ../../../CHANGELOG.md:40 +msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage." msgstr "" -#: ../../../CHANGELOG.md:39 -msgid "2026-02-09" -msgstr "" - -#: ../../../CHANGELOG.md:41 -msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" -msgstr "" - -#: ../../../CHANGELOG.md:43 -msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +#: ../../../CHANGELOG.md:42 +msgid "Now, the playbook includes a migration validation system that ensures you're aware of breaking changes before they affect your deployment. You're now forced to acknowledge each breaking change, unless you wish to live dangerously (see below)." msgstr "" #: ../../../CHANGELOG.md:45 -msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)." +msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced." msgstr "" #: ../../../CHANGELOG.md:47 -msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use." +msgid "**New users** who started from the [example `vars.yml`](examples/vars.yml) file already have this variable set and do not need to do anything." msgstr "" #: ../../../CHANGELOG.md:49 -msgid "**For existing installations**, retrieve your current values from the server:" +msgid "**Existing users** will need to add the following to their `vars.yml` file after reviewing all changelog entries up to now:" msgstr "" #: ../../../CHANGELOG.md:55 -msgid "Then add to your `vars.yml`:" +msgid "Going forward, whenever a breaking change is introduced the playbook will:" msgstr "" -#: ../../../CHANGELOG.md:64 -msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it." +#: ../../../CHANGELOG.md:57 +msgid "bump its expected version value (`matrix_playbook_migration_expected_version`), causing a discrepancy with what you validated (`matrix_playbook_migration_validated_version`)" msgstr "" -#: ../../../CHANGELOG.md:66 -msgid "2026-02-08" +#: ../../../CHANGELOG.md:59 +msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries" msgstr "" -#: ../../../CHANGELOG.md:68 -msgid "Zulip bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:61 +msgid "After reviewing and adapting your setup, you simply update the variable to the new version." msgstr "" -#: ../../../CHANGELOG.md:70 -msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context." +#: ../../../CHANGELOG.md:63 +msgid "If you'd like to live dangerously and skip these checks (not recommended), you can set this once and be done with it:" msgstr "" -#: ../../../CHANGELOG.md:72 -msgid "Switched to faster secret derivation for service passwords" +#: ../../../CHANGELOG.md:69 +msgid "2026-03-19" msgstr "" -#: ../../../CHANGELOG.md:74 -msgid "We've switched the method used for deriving service passwords (database passwords, appservice tokens, etc.) from the `matrix_homeserver_generic_secret_key` variable." +#: ../../../CHANGELOG.md:71 +msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres" msgstr "" -#: ../../../CHANGELOG.md:76 -msgid "The old method used `password_hash('sha512', rounds=655555)` (655,555 rounds of SHA-512 hashing), which was designed for protecting low-entropy human passwords against brute-force attacks. For deriving secrets from an already high-entropy secret key, this many rounds provide no additional security - the secret key's entropy is what protects the derived passwords, not the computational cost of hashing." +#: ../../../CHANGELOG.md:73 +msgid "When [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) uses the playbook-managed Postgres service, it now connects to it via a [UNIX socket](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" -#: ../../../CHANGELOG.md:78 -msgid "The new method uses a single-round `hash('sha512')` with a unique salt per service. This is equally secure for this use case (SHA-512 remains preimage-resistant; brute-forcing a high-entropy key is infeasible regardless of rounds), while being dramatically faster." +#: ../../../CHANGELOG.md:75 +msgid "This follows the same approach [applied to Synapse](#synapse-now-prefers-unix-sockets-for-playbook-managed-postgres-and-valkey) and reduces unnecessary container-network wiring, keeping local IPC off the network stack." msgstr "" -#: ../../../CHANGELOG.md:80 -msgid "On a fast mini PC, evaluating `postgres_managed_databases` (which references multiple database passwords) dropped from **~10.7 seconds to ~0.6 seconds**. The Postgres role evaluates this variable multiple times during a run, so the cumulative savings are significant. All other roles that reference derived passwords also benefit." +#: ../../../CHANGELOG.md:77 +msgid "If you use an external Postgres server for MAS, this does not change your setup." msgstr "" -#: ../../../CHANGELOG.md:82 -msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change." +#: ../../../CHANGELOG.md:79 +#: ../../../CHANGELOG.md:95 +msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:84 -msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:85 +msgid "2026-03-17" msgstr "" -#: ../../../CHANGELOG.md:86 -msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +#: ../../../CHANGELOG.md:87 +msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey" msgstr "" -#: ../../../CHANGELOG.md:88 -msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration." +#: ../../../CHANGELOG.md:89 +msgid "When Synapse uses the playbook-managed Postgres and Valkey services, it now connects to them via [UNIX sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP." msgstr "" -#: ../../../CHANGELOG.md:92 -msgid "ma1sd has been removed from the playbook" +#: ../../../CHANGELOG.md:91 +msgid "This reduces unnecessary container-network wiring and keeps local IPC off the network stack, which is a bit simpler and slightly more secure." msgstr "" -#: ../../../CHANGELOG.md:94 -msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." -msgstr "" - -#: ../../../CHANGELOG.md:96 -msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)." -msgstr "" - -#: ../../../CHANGELOG.md:98 -msgid "Please note that some of the functions can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./docs/configuring-playbook-ldap-auth.md) instead." -msgstr "" - -#: ../../../CHANGELOG.md:100 -msgid "2026-02-07" +#: ../../../CHANGELOG.md:93 +msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup." msgstr "" #: ../../../CHANGELOG.md:102 -msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" +msgid "2026-03-01" msgstr "" #: ../../../CHANGELOG.md:104 -msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" msgstr "" #: ../../../CHANGELOG.md:106 -msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." +msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" msgstr "" -#: ../../../CHANGELOG.md:110 -msgid "`matrix_client_cinny_` -> `cinny_`" +#: ../../../CHANGELOG.md:108 +msgid "the Synapse `s3_storage_provider` module configuration" msgstr "" -#: ../../../CHANGELOG.md:114 -msgid "The Sliding Sync proxy has been removed from the playbook" +#: ../../../CHANGELOG.md:109 +msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" msgstr "" -#: ../../../CHANGELOG.md:116 -msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)." +#: ../../../CHANGELOG.md:111 +msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." msgstr "" -#: ../../../CHANGELOG.md:118 -msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)." +#: ../../../CHANGELOG.md:113 +msgid "**Affects**: users of [synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) who have configured a non-empty `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` value." msgstr "" -#: ../../../CHANGELOG.md:120 -msgid "2026-02-04" +#: ../../../CHANGELOG.md:115 +msgid "If your bucket data was uploaded without the prefix before this fix, enabling proper prefix usage can make existing objects appear missing until data is migrated/copied to the prefixed key namespace." msgstr "" -#: ../../../CHANGELOG.md:122 -msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" +#: ../../../CHANGELOG.md:117 +msgid "2026-02-26" msgstr "" -#: ../../../CHANGELOG.md:124 -msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities." +#: ../../../CHANGELOG.md:119 +msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:126 -msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" +#: ../../../CHANGELOG.md:121 +msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." +msgstr "" + +#: ../../../CHANGELOG.md:123 +msgid "This is not a user-facing change and does not change variable names (`matrix_synapse_reverse_proxy_companion_*` remain the same). The split looked clean on paper, but in practice both parts are tightly coupled through worker routing, tags (`setup-synapse`/`install-synapse`), and lifecycle ordering, so keeping them separate added coordination overhead with little practical benefit." +msgstr "" + +#: ../../../CHANGELOG.md:125 +msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." +msgstr "" + +#: ../../../CHANGELOG.md:127 +msgid "With this change, Synapse and its reverse-proxy companion are managed in one role (`matrix-synapse`) while still keeping companion logic in dedicated task/template subdirectories for maintainability." +msgstr "" + +#: ../../../CHANGELOG.md:129 +msgid "2026-02-21" +msgstr "" + +#: ../../../CHANGELOG.md:131 +msgid "(BC Break) coturn is no longer auto-enabled by default" msgstr "" #: ../../../CHANGELOG.md:133 -msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details." +msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." msgstr "" #: ../../../CHANGELOG.md:135 -msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" +msgid "This reduces resources and attach surface for deployments which:" msgstr "" #: ../../../CHANGELOG.md:137 -msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))." +msgid "either don't need calls at all" msgstr "" -#: ../../../CHANGELOG.md:139 -msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." +#: ../../../CHANGELOG.md:138 +msgid "or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack." msgstr "" -#: ../../../CHANGELOG.md:141 -msgid "The new implementation calls Synapse's `/whoami` endpoint to resolve access tokens to usernames, enabling proper user-level sticky routing regardless of the authentication system in use (native Synapse auth, MAS, etc.). Results are cached to minimize overhead." +#: ../../../CHANGELOG.md:140 +msgid "Coturn is still auto-enabled when [Jitsi](./docs/configuring-playbook-jitsi.md) is enabled (`jitsi_enabled: true`), because Jitsi still depends on TURN for legacy Matrix integration." msgstr "" -#: ../../../CHANGELOG.md:143 -msgid "This change:" +#: ../../../CHANGELOG.md:142 +msgid "Additionally, Coturn (when enabled) now defaults to using automatic IP detection of your server's external IP address, instead of assuming your Ansible inventory (`ansible_host`) points to a public address and using it for configuring `coturn_turn_external_ip_address`." msgstr "" #: ../../../CHANGELOG.md:144 -msgid "**Automatically enables** when sync workers are configured (no action required)" +msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:145 -msgid "**Works universally** with any authentication system" +#: ../../../CHANGELOG.md:153 +msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" msgstr "" -#: ../../../CHANGELOG.md:146 -msgid "**Replaces the old implementation** entirely to keep the codebase simple" +#: ../../../CHANGELOG.md:155 +msgid "For deployments that use the playbook-managed Traefik reverse-proxy, LiveKit TURN over TCP is now SSL-terminated at Traefik and passed as plain TCP to LiveKit (`turn.external_tls = true`) by default." msgstr "" -#: ../../../CHANGELOG.md:147 -msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" +#: ../../../CHANGELOG.md:157 +msgid "To disable this behavior, set `livekit_server_config_turn_external_tls: false` and the playbook will revert to the old behavior - using traefik-certs-dumper to extract SSL certificates out of Traefik and pass them to LiveKit for explicit SSL termination there." msgstr "" -#: ../../../CHANGELOG.md:149 -msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" +#: ../../../CHANGELOG.md:159 +msgid "If you are using `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), this change does **not** switch behavior automatically. That mode remains using certificate files in the container (Traefik certificates dumper flow) unless you explicitly set the TURN-Traefik mode variables to opt in." msgstr "" -#: ../../../CHANGELOG.md:160 -msgid "2025-12-09" +#: ../../../CHANGELOG.md:161 +msgid "2026-02-17" msgstr "" -#: ../../../CHANGELOG.md:162 -msgid "Traefik Cert Dumper upgrade" +#: ../../../CHANGELOG.md:163 +msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:164 -msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration." +#: ../../../CHANGELOG.md:165 +msgid "The role for prometheus-nginxlog-exporter has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:166 -msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration." +#: ../../../CHANGELOG.md:167 +msgid "Along with the relocation, the `matrix_prometheus_nginxlog_exporter_` prefix on its variable names has been renamed to `prometheus_nginxlog_exporter_`, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:168 -msgid "2025-11-23" +#: ../../../CHANGELOG.md:169 +#: ../../../CHANGELOG.md:231 +#: ../../../CHANGELOG.md:241 +#: ../../../CHANGELOG.md:302 +#: ../../../CHANGELOG.md:324 +#: ../../../CHANGELOG.md:859 +msgid "As always, the playbook would let you know about this and point out any variables you may have missed." msgstr "" -#: ../../../CHANGELOG.md:170 -msgid "Matrix.to support" +#: ../../../CHANGELOG.md:171 +msgid "synapse-auto-invite-accept has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:172 -msgid "The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to)." +#: ../../../CHANGELOG.md:173 +msgid "[synapse-auto-invite-accept](./docs/configuring-playbook-synapse-auto-accept-invite.md) has been removed from the playbook, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0)." msgstr "" -#: ../../../CHANGELOG.md:174 -msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +#: ../../../CHANGELOG.md:175 +msgid "See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse." msgstr "" -#: ../../../CHANGELOG.md:176 -msgid "2025-11-09" +#: ../../../CHANGELOG.md:177 +msgid "If you're using any `matrix_synapse_ext_synapse_auto_accept_invite_*` variables, the playbook will let you know which one you'll need to remove from `vars.yml`." msgstr "" -#: ../../../CHANGELOG.md:178 -msgid "matrix-appservice-webhooks has been removed from the playbook" +#: ../../../CHANGELOG.md:179 +msgid "2026-02-16" msgstr "" -#: ../../../CHANGELOG.md:180 -msgid "[matrix-appservice-webhooks](./docs/configuring-playbook-bridge-appservice-webhooks.md) has been removed from the playbook, as it has been deprecated since more than several years." +#: ../../../CHANGELOG.md:181 +msgid "matrix-appservice-slack has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:182 -msgid "The playbook will let you know if you're using any `matrix_appservice_webhooks_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-appservice-webhooks.md#uninstalling-the-bridge-manually)." +#: ../../../CHANGELOG.md:183 +msgid "[matrix-appservice-slack](./docs/configuring-playbook-bridge-appservice-slack.md) has been removed from the playbook, as it has been discontinued because the public Matrix.org Slack bridge has been decommissioned on January 14th, 2026." msgstr "" -#: ../../../CHANGELOG.md:184 -msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" +#: ../../../CHANGELOG.md:185 +msgid "The playbook will let you know if you're using any `matrix_appservice_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bridge-appservice-slack.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:186 -msgid "[mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) have been removed from the playbook, as they have been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, integrated to the playbook at [2024-02-19](#2024-02-19)." +#: ../../../CHANGELOG.md:187 +msgid "**Note**: Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](./docs/configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook." msgstr "" -#: ../../../CHANGELOG.md:188 -#: ../../../CHANGELOG.md:220 -msgid "The playbook will let you know if you're using any variables for those bridges:" -msgstr "" - -#: ../../../CHANGELOG.md:190 -msgid "`matrix_mautrix_facebook_*`" +#: ../../../CHANGELOG.md:189 +msgid "2026-02-13" msgstr "" #: ../../../CHANGELOG.md:191 -msgid "`matrix_mautrix_instagram_*`" +msgid "Conditional service restart for `install-*` commands" msgstr "" #: ../../../CHANGELOG.md:193 -#: ../../../CHANGELOG.md:227 -msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" +msgid "When running `install-all` or `install-service` (whether via `just` or raw `ansible-playbook`), only services whose configuration or container image actually changed during the playbook run will now be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime — particularly for services like Traefik (the reverse proxy), which previously caused brief connectivity interruptions on every playbook run even when nothing changed." msgstr "" #: ../../../CHANGELOG.md:195 -msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." msgstr "" -#: ../../../CHANGELOG.md:196 -msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:197 +msgid "Currently, only Traefik tracks its own changes and benefits from conditional restart. All other services default to being restarted (the previous behavior). This is just the beginning — as more roles gain change-tracking support, playbook performance will improve and downtime will decrease dramatically, especially for `install-all` runs where most services haven't changed." msgstr "" -#: ../../../CHANGELOG.md:198 -msgid "2025-11-08" +#: ../../../CHANGELOG.md:199 +msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" msgstr "" -#: ../../../CHANGELOG.md:200 -msgid "MatrixZulipBridge support" +#: ../../../CHANGELOG.md:201 +msgid "**Before**:" msgstr "" #: ../../../CHANGELOG.md:202 -msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)." +msgid "total time: ~56 seconds 🐌" +msgstr "" + +#: ../../../CHANGELOG.md:203 +msgid "Traefik restarted: yes (unnecessarily) ❌" msgstr "" #: ../../../CHANGELOG.md:204 -msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +msgid "dependent services restarted: yes, all of them ❌" +msgstr "" + +#: ../../../CHANGELOG.md:205 +msgid "**After**:" msgstr "" #: ../../../CHANGELOG.md:206 -msgid "2025-11-07" +msgid "total time: ~27 seconds ⚡" +msgstr "" + +#: ../../../CHANGELOG.md:207 +msgid "Traefik restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:208 -msgid "The matrix-chatgpt-bot has been removed from the playbook" +msgid "dependent services restarted: no ✅" msgstr "" #: ../../../CHANGELOG.md:210 -msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024." +msgid "This behavior can be overridden via `--extra-vars='devture_systemd_service_manager_conditional_restart_enabled=false'` to force unconditional restarts. See [Conditional service restart](docs/just.md#conditional-service-restart) for details." msgstr "" -#: ../../../CHANGELOG.md:212 -msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)." +#: ../../../CHANGELOG.md:213 +msgid "2026-02-12" msgstr "" -#: ../../../CHANGELOG.md:214 -msgid "2025-11-05" +#: ../../../CHANGELOG.md:215 +msgid "Dimension integration manager has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:216 -msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" +#: ../../../CHANGELOG.md:217 +msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." msgstr "" -#: ../../../CHANGELOG.md:218 -msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context." +#: ../../../CHANGELOG.md:219 +msgid "The playbook will let you know if you're using any `matrix_dimension_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-dimension.md#uninstalling-the-component-manually)." msgstr "" -#: ../../../CHANGELOG.md:222 -msgid "`matrix_mx_puppet_discord_*`" +#: ../../../CHANGELOG.md:221 +msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:223 -msgid "`matrix_mx_puppet_instagram_*`" -msgstr "" - -#: ../../../CHANGELOG.md:224 -msgid "`matrix_mx_puppet_slack_*`" +msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:225 -msgid "`matrix_mx_puppet_twitter_*`" +msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." +msgstr "" + +#: ../../../CHANGELOG.md:227 +#: ../../../CHANGELOG.md:320 +msgid "You need to do the following replacement:" msgstr "" #: ../../../CHANGELOG.md:229 -msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" +msgid "`matrix_client_hydrogen_` -> `hydrogen_`" msgstr "" -#: ../../../CHANGELOG.md:230 -msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:233 +msgid "2026-02-11" msgstr "" -#: ../../../CHANGELOG.md:231 -msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:235 +msgid "(BC Break) coturn role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:232 -msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:237 +msgid "The role for coturn has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:234 -msgid "2025-11-04" +#: ../../../CHANGELOG.md:239 +msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:236 -msgid "The Go Skype bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:243 +msgid "conduwuit has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:238 -msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025." +#: ../../../CHANGELOG.md:245 +msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." msgstr "" -#: ../../../CHANGELOG.md:240 -msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)." +#: ../../../CHANGELOG.md:247 +msgid "The playbook will let you know if you're using any `matrix_conduwuit_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the service manually](./docs/configuring-playbook-conduwuit.md#uninstalling-the-service-manually)." msgstr "" -#: ../../../CHANGELOG.md:242 -msgid "2025-10-02" +#: ../../../CHANGELOG.md:249 +msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details." msgstr "" -#: ../../../CHANGELOG.md:244 -msgid "Element Admin support" -msgstr "" - -#: ../../../CHANGELOG.md:246 -msgid "The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md)." -msgstr "" - -#: ../../../CHANGELOG.md:248 -msgid "Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time." -msgstr "" - -#: ../../../CHANGELOG.md:250 -msgid "Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form)." +#: ../../../CHANGELOG.md:251 +msgid "2026-02-09" msgstr "" #: ../../../CHANGELOG.md:253 -msgid "2025-04-26" +msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" msgstr "" #: ../../../CHANGELOG.md:255 -msgid "Continuwuity support" +msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" msgstr "" #: ../../../CHANGELOG.md:257 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." +msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)." msgstr "" #: ../../../CHANGELOG.md:259 -msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path." +msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use." msgstr "" #: ../../../CHANGELOG.md:261 -#: ../../../CHANGELOG.md:474 -msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." +msgid "**For existing installations**, retrieve your current values from the server:" msgstr "" -#: ../../../CHANGELOG.md:263 -msgid "People that used to run conduwuit, may wish to:" +#: ../../../CHANGELOG.md:267 +msgid "Then add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:265 -msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" +#: ../../../CHANGELOG.md:276 +msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it." msgstr "" -#: ../../../CHANGELOG.md:266 -msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" +#: ../../../CHANGELOG.md:278 +msgid "2026-02-08" msgstr "" -#: ../../../CHANGELOG.md:268 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss." +#: ../../../CHANGELOG.md:280 +msgid "Zulip bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:271 -msgid "2025-04-09" +#: ../../../CHANGELOG.md:282 +msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context." msgstr "" -#: ../../../CHANGELOG.md:273 -msgid "Element Call frontend installation is now optional" +#: ../../../CHANGELOG.md:284 +msgid "Switched to faster secret derivation for service passwords" msgstr "" -#: ../../../CHANGELOG.md:275 -msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**." +#: ../../../CHANGELOG.md:286 +msgid "We've switched the method used for deriving service passwords (database passwords, appservice tokens, etc.) from the `matrix_homeserver_generic_secret_key` variable." msgstr "" -#: ../../../CHANGELOG.md:277 -msgid "💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client)." -msgstr "" - -#: ../../../CHANGELOG.md:279 -msgid "The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack)." -msgstr "" - -#: ../../../CHANGELOG.md:281 -msgid "If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by:" -msgstr "" - -#: ../../../CHANGELOG.md:283 -msgid "Adjusting your `vars.yml` configuration like this:" +#: ../../../CHANGELOG.md:288 +msgid "The old method used `password_hash('sha512', rounds=655555)` (655,555 rounds of SHA-512 hashing), which was designed for protecting low-entropy human passwords against brute-force attacks. For deriving secrets from an already high-entropy secret key, this many rounds provide no additional security - the secret key's entropy is what protects the derived passwords, not the computational cost of hashing." msgstr "" #: ../../../CHANGELOG.md:290 -msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" +msgid "The new method uses a single-round `hash('sha512')` with a unique salt per service. This is equally secure for this use case (SHA-512 remains preimage-resistant; brute-forcing a high-entropy key is infeasible regardless of rounds), while being dramatically faster." msgstr "" #: ../../../CHANGELOG.md:292 -msgid "Getting rid of the `call.element.example.com` DNS record" +msgid "On a fast mini PC, evaluating `postgres_managed_databases` (which references multiple database passwords) dropped from **~10.7 seconds to ~0.6 seconds**. The Postgres role evaluates this variable multiple times during a run, so the cumulative savings are significant. All other roles that reference derived passwords also benefit." msgstr "" -#: ../../../CHANGELOG.md:295 -msgid "2025-03-15" +#: ../../../CHANGELOG.md:294 +msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change." msgstr "" -#: ../../../CHANGELOG.md:297 -msgid "Element Call support" +#: ../../../CHANGELOG.md:296 +msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:299 -msgid "The playbook now supports [Element Call](https://github.com/element-hq/element-call) as an optional feature. Thanks to [wjbeckett](https://github.com/wjbeckett) for getting us started via [PR#3562](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562)." +#: ../../../CHANGELOG.md:298 +msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:301 -msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions." +#: ../../../CHANGELOG.md:300 +msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:303 -msgid "💡 For now, Element Call is only supported with the [Synapse](docs/configuring-playbook-synapse.md) homeserver (with [federation](docs/configuring-playbook-federation.md) enabled) and [Element Web](docs/configuring-playbook-client-element-web.md) and Element X mobile clients. See the [Prerequisites](docs/configuring-playbook-element-call.md#prerequisites) section of the [Element Call documentation](docs/configuring-playbook-element-call.md) for more details." +#: ../../../CHANGELOG.md:304 +msgid "ma1sd has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:305 -msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." +#: ../../../CHANGELOG.md:306 +msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." msgstr "" #: ../../../CHANGELOG.md:308 -msgid "2025-03-08" +msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)." msgstr "" #: ../../../CHANGELOG.md:310 -msgid "6️⃣ IPv6 support enablement recommended by default" +msgid "Please note that some of the functions can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./docs/configuring-playbook-ldap-auth.md) instead." msgstr "" #: ../../../CHANGELOG.md:312 -msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet." +msgid "2026-02-07" msgstr "" #: ../../../CHANGELOG.md:314 -msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." +msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:316 -msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" +msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" #: ../../../CHANGELOG.md:318 -msgid "enabling IPv6 support for the Docker container networks:" -msgstr "" - -#: ../../../CHANGELOG.md:319 -msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" -msgstr "" - -#: ../../../CHANGELOG.md:320 -msgid "stop all services (`just stop-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:321 -msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" +msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:322 -msgid "re-run the playbook fully: `just install-all`" -msgstr "" - -#: ../../../CHANGELOG.md:324 -msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" +msgid "`matrix_client_cinny_` -> `cinny_`" msgstr "" #: ../../../CHANGELOG.md:326 -msgid "2025-02-26" +msgid "The Sliding Sync proxy has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:328 -msgid "🪦 Bye-bye, Email2Matrix" +msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)." msgstr "" #: ../../../CHANGELOG.md:330 -msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today." +msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)." msgstr "" #: ../../../CHANGELOG.md:332 -msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration." +msgid "2026-02-04" msgstr "" -#: ../../../CHANGELOG.md:335 -msgid "2025-02-23" +#: ../../../CHANGELOG.md:334 +msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" msgstr "" -#: ../../../CHANGELOG.md:337 -msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" +#: ../../../CHANGELOG.md:336 +msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities." msgstr "" -#: ../../../CHANGELOG.md:339 -msgid "Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks." +#: ../../../CHANGELOG.md:338 +msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" msgstr "" -#: ../../../CHANGELOG.md:341 -msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**." +#: ../../../CHANGELOG.md:345 +msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details." msgstr "" -#: ../../../CHANGELOG.md:344 -msgid "In light of this new information, you have 2 options:" +#: ../../../CHANGELOG.md:347 +msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" msgstr "" -#: ../../../CHANGELOG.md:346 -msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" +#: ../../../CHANGELOG.md:349 +msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))." msgstr "" -#: ../../../CHANGELOG.md:348 -msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." +#: ../../../CHANGELOG.md:351 +msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt__...`). This approach failed for [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) deployments, where tokens are opaque and don't contain username information. This resulted in device-level stickiness (same token → same worker) rather than user-level stickiness (same user → same worker regardless of device), leading to suboptimal cache utilization on sync workers." msgstr "" -#: ../../../CHANGELOG.md:350 -msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" +#: ../../../CHANGELOG.md:353 +msgid "The new implementation calls Synapse's `/whoami` endpoint to resolve access tokens to usernames, enabling proper user-level sticky routing regardless of the authentication system in use (native Synapse auth, MAS, etc.). Results are cached to minimize overhead." msgstr "" -#: ../../../CHANGELOG.md:352 -msgid "Consider closing the STUN/UDP port with the following configuration:" +#: ../../../CHANGELOG.md:355 +msgid "This change:" +msgstr "" + +#: ../../../CHANGELOG.md:356 +msgid "**Automatically enables** when sync workers are configured (no action required)" +msgstr "" + +#: ../../../CHANGELOG.md:357 +msgid "**Works universally** with any authentication system" msgstr "" #: ../../../CHANGELOG.md:358 -msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" +msgid "**Replaces the old implementation** entirely to keep the codebase simple" msgstr "" -#: ../../../CHANGELOG.md:360 -msgid "2025-02-21" +#: ../../../CHANGELOG.md:359 +msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" msgstr "" -#: ../../../CHANGELOG.md:362 -msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" -msgstr "" - -#: ../../../CHANGELOG.md:364 -msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`." -msgstr "" - -#: ../../../CHANGELOG.md:366 -msgid "This variable did **2 different things at once**:" -msgstr "" - -#: ../../../CHANGELOG.md:368 -msgid "ensured that container networks were created with IPv6 being enabled" -msgstr "" - -#: ../../../CHANGELOG.md:369 -msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)" -msgstr "" - -#: ../../../CHANGELOG.md:371 -msgid "Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:" +#: ../../../CHANGELOG.md:361 +msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" msgstr "" #: ../../../CHANGELOG.md:372 -msgid "`ip6tables` defaults to `true` for everyone" +msgid "2025-12-09" msgstr "" -#: ../../../CHANGELOG.md:373 -msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" +#: ../../../CHANGELOG.md:374 +msgid "Traefik Cert Dumper upgrade" msgstr "" -#: ../../../CHANGELOG.md:375 -msgid "In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`." +#: ../../../CHANGELOG.md:376 +msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration." msgstr "" #: ../../../CHANGELOG.md:378 -msgid "This change affects you like this:" +msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration." msgstr "" #: ../../../CHANGELOG.md:380 -msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" -msgstr "" - -#: ../../../CHANGELOG.md:381 -msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" +msgid "2025-11-23" msgstr "" #: ../../../CHANGELOG.md:382 -msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected." +msgid "Matrix.to support" msgstr "" -#: ../../../CHANGELOG.md:383 -msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:" +#: ../../../CHANGELOG.md:384 +msgid "The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to)." +msgstr "" + +#: ../../../CHANGELOG.md:386 +msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:388 +msgid "2025-11-09" +msgstr "" + +#: ../../../CHANGELOG.md:390 +msgid "matrix-appservice-webhooks has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:392 +msgid "[matrix-appservice-webhooks](./docs/configuring-playbook-bridge-appservice-webhooks.md) has been removed from the playbook, as it has been deprecated since more than several years." msgstr "" #: ../../../CHANGELOG.md:394 -msgid "Support for bridging to Bluesky via mautrix-bluesky" +msgid "The playbook will let you know if you're using any `matrix_appservice_webhooks_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-appservice-webhooks.md#uninstalling-the-bridge-manually)." msgstr "" #: ../../../CHANGELOG.md:396 -msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)." +msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:398 -msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." +msgid "[mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) have been removed from the playbook, as they have been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, integrated to the playbook at [2024-02-19](#2024-02-19)." msgstr "" -#: ../../../CHANGELOG.md:401 -msgid "2025-02-19" +#: ../../../CHANGELOG.md:400 +#: ../../../CHANGELOG.md:432 +msgid "The playbook will let you know if you're using any variables for those bridges:" +msgstr "" + +#: ../../../CHANGELOG.md:402 +msgid "`matrix_mautrix_facebook_*`" msgstr "" #: ../../../CHANGELOG.md:403 -msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" +msgid "`matrix_mautrix_instagram_*`" msgstr "" #: ../../../CHANGELOG.md:405 -msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)." +#: ../../../CHANGELOG.md:439 +msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" msgstr "" #: ../../../CHANGELOG.md:407 -msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem." +msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:409 -msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." +#: ../../../CHANGELOG.md:408 +msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:411 -msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." +#: ../../../CHANGELOG.md:410 +msgid "2025-11-08" msgstr "" -#: ../../../CHANGELOG.md:413 -msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:" +#: ../../../CHANGELOG.md:412 +msgid "MatrixZulipBridge support" msgstr "" -#: ../../../CHANGELOG.md:419 -msgid "[!WARNING] People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)." +#: ../../../CHANGELOG.md:414 +msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)." msgstr "" -#: ../../../CHANGELOG.md:423 -msgid "2025-02-17" +#: ../../../CHANGELOG.md:416 +msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:425 -msgid "FluffyChat Web support" +#: ../../../CHANGELOG.md:418 +msgid "2025-11-07" msgstr "" -#: ../../../CHANGELOG.md:427 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host." +#: ../../../CHANGELOG.md:420 +msgid "The matrix-chatgpt-bot has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:429 -msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." +#: ../../../CHANGELOG.md:422 +msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024." msgstr "" -#: ../../../CHANGELOG.md:432 -msgid "2025-02-03" +#: ../../../CHANGELOG.md:424 +msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)." +msgstr "" + +#: ../../../CHANGELOG.md:426 +msgid "2025-11-05" +msgstr "" + +#: ../../../CHANGELOG.md:428 +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:430 +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context." msgstr "" #: ../../../CHANGELOG.md:434 -msgid "The mautrix-hangouts bridge has been removed from the playbook" +msgid "`matrix_mx_puppet_discord_*`" +msgstr "" + +#: ../../../CHANGELOG.md:435 +msgid "`matrix_mx_puppet_instagram_*`" msgstr "" #: ../../../CHANGELOG.md:436 -msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025." +msgid "`matrix_mx_puppet_slack_*`" msgstr "" -#: ../../../CHANGELOG.md:438 -msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." +#: ../../../CHANGELOG.md:437 +msgid "`matrix_mx_puppet_twitter_*`" msgstr "" -#: ../../../CHANGELOG.md:440 -msgid "The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually)." +#: ../../../CHANGELOG.md:441 +msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" +msgstr "" + +#: ../../../CHANGELOG.md:442 +msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" msgstr "" #: ../../../CHANGELOG.md:443 -msgid "2025-01-27" +msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:445 -msgid "Redis and KeyDB are no longer part of the playbook" +#: ../../../CHANGELOG.md:444 +msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:447 -msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." +#: ../../../CHANGELOG.md:446 +msgid "2025-11-04" msgstr "" -#: ../../../CHANGELOG.md:449 -msgid "The playbook has gone through several iterations of memorystore implementations:" +#: ../../../CHANGELOG.md:448 +msgid "The Go Skype bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:451 -msgid "It initially used Redis, auto-installing it when needed by features/services" +#: ../../../CHANGELOG.md:450 +msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025." msgstr "" #: ../../../CHANGELOG.md:452 -msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" +msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)." msgstr "" -#: ../../../CHANGELOG.md:453 -msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" +#: ../../../CHANGELOG.md:454 +msgid "2025-10-02" msgstr "" -#: ../../../CHANGELOG.md:455 -msgid "To reduce configuration complexity and maintenance overhead, we are now:" -msgstr "" - -#: ../../../CHANGELOG.md:457 -msgid "removing Redis and KeyDB support entirely" +#: ../../../CHANGELOG.md:456 +msgid "Element Admin support" msgstr "" #: ../../../CHANGELOG.md:458 -msgid "using Valkey as the sole Redis-compatible memorystore implementation" +msgid "The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md)." msgstr "" #: ../../../CHANGELOG.md:460 -msgid "To update your configuration:" +msgid "Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time." msgstr "" #: ../../../CHANGELOG.md:462 -msgid "**Most users** don't need to do anything" +msgid "Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form)." msgstr "" -#: ../../../CHANGELOG.md:463 -msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" +#: ../../../CHANGELOG.md:465 +msgid "2025-04-26" msgstr "" -#: ../../../CHANGELOG.md:466 -msgid "2025-01-19" +#: ../../../CHANGELOG.md:467 +msgid "Continuwuity support" msgstr "" -#: ../../../CHANGELOG.md:468 -msgid "conduwuit support" +#: ../../../CHANGELOG.md:469 +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." msgstr "" -#: ../../../CHANGELOG.md:470 -msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." +#: ../../../CHANGELOG.md:471 +msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path." msgstr "" -#: ../../../CHANGELOG.md:472 -msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." +#: ../../../CHANGELOG.md:473 +#: ../../../CHANGELOG.md:686 +msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" -#: ../../../CHANGELOG.md:476 -msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." +#: ../../../CHANGELOG.md:475 +msgid "People that used to run conduwuit, may wish to:" +msgstr "" + +#: ../../../CHANGELOG.md:477 +msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" msgstr "" #: ../../../CHANGELOG.md:478 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." +msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook" msgstr "" -#: ../../../CHANGELOG.md:481 -msgid "2025-01-14" +#: ../../../CHANGELOG.md:480 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss." msgstr "" #: ../../../CHANGELOG.md:483 -msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +msgid "2025-04-09" msgstr "" #: ../../../CHANGELOG.md:485 -msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +msgid "Element Call frontend installation is now optional" msgstr "" #: ../../../CHANGELOG.md:487 -msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." +msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**." msgstr "" #: ../../../CHANGELOG.md:489 -msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." +msgid "💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client)." msgstr "" #: ../../../CHANGELOG.md:491 -msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." +msgid "The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack)." msgstr "" #: ../../../CHANGELOG.md:493 -msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" +msgid "If you've already installed Element Call (via `matrix_element_call_enabled: true`), you can switch to installing just the [Matrix RTC (Real-Time Communication) stack](./docs/configuring-playbook-matrix-rtc.md) (all supporting services **without the Element Call frontend**) by:" msgstr "" -#: ../../../CHANGELOG.md:501 -msgid "2024-11-26" +#: ../../../CHANGELOG.md:495 +msgid "Adjusting your `vars.yml` configuration like this:" msgstr "" -#: ../../../CHANGELOG.md:503 -msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" +#: ../../../CHANGELOG.md:502 +msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" msgstr "" -#: ../../../CHANGELOG.md:505 -msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." +#: ../../../CHANGELOG.md:504 +msgid "Getting rid of the `call.element.example.com` DNS record" msgstr "" #: ../../../CHANGELOG.md:507 -msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." +msgid "2025-03-15" msgstr "" #: ../../../CHANGELOG.md:509 -msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." +msgid "Element Call support" msgstr "" #: ../../../CHANGELOG.md:511 -msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." +msgid "The playbook now supports [Element Call](https://github.com/element-hq/element-call) as an optional feature. Thanks to [wjbeckett](https://github.com/wjbeckett) for getting us started via [PR#3562](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562)." msgstr "" #: ../../../CHANGELOG.md:513 -msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." +msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions." msgstr "" #: ../../../CHANGELOG.md:515 -msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." +msgid "💡 For now, Element Call is only supported with the [Synapse](docs/configuring-playbook-synapse.md) homeserver (with [federation](docs/configuring-playbook-federation.md) enabled) and [Element Web](docs/configuring-playbook-client-element-web.md) and Element X mobile clients. See the [Prerequisites](docs/configuring-playbook-element-call.md#prerequisites) section of the [Element Call documentation](docs/configuring-playbook-element-call.md) for more details." msgstr "" #: ../../../CHANGELOG.md:517 -msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." +msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:520 -msgid "2024-11-23" +msgid "2025-03-08" msgstr "" #: ../../../CHANGELOG.md:522 -msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" +msgid "6️⃣ IPv6 support enablement recommended by default" msgstr "" #: ../../../CHANGELOG.md:524 -msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." +msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet." msgstr "" #: ../../../CHANGELOG.md:526 -msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." +msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." msgstr "" #: ../../../CHANGELOG.md:528 -msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." +msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" msgstr "" #: ../../../CHANGELOG.md:530 -msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." +msgid "enabling IPv6 support for the Docker container networks:" +msgstr "" + +#: ../../../CHANGELOG.md:531 +msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" msgstr "" #: ../../../CHANGELOG.md:532 -msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." +msgid "stop all services (`just stop-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:533 +msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" msgstr "" #: ../../../CHANGELOG.md:534 -msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." +msgid "re-run the playbook fully: `just install-all`" msgstr "" #: ../../../CHANGELOG.md:536 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." +msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" msgstr "" #: ../../../CHANGELOG.md:538 -#: ../../../CHANGELOG.md:878 -msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +msgid "2025-02-26" +msgstr "" + +#: ../../../CHANGELOG.md:540 +msgid "🪦 Bye-bye, Email2Matrix" +msgstr "" + +#: ../../../CHANGELOG.md:542 +msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today." +msgstr "" + +#: ../../../CHANGELOG.md:544 +msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration." +msgstr "" + +#: ../../../CHANGELOG.md:547 +msgid "2025-02-23" msgstr "" #: ../../../CHANGELOG.md:549 -msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" +msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" msgstr "" -#: ../../../CHANGELOG.md:559 -msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." +#: ../../../CHANGELOG.md:551 +msgid "Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks." +msgstr "" + +#: ../../../CHANGELOG.md:553 +msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**." +msgstr "" + +#: ../../../CHANGELOG.md:556 +msgid "In light of this new information, you have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:558 +msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" +msgstr "" + +#: ../../../CHANGELOG.md:560 +msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." msgstr "" #: ../../../CHANGELOG.md:562 -msgid "2024-11-14" +msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" msgstr "" #: ../../../CHANGELOG.md:564 -msgid "HTTP-compression support for Traefik-based setups" -msgstr "" - -#: ../../../CHANGELOG.md:566 -msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." -msgstr "" - -#: ../../../CHANGELOG.md:568 -msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +msgid "Consider closing the STUN/UDP port with the following configuration:" msgstr "" #: ../../../CHANGELOG.md:570 -msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" msgstr "" #: ../../../CHANGELOG.md:572 -msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +msgid "2025-02-21" msgstr "" #: ../../../CHANGELOG.md:574 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" msgstr "" #: ../../../CHANGELOG.md:576 -msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" -msgstr "" - -#: ../../../CHANGELOG.md:577 -msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`." msgstr "" #: ../../../CHANGELOG.md:578 -msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +msgid "This variable did **2 different things at once**:" msgstr "" #: ../../../CHANGELOG.md:580 -msgid "Timeout adjustments for Traefik-based setups" +msgid "ensured that container networks were created with IPv6 being enabled" msgstr "" -#: ../../../CHANGELOG.md:582 -msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." +#: ../../../CHANGELOG.md:581 +msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)" +msgstr "" + +#: ../../../CHANGELOG.md:583 +msgid "Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:" msgstr "" #: ../../../CHANGELOG.md:584 -msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." +msgid "`ip6tables` defaults to `true` for everyone" msgstr "" -#: ../../../CHANGELOG.md:586 -msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." +#: ../../../CHANGELOG.md:585 +msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" msgstr "" -#: ../../../CHANGELOG.md:588 -msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." +#: ../../../CHANGELOG.md:587 +msgid "In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`." msgstr "" #: ../../../CHANGELOG.md:590 -msgid "Example of the default timeout values used by the playbook:" +msgid "This change affects you like this:" msgstr "" -#: ../../../CHANGELOG.md:601 -msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." +#: ../../../CHANGELOG.md:592 +msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" msgstr "" -#: ../../../CHANGELOG.md:604 -msgid "2024-11-08" +#: ../../../CHANGELOG.md:593 +msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" +msgstr "" + +#: ../../../CHANGELOG.md:594 +msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected." +msgstr "" + +#: ../../../CHANGELOG.md:595 +msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:" msgstr "" #: ../../../CHANGELOG.md:606 -msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" +msgid "Support for bridging to Bluesky via mautrix-bluesky" msgstr "" #: ../../../CHANGELOG.md:608 -msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." +msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)." msgstr "" #: ../../../CHANGELOG.md:610 -msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." +msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:612 -msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" +#: ../../../CHANGELOG.md:613 +msgid "2025-02-19" msgstr "" #: ../../../CHANGELOG.md:615 -msgid "2024-10-28" +msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" msgstr "" #: ../../../CHANGELOG.md:617 -msgid "(BC Break) Postmoogle's variable names need adjustments" +msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)." msgstr "" #: ../../../CHANGELOG.md:619 -msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." +msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem." msgstr "" #: ../../../CHANGELOG.md:621 -msgid "2024-10-19" +msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." msgstr "" #: ../../../CHANGELOG.md:623 -msgid "Support for Matrix Authentication Service" +msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." msgstr "" #: ../../../CHANGELOG.md:625 -msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." -msgstr "" - -#: ../../../CHANGELOG.md:627 -msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." -msgstr "" - -#: ../../../CHANGELOG.md:629 -msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." +msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:631 -msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." +msgid "[!WARNING] People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)." msgstr "" -#: ../../../CHANGELOG.md:634 -msgid "2024-09-27" +#: ../../../CHANGELOG.md:635 +msgid "2025-02-17" msgstr "" -#: ../../../CHANGELOG.md:636 -msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:637 +msgid "FluffyChat Web support" msgstr "" -#: ../../../CHANGELOG.md:638 -msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." +#: ../../../CHANGELOG.md:639 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host." msgstr "" -#: ../../../CHANGELOG.md:640 -msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." -msgstr "" - -#: ../../../CHANGELOG.md:642 -msgid "You need to do the following replacements:" +#: ../../../CHANGELOG.md:641 +msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:644 -msgid "`devture_postgres_` -> `postgres_`" +msgid "2025-02-03" msgstr "" -#: ../../../CHANGELOG.md:645 -msgid "`devture_traefik_` -> `traefik_`" +#: ../../../CHANGELOG.md:646 +msgid "The mautrix-hangouts bridge has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:648 +msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025." msgstr "" #: ../../../CHANGELOG.md:650 -msgid "2024-09-12" +msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." msgstr "" #: ../../../CHANGELOG.md:652 -msgid "Support for baibot" +msgid "The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually)." msgstr "" -#: ../../../CHANGELOG.md:654 -msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" +#: ../../../CHANGELOG.md:655 +msgid "2025-01-27" msgstr "" -#: ../../../CHANGELOG.md:656 -msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." +#: ../../../CHANGELOG.md:657 +msgid "Redis and KeyDB are no longer part of the playbook" msgstr "" -#: ../../../CHANGELOG.md:658 -msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." +#: ../../../CHANGELOG.md:659 +msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead." msgstr "" -#: ../../../CHANGELOG.md:660 -msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." +#: ../../../CHANGELOG.md:661 +msgid "The playbook has gone through several iterations of memorystore implementations:" msgstr "" -#: ../../../CHANGELOG.md:662 -msgid "Switching synapse-admin to etke.cc's fork" +#: ../../../CHANGELOG.md:663 +msgid "It initially used Redis, auto-installing it when needed by features/services" msgstr "" #: ../../../CHANGELOG.md:664 -msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." +msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis" msgstr "" -#: ../../../CHANGELOG.md:666 -msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." +#: ../../../CHANGELOG.md:665 +msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them" msgstr "" -#: ../../../CHANGELOG.md:668 -msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." +#: ../../../CHANGELOG.md:667 +msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgstr "" + +#: ../../../CHANGELOG.md:669 +msgid "removing Redis and KeyDB support entirely" msgstr "" #: ../../../CHANGELOG.md:670 -msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" +msgid "using Valkey as the sole Redis-compatible memorystore implementation" msgstr "" -#: ../../../CHANGELOG.md:683 -msgid "2024-08-17" +#: ../../../CHANGELOG.md:672 +msgid "To update your configuration:" msgstr "" -#: ../../../CHANGELOG.md:685 -msgid "New appservice-double-puppet service for better double-puppeting" +#: ../../../CHANGELOG.md:674 +msgid "**Most users** don't need to do anything" msgstr "" -#: ../../../CHANGELOG.md:687 -msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." +#: ../../../CHANGELOG.md:675 +msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" msgstr "" -#: ../../../CHANGELOG.md:689 -msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." +#: ../../../CHANGELOG.md:678 +msgid "2025-01-19" msgstr "" -#: ../../../CHANGELOG.md:691 -msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." +#: ../../../CHANGELOG.md:680 +msgid "conduwuit support" +msgstr "" + +#: ../../../CHANGELOG.md:682 +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations." +msgstr "" + +#: ../../../CHANGELOG.md:684 +msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)." +msgstr "" + +#: ../../../CHANGELOG.md:688 +msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details." +msgstr "" + +#: ../../../CHANGELOG.md:690 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss." msgstr "" #: ../../../CHANGELOG.md:693 -msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." +msgid "2025-01-14" msgstr "" #: ../../../CHANGELOG.md:695 -msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +msgstr "" + +#: ../../../CHANGELOG.md:697 +msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +msgstr "" + +#: ../../../CHANGELOG.md:699 +msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file." msgstr "" #: ../../../CHANGELOG.md:701 -msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." +msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup." msgstr "" #: ../../../CHANGELOG.md:703 -msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." +msgid "If you're using an external Postgres server (not installed by this playbook), you'll need to figure out how to upgrade it yourself." msgstr "" -#: ../../../CHANGELOG.md:706 -msgid "2024-08-15" +#: ../../../CHANGELOG.md:705 +msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:708 -msgid "matrix-media-repo now configured for Authenticated Media" +#: ../../../CHANGELOG.md:713 +msgid "2024-11-26" msgstr "" -#: ../../../CHANGELOG.md:710 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." +#: ../../../CHANGELOG.md:715 +msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" msgstr "" -#: ../../../CHANGELOG.md:712 -msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." -msgstr "" - -#: ../../../CHANGELOG.md:714 -msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." -msgstr "" - -#: ../../../CHANGELOG.md:716 -msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:717 +msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)." msgstr "" #: ../../../CHANGELOG.md:719 -msgid "2024-08-08" +msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)." msgstr "" #: ../../../CHANGELOG.md:721 -msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." msgstr "" #: ../../../CHANGELOG.md:723 -msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." +msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default." msgstr "" #: ../../../CHANGELOG.md:725 -msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." +msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." msgstr "" #: ../../../CHANGELOG.md:727 -msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" +msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know." msgstr "" -#: ../../../CHANGELOG.md:733 -msgid "2024-07-25" +#: ../../../CHANGELOG.md:729 +msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook." msgstr "" -#: ../../../CHANGELOG.md:735 -msgid "synapse-usage-exporter support" +#: ../../../CHANGELOG.md:732 +msgid "2024-11-23" msgstr "" -#: ../../../CHANGELOG.md:737 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." +#: ../../../CHANGELOG.md:734 +msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" msgstr "" -#: ../../../CHANGELOG.md:739 -msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." +#: ../../../CHANGELOG.md:736 +msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again." +msgstr "" + +#: ../../../CHANGELOG.md:738 +msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)." +msgstr "" + +#: ../../../CHANGELOG.md:740 +msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)." msgstr "" #: ../../../CHANGELOG.md:742 -msgid "2024-07-06" +msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey." msgstr "" #: ../../../CHANGELOG.md:744 -msgid "matrix-alertmanager-receiver support" +msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it." msgstr "" #: ../../../CHANGELOG.md:746 -msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." +msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens." msgstr "" #: ../../../CHANGELOG.md:748 -msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)." msgstr "" #: ../../../CHANGELOG.md:750 -msgid "Traefik v3 and HTTP/3 are here now" +#: ../../../CHANGELOG.md:1090 +msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:752 -msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." +#: ../../../CHANGELOG.md:761 +msgid "**The playbook still supports KeyDB** and you can keep using KeyDB (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:754 -msgid "Traefik v3" -msgstr "" - -#: ../../../CHANGELOG.md:756 -msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." -msgstr "" - -#: ../../../CHANGELOG.md:758 -msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." -msgstr "" - -#: ../../../CHANGELOG.md:760 -msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." -msgstr "" - -#: ../../../CHANGELOG.md:762 -msgid "**Most people using the playbook should not have to do any changes**." -msgstr "" - -#: ../../../CHANGELOG.md:764 -msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." -msgstr "" - -#: ../../../CHANGELOG.md:766 -msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." -msgstr "" - -#: ../../../CHANGELOG.md:768 -msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." -msgstr "" - -#: ../../../CHANGELOG.md:770 -msgid "HTTP/3 is enabled by default" -msgstr "" - -#: ../../../CHANGELOG.md:772 -msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." +#: ../../../CHANGELOG.md:771 +msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway." msgstr "" #: ../../../CHANGELOG.md:774 -msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." +msgid "2024-11-14" msgstr "" #: ../../../CHANGELOG.md:776 -msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." +msgid "HTTP-compression support for Traefik-based setups" msgstr "" #: ../../../CHANGELOG.md:778 -msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." +msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)." msgstr "" #: ../../../CHANGELOG.md:780 -msgid "To **disable HTTP/3**, you can use the following configuration:" +msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression." +msgstr "" + +#: ../../../CHANGELOG.md:782 +msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support." +msgstr "" + +#: ../../../CHANGELOG.md:784 +msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)." +msgstr "" + +#: ../../../CHANGELOG.md:786 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:" +msgstr "" + +#: ../../../CHANGELOG.md:788 +msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)" +msgstr "" + +#: ../../../CHANGELOG.md:789 +msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgstr "" + +#: ../../../CHANGELOG.md:790 +msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)" +msgstr "" + +#: ../../../CHANGELOG.md:792 +msgid "Timeout adjustments for Traefik-based setups" msgstr "" #: ../../../CHANGELOG.md:794 -msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" +msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints." msgstr "" -#: ../../../CHANGELOG.md:807 -msgid "2024-07-01" +#: ../../../CHANGELOG.md:796 +msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually." msgstr "" -#: ../../../CHANGELOG.md:809 -msgid "synapse-admin is now restricted to your homeserver's URL by default" +#: ../../../CHANGELOG.md:798 +msgid "The most interesting of these is the `readTimeout` configuration value (the maximum duration for reading the entire request, including the body), which used to default to `60s`. For large and slowly progressing file uploads, `60s` would often not be enough for the transfer to finish and uploads would end up being interrupted. The playbook now raises the `readTimeout` value to 5 minutes (`300s`) to improve this use-case." msgstr "" -#: ../../../CHANGELOG.md:811 -msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." +#: ../../../CHANGELOG.md:800 +msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them." +msgstr "" + +#: ../../../CHANGELOG.md:802 +msgid "Example of the default timeout values used by the playbook:" msgstr "" #: ../../../CHANGELOG.md:813 -msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." +msgid "Alternatively, you may adjust the timeout values for specific entrypoints (like `web-secure` and `matrix-federation`) using dedicated variables (like `traefik_config_entrypoint_web_secure_transport_respondingTimeouts_readTimeout` and `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_config_transport_respondingTimeouts_readTimeout`)." msgstr "" -#: ../../../CHANGELOG.md:815 -msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +#: ../../../CHANGELOG.md:816 +msgid "2024-11-08" msgstr "" -#: ../../../CHANGELOG.md:823 -msgid "2024-06-25" +#: ../../../CHANGELOG.md:818 +msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" msgstr "" -#: ../../../CHANGELOG.md:825 -msgid "The URL-prefix for Hookshot generic webhooks has changed" +#: ../../../CHANGELOG.md:820 +msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)." +msgstr "" + +#: ../../../CHANGELOG.md:822 +msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed." +msgstr "" + +#: ../../../CHANGELOG.md:824 +msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:827 -msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +msgid "2024-10-28" msgstr "" #: ../../../CHANGELOG.md:829 -msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +msgid "(BC Break) Postmoogle's variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:831 -msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." +msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly." msgstr "" #: ../../../CHANGELOG.md:833 -msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." +msgid "2024-10-19" msgstr "" #: ../../../CHANGELOG.md:835 -msgid "When generating new webhooks, you should start seeing the new URLs being used." +msgid "Support for Matrix Authentication Service" msgstr "" #: ../../../CHANGELOG.md:837 -msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." +msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." msgstr "" #: ../../../CHANGELOG.md:839 -msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." +msgid "Huge thanks to [Quentin Gliech](https://github.com/sandhose) from the [Element](https://element.io/) / [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service) team for answering our numerous questions about MAS." msgstr "" -#: ../../../CHANGELOG.md:842 -msgid "2024-06-22" +#: ../../../CHANGELOG.md:841 +msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm." msgstr "" -#: ../../../CHANGELOG.md:844 -msgid "The maubot user is now managed by the playbook" +#: ../../../CHANGELOG.md:843 +msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS." msgstr "" #: ../../../CHANGELOG.md:846 -msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." +msgid "2024-09-27" msgstr "" #: ../../../CHANGELOG.md:848 -msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." +msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:850 -msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." +msgid "Various roles have been relocated from the [devture](https://github.com/devture) organization to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization." msgstr "" -#: ../../../CHANGELOG.md:853 -msgid "2024-06-03" +#: ../../../CHANGELOG.md:852 +msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." msgstr "" -#: ../../../CHANGELOG.md:855 -msgid "WeChat bridging support" +#: ../../../CHANGELOG.md:854 +msgid "You need to do the following replacements:" +msgstr "" + +#: ../../../CHANGELOG.md:856 +msgid "`devture_postgres_` -> `postgres_`" msgstr "" #: ../../../CHANGELOG.md:857 -msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." -msgstr "" - -#: ../../../CHANGELOG.md:859 -msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +msgid "`devture_traefik_` -> `traefik_`" msgstr "" #: ../../../CHANGELOG.md:862 -msgid "2024-03-26" +msgid "2024-09-12" msgstr "" #: ../../../CHANGELOG.md:864 -msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +msgid "Support for baibot" msgstr "" #: ../../../CHANGELOG.md:866 -msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." +msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) 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. 🤖" msgstr "" #: ../../../CHANGELOG.md:868 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." +msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)." msgstr "" #: ../../../CHANGELOG.md:870 -msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." +msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)." msgstr "" #: ../../../CHANGELOG.md:872 -msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." +msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:874 -msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." +msgid "Switching synapse-admin to etke.cc's fork" msgstr "" #: ../../../CHANGELOG.md:876 -msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." +msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software." msgstr "" -#: ../../../CHANGELOG.md:887 -msgid "2024-03-24" +#: ../../../CHANGELOG.md:878 +msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork." msgstr "" -#: ../../../CHANGELOG.md:889 -msgid "Initial work on IPv6 support" +#: ../../../CHANGELOG.md:880 +msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now." msgstr "" -#: ../../../CHANGELOG.md:891 -msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." -msgstr "" - -#: ../../../CHANGELOG.md:893 -msgid "It should be noted that:" +#: ../../../CHANGELOG.md:882 +msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:895 -msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" -msgstr "" - -#: ../../../CHANGELOG.md:896 -msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" +msgid "2024-08-17" msgstr "" #: ../../../CHANGELOG.md:897 -msgid "this is all very new and untested" +msgid "New appservice-double-puppet service for better double-puppeting" msgstr "" #: ../../../CHANGELOG.md:899 -msgid "Pantalaimon support" +msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post." msgstr "" #: ../../../CHANGELOG.md:901 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." +msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges." msgstr "" #: ../../../CHANGELOG.md:903 -msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." +msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service." msgstr "" -#: ../../../CHANGELOG.md:906 -msgid "2024-03-05" +#: ../../../CHANGELOG.md:905 +msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**." msgstr "" -#: ../../../CHANGELOG.md:908 -msgid "Support for Draupnir-for-all" +#: ../../../CHANGELOG.md:907 +msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:910 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." +#: ../../../CHANGELOG.md:913 +msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it." msgstr "" -#: ../../../CHANGELOG.md:912 -msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." +#: ../../../CHANGELOG.md:915 +msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it." msgstr "" -#: ../../../CHANGELOG.md:914 -msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." +#: ../../../CHANGELOG.md:918 +msgid "2024-08-15" msgstr "" -#: ../../../CHANGELOG.md:917 -msgid "2024-02-19" +#: ../../../CHANGELOG.md:920 +msgid "matrix-media-repo now configured for Authenticated Media" msgstr "" -#: ../../../CHANGELOG.md:919 -msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" +#: ../../../CHANGELOG.md:922 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))." msgstr "" -#: ../../../CHANGELOG.md:921 -msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." +#: ../../../CHANGELOG.md:924 +msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction." msgstr "" -#: ../../../CHANGELOG.md:923 -msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." +#: ../../../CHANGELOG.md:926 +msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details." msgstr "" -#: ../../../CHANGELOG.md:925 -msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" -msgstr "" - -#: ../../../CHANGELOG.md:927 -msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" -msgstr "" - -#: ../../../CHANGELOG.md:929 -msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" +#: ../../../CHANGELOG.md:928 +msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file." msgstr "" #: ../../../CHANGELOG.md:931 -msgid "The documentation pages contain more information on how to migrate." +msgid "2024-08-08" msgstr "" -#: ../../../CHANGELOG.md:934 -msgid "2024-02-14" +#: ../../../CHANGELOG.md:933 +msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" msgstr "" -#: ../../../CHANGELOG.md:936 -msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +#: ../../../CHANGELOG.md:935 +msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))." msgstr "" -#: ../../../CHANGELOG.md:938 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." +#: ../../../CHANGELOG.md:937 +msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)." msgstr "" -#: ../../../CHANGELOG.md:940 -msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." -msgstr "" - -#: ../../../CHANGELOG.md:942 -msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" -msgstr "" - -#: ../../../CHANGELOG.md:944 -msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" +#: ../../../CHANGELOG.md:939 +msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:945 -msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" +msgid "2024-07-25" msgstr "" -#: ../../../CHANGELOG.md:946 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +#: ../../../CHANGELOG.md:947 +msgid "synapse-usage-exporter support" msgstr "" -#: ../../../CHANGELOG.md:948 -msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +#: ../../../CHANGELOG.md:949 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape." msgstr "" -#: ../../../CHANGELOG.md:950 -msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." +#: ../../../CHANGELOG.md:951 +msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:953 -msgid "2024-01-31" +#: ../../../CHANGELOG.md:954 +msgid "2024-07-06" msgstr "" -#: ../../../CHANGELOG.md:955 -msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +#: ../../../CHANGELOG.md:956 +msgid "matrix-alertmanager-receiver support" msgstr "" -#: ../../../CHANGELOG.md:957 -msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." +#: ../../../CHANGELOG.md:958 +msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)." msgstr "" -#: ../../../CHANGELOG.md:959 -msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." +#: ../../../CHANGELOG.md:960 +msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." msgstr "" -#: ../../../CHANGELOG.md:961 -msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." +#: ../../../CHANGELOG.md:962 +msgid "Traefik v3 and HTTP/3 are here now" msgstr "" #: ../../../CHANGELOG.md:964 -msgid "2024-01-20" +msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it." msgstr "" #: ../../../CHANGELOG.md:966 -msgid "Support for more efficient (specialized) Synapse workers" +msgid "Traefik v3" msgstr "" #: ../../../CHANGELOG.md:968 -msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." +msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)." msgstr "" #: ../../../CHANGELOG.md:970 -msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." +msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." msgstr "" #: ../../../CHANGELOG.md:972 -msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." +msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use." msgstr "" #: ../../../CHANGELOG.md:974 -msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +msgid "**Most people using the playbook should not have to do any changes**." msgstr "" -#: ../../../CHANGELOG.md:977 -msgid "2024-01-17" +#: ../../../CHANGELOG.md:976 +msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)." msgstr "" -#: ../../../CHANGELOG.md:979 -msgid "Switching to Element's AGPLv3-licensed Synapse release" +#: ../../../CHANGELOG.md:978 +msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)." msgstr "" -#: ../../../CHANGELOG.md:981 -msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" +#: ../../../CHANGELOG.md:980 +msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand." msgstr "" -#: ../../../CHANGELOG.md:983 -msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" +#: ../../../CHANGELOG.md:982 +msgid "HTTP/3 is enabled by default" msgstr "" #: ../../../CHANGELOG.md:984 -msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" +msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints." msgstr "" #: ../../../CHANGELOG.md:986 -msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." +msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**." msgstr "" #: ../../../CHANGELOG.md:988 -msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." +msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)." msgstr "" #: ../../../CHANGELOG.md:990 -msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." +msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)." msgstr "" #: ../../../CHANGELOG.md:992 -msgid "**What does this mean to you?**" +msgid "To **disable HTTP/3**, you can use the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:994 -msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." +#: ../../../CHANGELOG.md:1006 +msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:" msgstr "" -#: ../../../CHANGELOG.md:996 -msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +#: ../../../CHANGELOG.md:1019 +msgid "2024-07-01" msgstr "" -#: ../../../CHANGELOG.md:998 -msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +#: ../../../CHANGELOG.md:1021 +msgid "synapse-admin is now restricted to your homeserver's URL by default" msgstr "" -#: ../../../CHANGELOG.md:1000 -msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:" +#: ../../../CHANGELOG.md:1023 +msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)." msgstr "" -#: ../../../CHANGELOG.md:1012 -msgid "Notes:" +#: ../../../CHANGELOG.md:1025 +msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore." msgstr "" -#: ../../../CHANGELOG.md:1014 -msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +#: ../../../CHANGELOG.md:1027 +msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:1016 -msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +#: ../../../CHANGELOG.md:1035 +msgid "2024-06-25" msgstr "" -#: ../../../CHANGELOG.md:1018 -msgid "2024-01-16" -msgstr "" - -#: ../../../CHANGELOG.md:1020 -msgid "`Draupnir` has been relicensed to AFL-3.0" -msgstr "" - -#: ../../../CHANGELOG.md:1022 -msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." -msgstr "" - -#: ../../../CHANGELOG.md:1024 -msgid "2024-01-15" -msgstr "" - -#: ../../../CHANGELOG.md:1026 -msgid "Goodbye, `matrix-nginx-proxy` 🪦" -msgstr "" - -#: ../../../CHANGELOG.md:1028 -msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." -msgstr "" - -#: ../../../CHANGELOG.md:1030 -msgid "Backstory on `matrix-nginx-proxy`" -msgstr "" - -#: ../../../CHANGELOG.md:1032 -msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." -msgstr "" - -#: ../../../CHANGELOG.md:1034 -msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." -msgstr "" - -#: ../../../CHANGELOG.md:1036 -msgid "To us, `matrix-nginx-proxy` was:" -msgstr "" - -#: ../../../CHANGELOG.md:1038 -msgid "an [nginx](https://nginx.org/)-based reverse-proxy" +#: ../../../CHANGELOG.md:1037 +msgid "The URL-prefix for Hookshot generic webhooks has changed" msgstr "" #: ../../../CHANGELOG.md:1039 -msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" -msgstr "" - -#: ../../../CHANGELOG.md:1040 -msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" +msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." msgstr "" #: ../../../CHANGELOG.md:1041 -msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" -msgstr "" - -#: ../../../CHANGELOG.md:1042 -msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" +msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." msgstr "" #: ../../../CHANGELOG.md:1043 -msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" +msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)." msgstr "" -#: ../../../CHANGELOG.md:1044 -msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" +#: ../../../CHANGELOG.md:1045 +msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended." msgstr "" -#: ../../../CHANGELOG.md:1046 -msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." +#: ../../../CHANGELOG.md:1047 +msgid "When generating new webhooks, you should start seeing the new URLs being used." msgstr "" -#: ../../../CHANGELOG.md:1048 -msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." +#: ../../../CHANGELOG.md:1049 +msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet." msgstr "" -#: ../../../CHANGELOG.md:1050 -msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." -msgstr "" - -#: ../../../CHANGELOG.md:1052 -msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." +#: ../../../CHANGELOG.md:1051 +msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs." msgstr "" #: ../../../CHANGELOG.md:1054 -msgid "Going Traefik-native and cutting out all middlemen" +msgid "2024-06-22" msgstr "" #: ../../../CHANGELOG.md:1056 -msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +msgid "The maubot user is now managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:1058 -msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." +msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook." msgstr "" #: ../../../CHANGELOG.md:1060 -msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." +msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable." msgstr "" #: ../../../CHANGELOG.md:1062 -msgid "Traefik now has an extra job" +msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)." msgstr "" -#: ../../../CHANGELOG.md:1064 -msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." +#: ../../../CHANGELOG.md:1065 +msgid "2024-06-03" msgstr "" -#: ../../../CHANGELOG.md:1066 -msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." +#: ../../../CHANGELOG.md:1067 +msgid "WeChat bridging support" msgstr "" -#: ../../../CHANGELOG.md:1068 -msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." +#: ../../../CHANGELOG.md:1069 +msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge." msgstr "" -#: ../../../CHANGELOG.md:1070 -msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." -msgstr "" - -#: ../../../CHANGELOG.md:1072 -msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." +#: ../../../CHANGELOG.md:1071 +msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:1074 -msgid "Traefik serving this second purpose has a few downsides:" +msgid "2024-03-26" msgstr "" #: ../../../CHANGELOG.md:1076 -msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" msgstr "" -#: ../../../CHANGELOG.md:1077 -msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" +#: ../../../CHANGELOG.md:1078 +msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)." msgstr "" -#: ../../../CHANGELOG.md:1079 -msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +#: ../../../CHANGELOG.md:1080 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)." msgstr "" -#: ../../../CHANGELOG.md:1081 -msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." +#: ../../../CHANGELOG.md:1082 +msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)." msgstr "" -#: ../../../CHANGELOG.md:1083 -msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." +#: ../../../CHANGELOG.md:1084 +msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's." msgstr "" -#: ../../../CHANGELOG.md:1085 -msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." +#: ../../../CHANGELOG.md:1086 +msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens." msgstr "" -#: ../../../CHANGELOG.md:1087 -msgid "People managing their own Traefik instance need to do minor changes" -msgstr "" - -#: ../../../CHANGELOG.md:1089 -msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." -msgstr "" - -#: ../../../CHANGELOG.md:1091 -msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." -msgstr "" - -#: ../../../CHANGELOG.md:1093 -msgid "People fronting Traefik with another reverse proxy need to do minor changes" -msgstr "" - -#: ../../../CHANGELOG.md:1095 -msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." -msgstr "" - -#: ../../../CHANGELOG.md:1097 -msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." +#: ../../../CHANGELOG.md:1088 +msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)." msgstr "" #: ../../../CHANGELOG.md:1099 -msgid "Supported reverse proxy types are now fewer" +msgid "2024-03-24" msgstr "" #: ../../../CHANGELOG.md:1101 -msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." +msgid "Initial work on IPv6 support" msgstr "" #: ../../../CHANGELOG.md:1103 -msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)." msgstr "" #: ../../../CHANGELOG.md:1105 -msgid "The complexity of this is too high, so we only support 3 values right now:" +msgid "It should be noted that:" msgstr "" #: ../../../CHANGELOG.md:1107 -msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" +msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary" msgstr "" #: ../../../CHANGELOG.md:1108 -msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" +msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)" msgstr "" #: ../../../CHANGELOG.md:1109 -msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" +msgid "this is all very new and untested" msgstr "" #: ../../../CHANGELOG.md:1111 -msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." +msgid "Pantalaimon support" msgstr "" #: ../../../CHANGELOG.md:1113 -msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details." msgstr "" #: ../../../CHANGELOG.md:1115 -msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" -msgstr "" - -#: ../../../CHANGELOG.md:1117 -msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" +msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:1118 -msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" +msgid "2024-03-05" msgstr "" #: ../../../CHANGELOG.md:1120 -msgid "Container networking changes" +msgid "Support for Draupnir-for-all" msgstr "" #: ../../../CHANGELOG.md:1122 -msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)." msgstr "" #: ../../../CHANGELOG.md:1124 -msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." +msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook." msgstr "" #: ../../../CHANGELOG.md:1126 -msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." +msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it." msgstr "" -#: ../../../CHANGELOG.md:1128 -msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." +#: ../../../CHANGELOG.md:1129 +msgid "2024-02-19" msgstr "" -#: ../../../CHANGELOG.md:1130 -msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." +#: ../../../CHANGELOG.md:1131 +msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" msgstr "" -#: ../../../CHANGELOG.md:1132 -msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +#: ../../../CHANGELOG.md:1133 +msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge." msgstr "" -#: ../../../CHANGELOG.md:1134 -msgid "Metrics exposure changes" +#: ../../../CHANGELOG.md:1135 +msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time." msgstr "" -#: ../../../CHANGELOG.md:1136 -msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +#: ../../../CHANGELOG.md:1137 +msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:" msgstr "" -#: ../../../CHANGELOG.md:1138 -msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." +#: ../../../CHANGELOG.md:1139 +msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" -#: ../../../CHANGELOG.md:1140 -msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." +#: ../../../CHANGELOG.md:1141 +msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" -#: ../../../CHANGELOG.md:1142 -msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." -msgstr "" - -#: ../../../CHANGELOG.md:1144 -msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" +#: ../../../CHANGELOG.md:1143 +msgid "The documentation pages contain more information on how to migrate." msgstr "" #: ../../../CHANGELOG.md:1146 -msgid "Matrix static files" +msgid "2024-02-14" msgstr "" #: ../../../CHANGELOG.md:1148 -msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." +msgid "Much larger Synapse caches and cache auto-tuning enabled by default" msgstr "" #: ../../../CHANGELOG.md:1150 -msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)." msgstr "" #: ../../../CHANGELOG.md:1152 -msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." +msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." msgstr "" #: ../../../CHANGELOG.md:1154 -msgid "A note on performance" +msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:" msgstr "" #: ../../../CHANGELOG.md:1156 -msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes" +msgstr "" + +#: ../../../CHANGELOG.md:1157 +msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes" msgstr "" #: ../../../CHANGELOG.md:1158 -msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" msgstr "" #: ../../../CHANGELOG.md:1160 -msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +msgid "These values should be good defaults for most servers, but may change over time as we experiment further." msgstr "" #: ../../../CHANGELOG.md:1162 -msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." +msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details." msgstr "" -#: ../../../CHANGELOG.md:1164 -msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." +#: ../../../CHANGELOG.md:1165 +msgid "2024-01-31" msgstr "" -#: ../../../CHANGELOG.md:1166 -msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." +#: ../../../CHANGELOG.md:1167 +msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" msgstr "" -#: ../../../CHANGELOG.md:1168 -msgid "Migration procedure" +#: ../../../CHANGELOG.md:1169 +msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook." msgstr "" -#: ../../../CHANGELOG.md:1170 -msgid "The updated playbook will automatically perform some migration tasks for you:" +#: ../../../CHANGELOG.md:1171 +msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page." msgstr "" -#: ../../../CHANGELOG.md:1172 -msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." -msgstr "" - -#: ../../../CHANGELOG.md:1174 -msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." +#: ../../../CHANGELOG.md:1173 +msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file." msgstr "" #: ../../../CHANGELOG.md:1176 -msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." +msgid "2024-01-20" msgstr "" #: ../../../CHANGELOG.md:1178 -msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." +msgid "Support for more efficient (specialized) Synapse workers" msgstr "" #: ../../../CHANGELOG.md:1180 -msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." +msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation." msgstr "" #: ../../../CHANGELOG.md:1182 -msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:1184 -msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)." msgstr "" #: ../../../CHANGELOG.md:1186 -msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." +msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." msgstr "" -#: ../../../CHANGELOG.md:1188 -msgid "Conclusion" +#: ../../../CHANGELOG.md:1189 +msgid "2024-01-17" msgstr "" -#: ../../../CHANGELOG.md:1190 -msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." +#: ../../../CHANGELOG.md:1191 +msgid "Switching to Element's AGPLv3-licensed Synapse release" msgstr "" -#: ../../../CHANGELOG.md:1192 -msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" +#: ../../../CHANGELOG.md:1193 +msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:" msgstr "" #: ../../../CHANGELOG.md:1195 -msgid "2024-01-14" +msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used" msgstr "" -#: ../../../CHANGELOG.md:1197 -msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" +#: ../../../CHANGELOG.md:1196 +msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license" msgstr "" -#: ../../../CHANGELOG.md:1199 -msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." +#: ../../../CHANGELOG.md:1198 +msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation." msgstr "" -#: ../../../CHANGELOG.md:1201 -msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." +#: ../../../CHANGELOG.md:1200 +msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)." msgstr "" -#: ../../../CHANGELOG.md:1203 -msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." +#: ../../../CHANGELOG.md:1202 +msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release." msgstr "" -#: ../../../CHANGELOG.md:1205 -msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." +#: ../../../CHANGELOG.md:1204 +msgid "**What does this mean to you?**" msgstr "" -#: ../../../CHANGELOG.md:1207 -msgid "Adapt your configuration as seen below:" +#: ../../../CHANGELOG.md:1206 +msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything." +msgstr "" + +#: ../../../CHANGELOG.md:1208 +msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)." +msgstr "" + +#: ../../../CHANGELOG.md:1210 +msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!" +msgstr "" + +#: ../../../CHANGELOG.md:1212 +msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:" +msgstr "" + +#: ../../../CHANGELOG.md:1224 +msgid "Notes:" +msgstr "" + +#: ../../../CHANGELOG.md:1226 +msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version" +msgstr "" + +#: ../../../CHANGELOG.md:1228 +msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." +msgstr "" + +#: ../../../CHANGELOG.md:1230 +msgid "2024-01-16" +msgstr "" + +#: ../../../CHANGELOG.md:1232 +msgid "`Draupnir` has been relicensed to AFL-3.0" +msgstr "" + +#: ../../../CHANGELOG.md:1234 +msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change." +msgstr "" + +#: ../../../CHANGELOG.md:1236 +msgid "2024-01-15" +msgstr "" + +#: ../../../CHANGELOG.md:1238 +msgid "Goodbye, `matrix-nginx-proxy` 🪦" msgstr "" #: ../../../CHANGELOG.md:1240 -msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." +msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it." msgstr "" -#: ../../../CHANGELOG.md:1243 -msgid "2024-01-13" +#: ../../../CHANGELOG.md:1242 +msgid "Backstory on `matrix-nginx-proxy`" msgstr "" -#: ../../../CHANGELOG.md:1245 -msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" +#: ../../../CHANGELOG.md:1244 +msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago." msgstr "" -#: ../../../CHANGELOG.md:1247 -msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." +#: ../../../CHANGELOG.md:1246 +msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others." msgstr "" -#: ../../../CHANGELOG.md:1249 -msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." +#: ../../../CHANGELOG.md:1248 +msgid "To us, `matrix-nginx-proxy` was:" +msgstr "" + +#: ../../../CHANGELOG.md:1250 +msgid "an [nginx](https://nginx.org/)-based reverse-proxy" msgstr "" #: ../../../CHANGELOG.md:1251 -msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." +msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)" +msgstr "" + +#: ../../../CHANGELOG.md:1252 +msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime" msgstr "" #: ../../../CHANGELOG.md:1253 -msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." +msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver" +msgstr "" + +#: ../../../CHANGELOG.md:1254 +msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" msgstr "" #: ../../../CHANGELOG.md:1255 -msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." +msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)" msgstr "" -#: ../../../CHANGELOG.md:1257 -msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +#: ../../../CHANGELOG.md:1256 +msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server" msgstr "" -#: ../../../CHANGELOG.md:1259 -msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +#: ../../../CHANGELOG.md:1258 +msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long." msgstr "" -#: ../../../CHANGELOG.md:1261 -msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" +#: ../../../CHANGELOG.md:1260 +msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)." msgstr "" -#: ../../../CHANGELOG.md:1263 -msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +#: ../../../CHANGELOG.md:1262 +msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service." +msgstr "" + +#: ../../../CHANGELOG.md:1264 +msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`." msgstr "" #: ../../../CHANGELOG.md:1266 -msgid "2024-01-05" +msgid "Going Traefik-native and cutting out all middlemen" msgstr "" #: ../../../CHANGELOG.md:1268 -msgid "matrix-mailer has been replaced by the exim-relay external role" +msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." msgstr "" #: ../../../CHANGELOG.md:1270 -#: ../../../CHANGELOG.md:1908 -msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." +msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly." msgstr "" #: ../../../CHANGELOG.md:1272 -msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." +msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime." msgstr "" #: ../../../CHANGELOG.md:1274 -msgid "To migrate:" +msgid "Traefik now has an extra job" msgstr "" #: ../../../CHANGELOG.md:1276 -msgid "pull the playbook changes, as usual" -msgstr "" - -#: ../../../CHANGELOG.md:1277 -msgid "update your roles (run `just roles` or `make roles`)" +msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job." msgstr "" #: ../../../CHANGELOG.md:1278 -msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." +msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it." msgstr "" -#: ../../../CHANGELOG.md:1279 -msgid "re-run the playbook (`install-all` or `setup-all`)" +#: ../../../CHANGELOG.md:1280 +msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint." msgstr "" -#: ../../../CHANGELOG.md:1281 -msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." +#: ../../../CHANGELOG.md:1282 +msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service." msgstr "" #: ../../../CHANGELOG.md:1284 -msgid "2024-01-02" +msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)." msgstr "" #: ../../../CHANGELOG.md:1286 -msgid "mautrix-signal now powered by the new Go-based bridge" +msgid "Traefik serving this second purpose has a few downsides:" msgstr "" #: ../../../CHANGELOG.md:1288 -msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." +msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" msgstr "" -#: ../../../CHANGELOG.md:1290 -msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." +#: ../../../CHANGELOG.md:1289 +msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure" msgstr "" -#: ../../../CHANGELOG.md:1292 -msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." +#: ../../../CHANGELOG.md:1291 +msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)." +msgstr "" + +#: ../../../CHANGELOG.md:1293 +msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically." msgstr "" #: ../../../CHANGELOG.md:1295 -msgid "2023-10-23" +msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below." msgstr "" #: ../../../CHANGELOG.md:1297 -msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended." msgstr "" #: ../../../CHANGELOG.md:1299 -msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected." +msgid "People managing their own Traefik instance need to do minor changes" msgstr "" #: ../../../CHANGELOG.md:1301 -msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default." +msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes." msgstr "" #: ../../../CHANGELOG.md:1303 -msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)." +msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details." msgstr "" #: ../../../CHANGELOG.md:1305 -msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member." +msgid "People fronting Traefik with another reverse proxy need to do minor changes" msgstr "" #: ../../../CHANGELOG.md:1307 -msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation." +msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." msgstr "" #: ../../../CHANGELOG.md:1309 -msgid "The **historical reasoning** behind this change is as follows:" +msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)." msgstr "" #: ../../../CHANGELOG.md:1311 -msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation." +msgid "Supported reverse proxy types are now fewer" msgstr "" #: ../../../CHANGELOG.md:1313 -msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense." +msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)." msgstr "" #: ../../../CHANGELOG.md:1315 -msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful." +msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." msgstr "" #: ../../../CHANGELOG.md:1317 -msgid "Here are **actions you may wish to take** as a result of this change:" +msgid "The complexity of this is too high, so we only support 3 values right now:" msgstr "" #: ../../../CHANGELOG.md:1319 -msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery." +msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)" +msgstr "" + +#: ../../../CHANGELOG.md:1320 +msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)" msgstr "" #: ../../../CHANGELOG.md:1321 -msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them." +msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)" msgstr "" #: ../../../CHANGELOG.md:1323 -msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures." +msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup." msgstr "" -#: ../../../CHANGELOG.md:1326 -msgid "2023-10-18" +#: ../../../CHANGELOG.md:1325 +msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`." msgstr "" -#: ../../../CHANGELOG.md:1328 -msgid "Postgres parameters are automatically tuned now" +#: ../../../CHANGELOG.md:1327 +msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:1329 +msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)" msgstr "" #: ../../../CHANGELOG.md:1330 -msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." +msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually" msgstr "" #: ../../../CHANGELOG.md:1332 -msgid "From now on, the [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) automatically tunes your Postgres configuration with the same [calculation logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) that powers https://pgtune.leopard.in.ua/." +msgid "Container networking changes" msgstr "" #: ../../../CHANGELOG.md:1334 -msgid "Our [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) documentation page has details about how you can turn auto-tuning off or adjust the automatically-determined Postgres configuration parameters manually." +msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt." msgstr "" #: ../../../CHANGELOG.md:1336 -msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers." +msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network." msgstr "" -#: ../../../CHANGELOG.md:1339 -msgid "2023-08-31" +#: ../../../CHANGELOG.md:1338 +msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity." msgstr "" -#: ../../../CHANGELOG.md:1341 -msgid "SchildiChat Web support" +#: ../../../CHANGELOG.md:1340 +msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things." msgstr "" -#: ../../../CHANGELOG.md:1343 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client." +#: ../../../CHANGELOG.md:1342 +msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**." msgstr "" -#: ../../../CHANGELOG.md:1345 -msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." +#: ../../../CHANGELOG.md:1344 +msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much." +msgstr "" + +#: ../../../CHANGELOG.md:1346 +msgid "Metrics exposure changes" msgstr "" #: ../../../CHANGELOG.md:1348 -msgid "2023-08-23" +msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." msgstr "" #: ../../../CHANGELOG.md:1350 -msgid "mautrix-wsproxy support" +msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)." msgstr "" #: ../../../CHANGELOG.md:1352 -msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)." +msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details." msgstr "" #: ../../../CHANGELOG.md:1354 -msgid "See our [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](docs/configuring-playbook-bridge-mautrix-wsproxy.md) documentation page for getting started." +msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason." msgstr "" -#: ../../../CHANGELOG.md:1357 -msgid "2023-07-24" +#: ../../../CHANGELOG.md:1356 +msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!" msgstr "" -#: ../../../CHANGELOG.md:1359 -msgid "matrix-registration-bot usage changed" +#: ../../../CHANGELOG.md:1358 +msgid "Matrix static files" msgstr "" -#: ../../../CHANGELOG.md:1361 -msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot." +#: ../../../CHANGELOG.md:1360 +msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files." msgstr "" -#: ../../../CHANGELOG.md:1363 -msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings" +#: ../../../CHANGELOG.md:1362 +msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)." msgstr "" -#: ../../../CHANGELOG.md:1365 -msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" +#: ../../../CHANGELOG.md:1364 +msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names." msgstr "" #: ../../../CHANGELOG.md:1366 -msgid "`matrix_bot_matrix_registration_bot_api_token`" +msgid "A note on performance" msgstr "" -#: ../../../CHANGELOG.md:1369 -msgid "2023-07-21" +#: ../../../CHANGELOG.md:1368 +msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." msgstr "" -#: ../../../CHANGELOG.md:1371 -msgid "mautrix-gmessages support" +#: ../../../CHANGELOG.md:1370 +msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx." msgstr "" -#: ../../../CHANGELOG.md:1373 -msgid "Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playbook now supports bridging to [Google Messages](https://messages.google.com/) via the [mautrix-gmessages](https://github.com/mautrix/gmessages) bridge. See our [Setting up Mautrix Google Messages bridging](docs/configuring-playbook-bridge-mautrix-gmessages.md) documentation page for getting started." +#: ../../../CHANGELOG.md:1372 +msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +msgstr "" + +#: ../../../CHANGELOG.md:1374 +msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front." msgstr "" #: ../../../CHANGELOG.md:1376 -msgid "2023-07-17" +msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this." msgstr "" #: ../../../CHANGELOG.md:1378 -msgid "matrix-media-repo support" +msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all." msgstr "" #: ../../../CHANGELOG.md:1380 -msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features." +msgid "Migration procedure" msgstr "" #: ../../../CHANGELOG.md:1382 -msgid "To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page." +msgid "The updated playbook will automatically perform some migration tasks for you:" msgstr "" -#: ../../../CHANGELOG.md:1385 -msgid "2023-05-25" +#: ../../../CHANGELOG.md:1384 +msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests." msgstr "" -#: ../../../CHANGELOG.md:1387 -msgid "Enabling `forget_rooms_on_leave` by default for Synapse" +#: ../../../CHANGELOG.md:1386 +msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around." msgstr "" -#: ../../../CHANGELOG.md:1389 -msgid "With the [Synapse v1.84.0 update](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698), we've also **changed the default value** of the `forget_rooms_on_leave` setting of Synapse to a value of `true`. This way, **when you leave a room, Synapse will now forget it automatically**." +#: ../../../CHANGELOG.md:1388 +msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do." msgstr "" -#: ../../../CHANGELOG.md:1391 -msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." +#: ../../../CHANGELOG.md:1390 +msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file." msgstr "" -#: ../../../CHANGELOG.md:1393 -msgid "**We go against the upstream default** ([somewhat controversially](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700)) in an effort to make Synapse leaner and potentially do what we believe most users would expect their homeserver to be doing." +#: ../../../CHANGELOG.md:1392 +msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file." msgstr "" -#: ../../../CHANGELOG.md:1395 -msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`" +#: ../../../CHANGELOG.md:1394 +msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file." +msgstr "" + +#: ../../../CHANGELOG.md:1396 +msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." msgstr "" #: ../../../CHANGELOG.md:1398 -msgid "2023-04-03" +msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically." msgstr "" #: ../../../CHANGELOG.md:1400 -msgid "The matrix-jitsi role lives independently now" +msgid "Conclusion" msgstr "" #: ../../../CHANGELOG.md:1402 -msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." +msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver." msgstr "" #: ../../../CHANGELOG.md:1404 -msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." +msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!" msgstr "" -#: ../../../CHANGELOG.md:1406 -msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" -msgstr "" - -#: ../../../CHANGELOG.md:1408 -msgid "**native Traefik support** has been added" +#: ../../../CHANGELOG.md:1407 +msgid "2024-01-14" msgstr "" #: ../../../CHANGELOG.md:1409 -msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)" +msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" msgstr "" #: ../../../CHANGELOG.md:1411 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." +msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything." msgstr "" #: ../../../CHANGELOG.md:1413 -msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:" +msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:1415 -msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" -msgstr "" - -#: ../../../CHANGELOG.md:1416 -msgid "`matrix_jitsi_` -> `jitsi_`" +msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so." msgstr "" #: ../../../CHANGELOG.md:1417 -#: ../../../CHANGELOG.md:1444 -msgid "some other internal variables have changed, but the playbook will tell you about them" +msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`." msgstr "" #: ../../../CHANGELOG.md:1419 -msgid "2023-03-22" +msgid "Adapt your configuration as seen below:" msgstr "" -#: ../../../CHANGELOG.md:1421 -msgid "ntfy Web App is disabled by default" -msgstr "" - -#: ../../../CHANGELOG.md:1423 -msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))." -msgstr "" - -#: ../../../CHANGELOG.md:1425 -msgid "This change was already applied a while before this entry, but as some users were reporting the missing web app, this entry was added (see [#2529](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2529))." -msgstr "" - -#: ../../../CHANGELOG.md:1428 -msgid "2023-03-21" -msgstr "" - -#: ../../../CHANGELOG.md:1430 -msgid "The matrix-prometheus role lives independently now" -msgstr "" - -#: ../../../CHANGELOG.md:1432 -msgid "**TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." -msgstr "" - -#: ../../../CHANGELOG.md:1434 -msgid "The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." -msgstr "" - -#: ../../../CHANGELOG.md:1436 -msgid "Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know." -msgstr "" - -#: ../../../CHANGELOG.md:1438 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." -msgstr "" - -#: ../../../CHANGELOG.md:1440 -msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:" -msgstr "" - -#: ../../../CHANGELOG.md:1442 -msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" -msgstr "" - -#: ../../../CHANGELOG.md:1443 -msgid "`matrix_prometheus_` -> `prometheus_`" -msgstr "" - -#: ../../../CHANGELOG.md:1447 -msgid "2023-03-12" -msgstr "" - -#: ../../../CHANGELOG.md:1449 -msgid "synapse-auto-compressor support" -msgstr "" - -#: ../../../CHANGELOG.md:1451 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically." -msgstr "" - -#: ../../../CHANGELOG.md:1453 -msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:" +#: ../../../CHANGELOG.md:1452 +msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details." msgstr "" #: ../../../CHANGELOG.md:1455 -msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" +msgid "2024-01-13" msgstr "" -#: ../../../CHANGELOG.md:1456 -msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" +#: ../../../CHANGELOG.md:1457 +msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" msgstr "" -#: ../../../CHANGELOG.md:1458 -msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations." +#: ../../../CHANGELOG.md:1459 +msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do." msgstr "" -#: ../../../CHANGELOG.md:1460 -msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." +#: ../../../CHANGELOG.md:1461 +msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)." msgstr "" #: ../../../CHANGELOG.md:1463 -msgid "2023-03-07" +msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen." msgstr "" #: ../../../CHANGELOG.md:1465 -msgid "Sliding Sync proxy (Element X) support" +msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders." msgstr "" #: ../../../CHANGELOG.md:1467 -msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)." +msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users." msgstr "" #: ../../../CHANGELOG.md:1469 -msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support." +msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" msgstr "" #: ../../../CHANGELOG.md:1471 -msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." +msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" msgstr "" -#: ../../../CHANGELOG.md:1474 -msgid "2023-03-02" +#: ../../../CHANGELOG.md:1473 +msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))" msgstr "" -#: ../../../CHANGELOG.md:1476 -msgid "The matrix-etherpad role lives independently now" +#: ../../../CHANGELOG.md:1475 +msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" msgstr "" #: ../../../CHANGELOG.md:1478 -msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact." +msgid "2024-01-05" msgstr "" #: ../../../CHANGELOG.md:1480 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." +msgid "matrix-mailer has been replaced by the exim-relay external role" msgstr "" #: ../../../CHANGELOG.md:1482 -msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:" +#: ../../../CHANGELOG.md:2120 +msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use." msgstr "" #: ../../../CHANGELOG.md:1484 -msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" +msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes." msgstr "" #: ../../../CHANGELOG.md:1486 -msgid "Replace `matrix_etherpad_mode: dimension` with:" -msgstr "" - -#: ../../../CHANGELOG.md:1487 -msgid "for `matrix-nginx-proxy` users:" +msgid "To migrate:" msgstr "" #: ../../../CHANGELOG.md:1488 -msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" +msgid "pull the playbook changes, as usual" msgstr "" #: ../../../CHANGELOG.md:1489 -msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" +msgid "update your roles (run `just roles` or `make roles`)" msgstr "" #: ../../../CHANGELOG.md:1490 -msgid "for Traefik users:" +msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler." msgstr "" #: ../../../CHANGELOG.md:1491 -msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" +msgid "re-run the playbook (`install-all` or `setup-all`)" msgstr "" #: ../../../CHANGELOG.md:1493 -msgid "Rename all other variables:" +msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)." msgstr "" -#: ../../../CHANGELOG.md:1494 -msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" +#: ../../../CHANGELOG.md:1496 +msgid "2024-01-02" msgstr "" -#: ../../../CHANGELOG.md:1495 -msgid "`matrix_etherpad_` -> `etherpad_`" -msgstr "" - -#: ../../../CHANGELOG.md:1497 -msgid "Along with this relocation, the new role also:" -msgstr "" - -#: ../../../CHANGELOG.md:1499 -msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" +#: ../../../CHANGELOG.md:1498 +msgid "mautrix-signal now powered by the new Go-based bridge" msgstr "" #: ../../../CHANGELOG.md:1500 -msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" +msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices." msgstr "" -#: ../../../CHANGELOG.md:1503 -msgid "2023-02-26" +#: ../../../CHANGELOG.md:1502 +msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)." msgstr "" -#: ../../../CHANGELOG.md:1505 -msgid "Traefik is the default reverse-proxy now" +#: ../../../CHANGELOG.md:1504 +msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations." msgstr "" #: ../../../CHANGELOG.md:1507 -msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed." +msgid "2023-10-23" msgstr "" #: ../../../CHANGELOG.md:1509 -msgid "As mentioned 2 weeks ago in [(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support](#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support), the playbook is moving to Traefik as its default SSL-terminating reverse-proxy." +msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" msgstr "" #: ../../../CHANGELOG.md:1511 -msgid "Until now, we've been doing the migration gradually and keeping full backward compatibility. New installations were defaulting to `matrix-nginx-proxy` (just like before), while existing installations were allowed to remain on `matrix-nginx-proxy` as well. This makes things very difficult for us, because we need to maintain and think about lots of different setups:" +msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected." msgstr "" #: ../../../CHANGELOG.md:1513 -msgid "Traefik managed by the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:1514 -msgid "Traefik managed by the user in another way" +msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default." msgstr "" #: ../../../CHANGELOG.md:1515 -msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" -msgstr "" - -#: ../../../CHANGELOG.md:1516 -msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" +msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)." msgstr "" #: ../../../CHANGELOG.md:1517 -msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" +msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member." msgstr "" -#: ../../../CHANGELOG.md:1518 -msgid "`nginx` webserver operated by the user, running without a container on the same server" +#: ../../../CHANGELOG.md:1519 +msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:1520 -msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support." +#: ../../../CHANGELOG.md:1521 +msgid "The **historical reasoning** behind this change is as follows:" msgstr "" -#: ../../../CHANGELOG.md:1522 -msgid "We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for." +#: ../../../CHANGELOG.md:1523 +msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation." msgstr "" -#: ../../../CHANGELOG.md:1524 -msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" -msgstr "" - -#: ../../../CHANGELOG.md:1526 -msgid "Traefik is now the default reverse-proxy for new installations" +#: ../../../CHANGELOG.md:1525 +msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense." msgstr "" #: ../../../CHANGELOG.md:1527 -msgid "All existing users need to explicitly choose their reverse-proxy type by defining the `matrix_playbook_reverse_proxy_type` variable in their `vars.yml` configuration file. We strongly encourage existing users to [switch the Traefik](#how-to-switch-an-existing-setup-to-traefik), as the nginx setup is bound to become more and more broken over time until it's ultimately removed" +msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful." msgstr "" #: ../../../CHANGELOG.md:1529 -msgid "How do I switch my existing setup to Traefik?" +msgid "Here are **actions you may wish to take** as a result of this change:" msgstr "" #: ../../../CHANGELOG.md:1531 -msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)." +msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery." msgstr "" #: ../../../CHANGELOG.md:1533 -msgid "If you experience trouble:" +msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them." msgstr "" #: ../../../CHANGELOG.md:1535 -msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy" +msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures." msgstr "" -#: ../../../CHANGELOG.md:1536 -msgid "Ask for help in our [support channels](README.md#support)" +#: ../../../CHANGELOG.md:1538 +msgid "2023-10-18" msgstr "" -#: ../../../CHANGELOG.md:1537 -msgid "Try switching to Traefik again later" +#: ../../../CHANGELOG.md:1540 +msgid "Postgres parameters are automatically tuned now" msgstr "" -#: ../../../CHANGELOG.md:1539 -msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future." +#: ../../../CHANGELOG.md:1542 +msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." msgstr "" -#: ../../../CHANGELOG.md:1541 -msgid "I already use my own Traefik server. How do I plug that in?" +#: ../../../CHANGELOG.md:1544 +msgid "From now on, the [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) automatically tunes your Postgres configuration with the same [calculation logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) that powers https://pgtune.leopard.in.ua/." msgstr "" -#: ../../../CHANGELOG.md:1543 -msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." +#: ../../../CHANGELOG.md:1546 +msgid "Our [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) documentation page has details about how you can turn auto-tuning off or adjust the automatically-determined Postgres configuration parameters manually." msgstr "" -#: ../../../CHANGELOG.md:1545 -msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" -msgstr "" - -#: ../../../CHANGELOG.md:1547 -msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." -msgstr "" - -#: ../../../CHANGELOG.md:1549 -msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed." +#: ../../../CHANGELOG.md:1548 +msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers." msgstr "" #: ../../../CHANGELOG.md:1551 -msgid "How do I remain on matrix-nginx-proxy?" +msgid "2023-08-31" msgstr "" #: ../../../CHANGELOG.md:1553 -msgid "Most new work and testing targets Traefik, so remaining on nginx is **not** \"the good old stable\" option, but rather the \"still available, but largely untested and likely to be broken very soon\" option." +msgid "SchildiChat Web support" msgstr "" #: ../../../CHANGELOG.md:1555 -msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client." msgstr "" #: ../../../CHANGELOG.md:1557 -msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly." +msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1559 -msgid "How do I keep using my own other reverse-proxy?" +#: ../../../CHANGELOG.md:1560 +msgid "2023-08-23" msgstr "" -#: ../../../CHANGELOG.md:1561 -msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." +#: ../../../CHANGELOG.md:1562 +msgid "mautrix-wsproxy support" msgstr "" #: ../../../CHANGELOG.md:1564 -msgid "2023-02-25" +msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)." msgstr "" #: ../../../CHANGELOG.md:1566 -msgid "rageshake support" +msgid "See our [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](docs/configuring-playbook-bridge-mautrix-wsproxy.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:1568 -msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." +#: ../../../CHANGELOG.md:1569 +msgid "2023-07-24" msgstr "" -#: ../../../CHANGELOG.md:1570 -msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." +#: ../../../CHANGELOG.md:1571 +msgid "matrix-registration-bot usage changed" msgstr "" #: ../../../CHANGELOG.md:1573 -msgid "2023-02-17" +msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot." msgstr "" #: ../../../CHANGELOG.md:1575 -msgid "Synapse templates customization support" +msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings" msgstr "" #: ../../../CHANGELOG.md:1577 -msgid "The playbook can now help you customize Synapse's templates." +msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" msgstr "" -#: ../../../CHANGELOG.md:1579 -msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." +#: ../../../CHANGELOG.md:1578 +msgid "`matrix_bot_matrix_registration_bot_api_token`" msgstr "" #: ../../../CHANGELOG.md:1581 -msgid "The matrix-redis role lives independently now" +msgid "2023-07-21" msgstr "" #: ../../../CHANGELOG.md:1583 -msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +msgid "mautrix-gmessages support" msgstr "" #: ../../../CHANGELOG.md:1585 -msgid "The `matrix-redis` role (which configures [Redis](https://redis.io/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-redis). This makes it possible to easily use it in other Ansible playbooks." +msgid "Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playbook now supports bridging to [Google Messages](https://messages.google.com/) via the [mautrix-gmessages](https://github.com/mautrix/gmessages) bridge. See our [Setting up Mautrix Google Messages bridging](docs/configuring-playbook-bridge-mautrix-gmessages.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:1587 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)." +#: ../../../CHANGELOG.md:1588 +msgid "2023-07-17" msgstr "" -#: ../../../CHANGELOG.md:1589 -msgid "The matrix-ntfy role lives independently now" +#: ../../../CHANGELOG.md:1590 +msgid "matrix-media-repo support" msgstr "" -#: ../../../CHANGELOG.md:1591 -msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1592 +msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features." msgstr "" -#: ../../../CHANGELOG.md:1593 -msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks." +#: ../../../CHANGELOG.md:1594 +msgid "To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:1595 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)." +#: ../../../CHANGELOG.md:1597 +msgid "2023-05-25" msgstr "" -#: ../../../CHANGELOG.md:1598 -msgid "2023-02-15" +#: ../../../CHANGELOG.md:1599 +msgid "Enabling `forget_rooms_on_leave` by default for Synapse" msgstr "" -#: ../../../CHANGELOG.md:1600 -msgid "The matrix-grafana role lives independently now" +#: ../../../CHANGELOG.md:1601 +msgid "With the [Synapse v1.84.0 update](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698), we've also **changed the default value** of the `forget_rooms_on_leave` setting of Synapse to a value of `true`. This way, **when you leave a room, Synapse will now forget it automatically**." msgstr "" -#: ../../../CHANGELOG.md:1602 -msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1603 +msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." msgstr "" -#: ../../../CHANGELOG.md:1604 -msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks." +#: ../../../CHANGELOG.md:1605 +msgid "**We go against the upstream default** ([somewhat controversially](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700)) in an effort to make Synapse leaner and potentially do what we believe most users would expect their homeserver to be doing." msgstr "" -#: ../../../CHANGELOG.md:1606 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)." +#: ../../../CHANGELOG.md:1607 +msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`" msgstr "" -#: ../../../CHANGELOG.md:1609 -msgid "2023-02-13" +#: ../../../CHANGELOG.md:1610 +msgid "2023-04-03" msgstr "" -#: ../../../CHANGELOG.md:1611 -msgid "The matrix-backup-borg role lives independently now" +#: ../../../CHANGELOG.md:1612 +msgid "The matrix-jitsi role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1613 -msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1614 +msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1615 -msgid "Thanks to [moan0s](https://github.com/moan0s), the `matrix-backup-borg` role (which configures [BorgBackup](docs/configuring-playbook-backup-borg.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). This makes it possible to easily use it in other Ansible playbooks and will become part of [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) soon." +#: ../../../CHANGELOG.md:1616 +msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:1617 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Borg's backup functionality or not. If you're making use of BorgBackup via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_backup_borg_` -> `backup_borg_`)." +#: ../../../CHANGELOG.md:1618 +msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" msgstr "" #: ../../../CHANGELOG.md:1620 -msgid "2023-02-12" +msgid "**native Traefik support** has been added" msgstr "" -#: ../../../CHANGELOG.md:1622 -msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" +#: ../../../CHANGELOG.md:1621 +msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)" msgstr "" -#: ../../../CHANGELOG.md:1624 -msgid "**TLDR**:" +#: ../../../CHANGELOG.md:1623 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." msgstr "" -#: ../../../CHANGELOG.md:1626 -msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways." +#: ../../../CHANGELOG.md:1625 +msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:1627 -msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now." +msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" msgstr "" #: ../../../CHANGELOG.md:1628 -msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`" +msgid "`matrix_jitsi_` -> `jitsi_`" msgstr "" #: ../../../CHANGELOG.md:1629 -msgid "we now have **optional [Traefik](https://traefik.io/) support**, so you could easily host Matrix and other Traefik-native services in containers on the same server. Traefik support is still experimental (albeit, good enough) and will improve over time. It does work, but certain esoteric features may not be there yet." +#: ../../../CHANGELOG.md:1656 +msgid "some other internal variables have changed, but the playbook will tell you about them" msgstr "" -#: ../../../CHANGELOG.md:1630 -msgid "**Traefik will become the default reverse-proxy in the near future**. `matrix-nginx-proxy` will either remain as an option, or be completely removed to simplify the playbook" +#: ../../../CHANGELOG.md:1631 +msgid "2023-03-22" msgstr "" -#: ../../../CHANGELOG.md:1632 -msgid "Motivation for redoing our reverse-proxy setup" +#: ../../../CHANGELOG.md:1633 +msgid "ntfy Web App is disabled by default" msgstr "" -#: ../../../CHANGELOG.md:1634 -msgid "The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**." +#: ../../../CHANGELOG.md:1635 +msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))." msgstr "" -#: ../../../CHANGELOG.md:1636 -msgid "We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**." -msgstr "" - -#: ../../../CHANGELOG.md:1638 -msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else." +#: ../../../CHANGELOG.md:1637 +msgid "This change was already applied a while before this entry, but as some users were reporting the missing web app, this entry was added (see [#2529](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2529))." msgstr "" #: ../../../CHANGELOG.md:1640 -msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook." +msgid "2023-03-21" msgstr "" #: ../../../CHANGELOG.md:1642 -msgid "Others still, wanted to run Matrix locally (no SSL certificates), regardless of which web server technology this relied on, and then **reverse-proxy from another machine on the network** which was doing SSL termination. These people were:" +msgid "The matrix-prometheus role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1644 -msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" +msgid "**TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1645 -msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." +#: ../../../CHANGELOG.md:1646 +msgid "The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so." msgstr "" -#: ../../../CHANGELOG.md:1647 -msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." +#: ../../../CHANGELOG.md:1648 +msgid "Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know." msgstr "" -#: ../../../CHANGELOG.md:1649 -msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)." +#: ../../../CHANGELOG.md:1650 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." msgstr "" -#: ../../../CHANGELOG.md:1651 -msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" -msgstr "" - -#: ../../../CHANGELOG.md:1653 -msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager" +#: ../../../CHANGELOG.md:1652 +msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:" msgstr "" #: ../../../CHANGELOG.md:1654 -msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service" +msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" msgstr "" #: ../../../CHANGELOG.md:1655 -msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" -msgstr "" - -#: ../../../CHANGELOG.md:1657 -msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy." +msgid "`matrix_prometheus_` -> `prometheus_`" msgstr "" #: ../../../CHANGELOG.md:1659 -msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`." +msgid "2023-03-12" msgstr "" #: ../../../CHANGELOG.md:1661 -msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with." +msgid "synapse-auto-compressor support" msgstr "" #: ../../../CHANGELOG.md:1663 -msgid "How do these changes fix all these problems?" +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically." msgstr "" #: ../../../CHANGELOG.md:1665 -msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now." +msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:" msgstr "" #: ../../../CHANGELOG.md:1667 -msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services." +msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" msgstr "" -#: ../../../CHANGELOG.md:1669 -msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers." +#: ../../../CHANGELOG.md:1668 +msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" msgstr "" -#: ../../../CHANGELOG.md:1671 -msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler." +#: ../../../CHANGELOG.md:1670 +msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations." msgstr "" -#: ../../../CHANGELOG.md:1673 -msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release." +#: ../../../CHANGELOG.md:1672 +msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:1675 -msgid "Traefik does not lock important functionality we'd like to use into [plus packages like nginx does](https://www.nginx.com/products/nginx/), leading us to resolve to configuration workarounds. The default Traefik package is good enough as it is." +msgid "2023-03-07" msgstr "" #: ../../../CHANGELOG.md:1677 -msgid "Where we're at right now?" +msgid "Sliding Sync proxy (Element X) support" msgstr "" #: ../../../CHANGELOG.md:1679 -msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." +msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)." msgstr "" #: ../../../CHANGELOG.md:1681 -msgid "Unless we have some regression, **existing `matrix-nginx-proxy` users should be able to update their Matrix server and not observe any changes**. Their setup should still remain on nginx and everything should still work as expected." +msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support." msgstr "" #: ../../../CHANGELOG.md:1683 -msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`." +msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:1685 -msgid "How do I explicitly switch to Traefik right now?" +#: ../../../CHANGELOG.md:1686 +msgid "2023-03-02" msgstr "" -#: ../../../CHANGELOG.md:1687 -msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" +#: ../../../CHANGELOG.md:1688 +msgid "The matrix-etherpad role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1693 -msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed." +#: ../../../CHANGELOG.md:1690 +msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1695 -msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble." +#: ../../../CHANGELOG.md:1692 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." msgstr "" -#: ../../../CHANGELOG.md:1697 -msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often." +#: ../../../CHANGELOG.md:1694 +msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:1696 +msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" +msgstr "" + +#: ../../../CHANGELOG.md:1698 +msgid "Replace `matrix_etherpad_mode: dimension` with:" msgstr "" #: ../../../CHANGELOG.md:1699 -msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time." +msgid "for `matrix-nginx-proxy` users:" +msgstr "" + +#: ../../../CHANGELOG.md:1700 +msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" msgstr "" #: ../../../CHANGELOG.md:1701 -msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool." +msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" +msgstr "" + +#: ../../../CHANGELOG.md:1702 +msgid "for Traefik users:" msgstr "" #: ../../../CHANGELOG.md:1703 -msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience." +msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" msgstr "" #: ../../../CHANGELOG.md:1705 -msgid "Where we're going in the near future?" +msgid "Rename all other variables:" +msgstr "" + +#: ../../../CHANGELOG.md:1706 +msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" msgstr "" #: ../../../CHANGELOG.md:1707 -msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point." +msgid "`matrix_etherpad_` -> `etherpad_`" msgstr "" #: ../../../CHANGELOG.md:1709 -msgid "For now, `matrix-nginx-proxy` will stay around." +msgid "Along with this relocation, the new role also:" msgstr "" #: ../../../CHANGELOG.md:1711 -msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight." +msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" msgstr "" -#: ../../../CHANGELOG.md:1713 -msgid "As Traefik support becomes complete and proves to be stable for a while, especially as a playbook default, we will **most likely remove `matrix-nginx-proxy` completely**. It will likely be some months before this happens though. Keeping support for both Traefik and nginx in the playbook will be a burden, especially with most of us running Traefik in the future. The Traefik role should do everything nginx does in a better and cleaner way. Users who use their own `nginx` server on the Matrix server will be inconvenienced, as nothing will generate ready-to-include nginx configuration for them. Still, we hope it won't be too hard to migrate their setup to another way of doing things, like:" +#: ../../../CHANGELOG.md:1712 +msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" msgstr "" #: ../../../CHANGELOG.md:1715 -msgid "not using nginx anymore. A common reason for using nginx until now was that you were running other containers and you need your own nginx to reverse-proxy to all of them. Just switch them to Traefik as well." +msgid "2023-02-26" msgstr "" -#: ../../../CHANGELOG.md:1716 -msgid "running Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and using some nginx configuration which reverse-proxies to Traefik (we should introduce examples for this in `examples/nginx`)." +#: ../../../CHANGELOG.md:1717 +msgid "Traefik is the default reverse-proxy now" msgstr "" -#: ../../../CHANGELOG.md:1718 -msgid "How do I help?" +#: ../../../CHANGELOG.md:1719 +msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed." msgstr "" -#: ../../../CHANGELOG.md:1720 -msgid "You can help by:" +#: ../../../CHANGELOG.md:1721 +msgid "As mentioned 2 weeks ago in [(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support](#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support), the playbook is moving to Traefik as its default SSL-terminating reverse-proxy." msgstr "" -#: ../../../CHANGELOG.md:1722 -msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles" +#: ../../../CHANGELOG.md:1723 +msgid "Until now, we've been doing the migration gradually and keeping full backward compatibility. New installations were defaulting to `matrix-nginx-proxy` (just like before), while existing installations were allowed to remain on `matrix-nginx-proxy` as well. This makes things very difficult for us, because we need to maintain and think about lots of different setups:" msgstr "" -#: ../../../CHANGELOG.md:1724 -msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)." +#: ../../../CHANGELOG.md:1725 +msgid "Traefik managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:1726 -msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server" +msgid "Traefik managed by the user in another way" +msgstr "" + +#: ../../../CHANGELOG.md:1727 +msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" +msgstr "" + +#: ../../../CHANGELOG.md:1728 +msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)" msgstr "" #: ../../../CHANGELOG.md:1729 -msgid "2023-02-10" +msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:1731 -msgid "Matrix Authentication Support for Jitsi" +#: ../../../CHANGELOG.md:1730 +msgid "`nginx` webserver operated by the user, running without a container on the same server" msgstr "" -#: ../../../CHANGELOG.md:1733 -msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))." +#: ../../../CHANGELOG.md:1732 +msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support." msgstr "" -#: ../../../CHANGELOG.md:1735 -msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)." +#: ../../../CHANGELOG.md:1734 +msgid "We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for." msgstr "" -#: ../../../CHANGELOG.md:1737 -msgid "Draupnir moderation tool (bot) support" +#: ../../../CHANGELOG.md:1736 +msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" +msgstr "" + +#: ../../../CHANGELOG.md:1738 +msgid "Traefik is now the default reverse-proxy for new installations" msgstr "" #: ../../../CHANGELOG.md:1739 -msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer." +msgid "All existing users need to explicitly choose their reverse-proxy type by defining the `matrix_playbook_reverse_proxy_type` variable in their `vars.yml` configuration file. We strongly encourage existing users to [switch the Traefik](#how-to-switch-an-existing-setup-to-traefik), as the nginx setup is bound to become more and more broken over time until it's ultimately removed" msgstr "" #: ../../../CHANGELOG.md:1741 -msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." +msgid "How do I switch my existing setup to Traefik?" msgstr "" -#: ../../../CHANGELOG.md:1744 -msgid "2023-02-05" +#: ../../../CHANGELOG.md:1743 +msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)." msgstr "" -#: ../../../CHANGELOG.md:1746 -msgid "The matrix-prometheus-postgres-exporter role lives independently now" +#: ../../../CHANGELOG.md:1745 +msgid "If you experience trouble:" +msgstr "" + +#: ../../../CHANGELOG.md:1747 +msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy" msgstr "" #: ../../../CHANGELOG.md:1748 -msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +msgid "Ask for help in our [support channels](README.md#support)" msgstr "" -#: ../../../CHANGELOG.md:1750 -msgid "The `matrix-prometheus-postgres-exporter` role (which configures [Prometheus Postgres Exporter](https://github.com/prometheus-community/postgres_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter" +#: ../../../CHANGELOG.md:1749 +msgid "Try switching to Traefik again later" msgstr "" -#: ../../../CHANGELOG.md:1752 -msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." +#: ../../../CHANGELOG.md:1751 +msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future." msgstr "" -#: ../../../CHANGELOG.md:1754 -msgid "The `matrix-prometheus-services-proxy-connect` role has bee adjusted to help integrate the new `prometheus_postgres_exporter` role with our own services (`matrix-nginx-proxy`)" +#: ../../../CHANGELOG.md:1753 +msgid "I already use my own Traefik server. How do I plug that in?" msgstr "" -#: ../../../CHANGELOG.md:1756 -#: ../../../CHANGELOG.md:1798 -msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily." +#: ../../../CHANGELOG.md:1755 +msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." +msgstr "" + +#: ../../../CHANGELOG.md:1757 +msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" msgstr "" #: ../../../CHANGELOG.md:1759 -msgid "2023-01-26" +msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." msgstr "" #: ../../../CHANGELOG.md:1761 -msgid "coturn can now use host-networking" +msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed." msgstr "" #: ../../../CHANGELOG.md:1763 -msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." +msgid "How do I remain on matrix-nginx-proxy?" msgstr "" #: ../../../CHANGELOG.md:1765 -msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" +msgid "Most new work and testing targets Traefik, so remaining on nginx is **not** \"the good old stable\" option, but rather the \"still available, but largely untested and likely to be broken very soon\" option." +msgstr "" + +#: ../../../CHANGELOG.md:1767 +msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." +msgstr "" + +#: ../../../CHANGELOG.md:1769 +msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly." msgstr "" #: ../../../CHANGELOG.md:1771 -msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." +msgid "How do I keep using my own other reverse-proxy?" msgstr "" #: ../../../CHANGELOG.md:1773 -msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." +msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)." msgstr "" -#: ../../../CHANGELOG.md:1775 -msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" +#: ../../../CHANGELOG.md:1776 +msgid "2023-02-25" msgstr "" -#: ../../../CHANGELOG.md:1777 -msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `coturn_denied_peer_ips` and remove some IP ranges from it." +#: ../../../CHANGELOG.md:1778 +msgid "rageshake support" msgstr "" -#: ../../../CHANGELOG.md:1779 -msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." +#: ../../../CHANGELOG.md:1780 +msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." msgstr "" -#: ../../../CHANGELOG.md:1781 -msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." +#: ../../../CHANGELOG.md:1782 +msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." msgstr "" -#: ../../../CHANGELOG.md:1783 -msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." +#: ../../../CHANGELOG.md:1785 +msgid "2023-02-17" msgstr "" -#: ../../../CHANGELOG.md:1786 -msgid "2023-01-21" +#: ../../../CHANGELOG.md:1787 +msgid "Synapse templates customization support" msgstr "" -#: ../../../CHANGELOG.md:1788 -msgid "The matrix-prometheus-node-exporter role lives independently now" +#: ../../../CHANGELOG.md:1789 +msgid "The playbook can now help you customize Synapse's templates." msgstr "" -#: ../../../CHANGELOG.md:1790 -msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1791 +msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." msgstr "" -#: ../../../CHANGELOG.md:1792 -msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" +#: ../../../CHANGELOG.md:1793 +msgid "The matrix-redis role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1794 -msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." +#: ../../../CHANGELOG.md:1795 +msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1796 -msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" +#: ../../../CHANGELOG.md:1797 +msgid "The `matrix-redis` role (which configures [Redis](https://redis.io/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-redis). This makes it possible to easily use it in other Ansible playbooks." +msgstr "" + +#: ../../../CHANGELOG.md:1799 +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)." msgstr "" #: ../../../CHANGELOG.md:1801 -msgid "2023-01-13" +msgid "The matrix-ntfy role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1803 -msgid "Support for running commands via just" +msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:1805 -msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." +msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks." msgstr "" #: ../../../CHANGELOG.md:1807 -msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)." msgstr "" -#: ../../../CHANGELOG.md:1809 -msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" -msgstr "" - -#: ../../../CHANGELOG.md:1811 -msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" +#: ../../../CHANGELOG.md:1810 +msgid "2023-02-15" msgstr "" #: ../../../CHANGELOG.md:1812 -msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" -msgstr "" - -#: ../../../CHANGELOG.md:1813 -msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" +msgid "The matrix-grafana role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1814 -msgid "`just start-all` — (re-)starts all services" -msgstr "" - -#: ../../../CHANGELOG.md:1815 -msgid "`just stop-group postgres` — to stop only the Postgres service" +msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:1816 -msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" +msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks." msgstr "" #: ../../../CHANGELOG.md:1818 -msgid "Additional helpful commands and shortcuts may be defined in the future." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)." msgstr "" -#: ../../../CHANGELOG.md:1820 -msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." +#: ../../../CHANGELOG.md:1821 +msgid "2023-02-13" msgstr "" #: ../../../CHANGELOG.md:1823 -msgid "2023-01-11" +msgid "The matrix-backup-borg role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1825 -msgid "mautrix-slack support" +msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:1827 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." +msgid "Thanks to [moan0s](https://github.com/moan0s), the `matrix-backup-borg` role (which configures [BorgBackup](docs/configuring-playbook-backup-borg.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). This makes it possible to easily use it in other Ansible playbooks and will become part of [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) soon." msgstr "" #: ../../../CHANGELOG.md:1829 -msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Borg's backup functionality or not. If you're making use of BorgBackup via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_backup_borg_` -> `backup_borg_`)." msgstr "" #: ../../../CHANGELOG.md:1832 -msgid "2023-01-10" +msgid "2023-02-12" msgstr "" #: ../../../CHANGELOG.md:1834 -msgid "ChatGPT support" +msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" msgstr "" #: ../../../CHANGELOG.md:1836 -msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." +msgid "**TLDR**:" msgstr "" #: ../../../CHANGELOG.md:1838 -msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." +msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways." +msgstr "" + +#: ../../../CHANGELOG.md:1839 +msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now." +msgstr "" + +#: ../../../CHANGELOG.md:1840 +msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`" msgstr "" #: ../../../CHANGELOG.md:1841 -msgid "2022-11-30" +msgid "we now have **optional [Traefik](https://traefik.io/) support**, so you could easily host Matrix and other Traefik-native services in containers on the same server. Traefik support is still experimental (albeit, good enough) and will improve over time. It does work, but certain esoteric features may not be there yet." msgstr "" -#: ../../../CHANGELOG.md:1843 -msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" +#: ../../../CHANGELOG.md:1842 +msgid "**Traefik will become the default reverse-proxy in the near future**. `matrix-nginx-proxy` will either remain as an option, or be completely removed to simplify the playbook" msgstr "" -#: ../../../CHANGELOG.md:1845 -msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." +#: ../../../CHANGELOG.md:1844 +msgid "Motivation for redoing our reverse-proxy setup" msgstr "" -#: ../../../CHANGELOG.md:1847 -msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." +#: ../../../CHANGELOG.md:1846 +msgid "The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**." +msgstr "" + +#: ../../../CHANGELOG.md:1848 +msgid "We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**." msgstr "" #: ../../../CHANGELOG.md:1850 -msgid "2022-11-28" +msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else." msgstr "" #: ../../../CHANGELOG.md:1852 -msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" +msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook." msgstr "" #: ../../../CHANGELOG.md:1854 -msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." +msgid "Others still, wanted to run Matrix locally (no SSL certificates), regardless of which web server technology this relied on, and then **reverse-proxy from another machine on the network** which was doing SSL termination. These people were:" msgstr "" #: ../../../CHANGELOG.md:1856 -msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." +msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" msgstr "" -#: ../../../CHANGELOG.md:1858 -msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" +#: ../../../CHANGELOG.md:1857 +msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." msgstr "" -#: ../../../CHANGELOG.md:1860 -msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" +#: ../../../CHANGELOG.md:1859 +msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." msgstr "" #: ../../../CHANGELOG.md:1861 -msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" +msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)." msgstr "" #: ../../../CHANGELOG.md:1863 -msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." +msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" msgstr "" #: ../../../CHANGELOG.md:1865 -msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." +msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager" +msgstr "" + +#: ../../../CHANGELOG.md:1866 +msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service" msgstr "" #: ../../../CHANGELOG.md:1867 -msgid "The playbook no longer installs scripts to /usr/local/bin" +msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform" msgstr "" #: ../../../CHANGELOG.md:1869 -msgid "The locations of various scripts installed by the playbook have changed." +msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy." msgstr "" #: ../../../CHANGELOG.md:1871 -msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" +msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`." msgstr "" #: ../../../CHANGELOG.md:1873 -msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" -msgstr "" - -#: ../../../CHANGELOG.md:1874 -msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" +msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with." msgstr "" #: ../../../CHANGELOG.md:1875 -msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" +msgid "How do these changes fix all these problems?" msgstr "" -#: ../../../CHANGELOG.md:1876 -msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" +#: ../../../CHANGELOG.md:1877 +msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now." msgstr "" #: ../../../CHANGELOG.md:1879 -msgid "2022-11-25" +msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services." msgstr "" #: ../../../CHANGELOG.md:1881 -msgid "2x-5x performance improvements in playbook runtime" +msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers." msgstr "" #: ../../../CHANGELOG.md:1883 -msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." +msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler." msgstr "" #: ../../../CHANGELOG.md:1885 -msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." +msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release." msgstr "" #: ../../../CHANGELOG.md:1887 -msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." +msgid "Traefik does not lock important functionality we'd like to use into [plus packages like nginx does](https://www.nginx.com/products/nginx/), leading us to resolve to configuration workarounds. The default Traefik package is good enough as it is." msgstr "" #: ../../../CHANGELOG.md:1889 -msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" +msgid "Where we're at right now?" msgstr "" #: ../../../CHANGELOG.md:1891 -msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." +msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." msgstr "" #: ../../../CHANGELOG.md:1893 -msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." +msgid "Unless we have some regression, **existing `matrix-nginx-proxy` users should be able to update their Matrix server and not observe any changes**. Their setup should still remain on nginx and everything should still work as expected." msgstr "" #: ../../../CHANGELOG.md:1895 -msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." +msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`." msgstr "" #: ../../../CHANGELOG.md:1897 -msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." +msgid "How do I explicitly switch to Traefik right now?" msgstr "" -#: ../../../CHANGELOG.md:1900 -msgid "2022-11-22" +#: ../../../CHANGELOG.md:1899 +msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" msgstr "" -#: ../../../CHANGELOG.md:1902 -msgid "Automatic `matrix_architecture` determination" +#: ../../../CHANGELOG.md:1905 +msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed." msgstr "" -#: ../../../CHANGELOG.md:1904 -msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." +#: ../../../CHANGELOG.md:1907 +msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble." msgstr "" -#: ../../../CHANGELOG.md:1906 -msgid "Docker and the Docker SDK for Python are now installed via external roles" +#: ../../../CHANGELOG.md:1909 +msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often." msgstr "" -#: ../../../CHANGELOG.md:1910 -msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." +#: ../../../CHANGELOG.md:1911 +msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time." msgstr "" -#: ../../../CHANGELOG.md:1912 -msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." +#: ../../../CHANGELOG.md:1913 +msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool." msgstr "" -#: ../../../CHANGELOG.md:1914 -msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." +#: ../../../CHANGELOG.md:1915 +msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience." msgstr "" -#: ../../../CHANGELOG.md:1916 -msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." +#: ../../../CHANGELOG.md:1917 +msgid "Where we're going in the near future?" msgstr "" #: ../../../CHANGELOG.md:1919 -msgid "2022-11-20" +msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point." msgstr "" #: ../../../CHANGELOG.md:1921 -msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" +msgid "For now, `matrix-nginx-proxy` will stay around." msgstr "" #: ../../../CHANGELOG.md:1923 -msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." +msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight." msgstr "" #: ../../../CHANGELOG.md:1925 -msgid "Background" +msgid "As Traefik support becomes complete and proves to be stable for a while, especially as a playbook default, we will **most likely remove `matrix-nginx-proxy` completely**. It will likely be some months before this happens though. Keeping support for both Traefik and nginx in the playbook will be a burden, especially with most of us running Traefik in the future. The Traefik role should do everything nginx does in a better and cleaner way. Users who use their own `nginx` server on the Matrix server will be inconvenienced, as nothing will generate ready-to-include nginx configuration for them. Still, we hope it won't be too hard to migrate their setup to another way of doing things, like:" msgstr "" #: ../../../CHANGELOG.md:1927 -msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." +msgid "not using nginx anymore. A common reason for using nginx until now was that you were running other containers and you need your own nginx to reverse-proxy to all of them. Just switch them to Traefik as well." msgstr "" -#: ../../../CHANGELOG.md:1929 -msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." +#: ../../../CHANGELOG.md:1928 +msgid "running Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and using some nginx configuration which reverse-proxies to Traefik (we should introduce examples for this in `examples/nginx`)." msgstr "" -#: ../../../CHANGELOG.md:1931 -msgid "Solution" +#: ../../../CHANGELOG.md:1930 +msgid "How do I help?" msgstr "" -#: ../../../CHANGELOG.md:1933 -msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" +#: ../../../CHANGELOG.md:1932 +msgid "You can help by:" msgstr "" -#: ../../../CHANGELOG.md:1935 -msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" +#: ../../../CHANGELOG.md:1934 +msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles" msgstr "" -#: ../../../CHANGELOG.md:1937 -msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" +#: ../../../CHANGELOG.md:1936 +msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)." msgstr "" #: ../../../CHANGELOG.md:1938 -msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" -msgstr "" - -#: ../../../CHANGELOG.md:1939 -msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" +msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server" msgstr "" #: ../../../CHANGELOG.md:1941 -msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" +msgid "2023-02-10" msgstr "" #: ../../../CHANGELOG.md:1943 -msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" +msgid "Matrix Authentication Support for Jitsi" msgstr "" #: ../../../CHANGELOG.md:1945 -msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" +msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))." msgstr "" #: ../../../CHANGELOG.md:1947 -msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." +msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)." msgstr "" #: ../../../CHANGELOG.md:1949 -msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." +msgid "Draupnir moderation tool (bot) support" msgstr "" #: ../../../CHANGELOG.md:1951 -msgid "Webserver configuration" +msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer." msgstr "" #: ../../../CHANGELOG.md:1953 -msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" +msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." msgstr "" -#: ../../../CHANGELOG.md:1955 -msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" +#: ../../../CHANGELOG.md:1956 +msgid "2023-02-05" msgstr "" -#: ../../../CHANGELOG.md:1957 -msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" +#: ../../../CHANGELOG.md:1958 +msgid "The matrix-prometheus-postgres-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1959 -msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" +#: ../../../CHANGELOG.md:1960 +msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" -#: ../../../CHANGELOG.md:1961 -msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." +#: ../../../CHANGELOG.md:1962 +msgid "The `matrix-prometheus-postgres-exporter` role (which configures [Prometheus Postgres Exporter](https://github.com/prometheus-community/postgres_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter" msgstr "" #: ../../../CHANGELOG.md:1964 -msgid "2022-11-05" +msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:1966 -msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" +msgid "The `matrix-prometheus-services-proxy-connect` role has bee adjusted to help integrate the new `prometheus_postgres_exporter` role with our own services (`matrix-nginx-proxy`)" msgstr "" #: ../../../CHANGELOG.md:1968 -msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." +#: ../../../CHANGELOG.md:2010 +msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily." msgstr "" -#: ../../../CHANGELOG.md:1970 -msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." +#: ../../../CHANGELOG.md:1971 +msgid "2023-01-26" msgstr "" -#: ../../../CHANGELOG.md:1972 -msgid "If you've already got both Etherpad and Dimension in use you could:" +#: ../../../CHANGELOG.md:1973 +msgid "coturn can now use host-networking" msgstr "" -#: ../../../CHANGELOG.md:1974 -msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." +#: ../../../CHANGELOG.md:1975 +msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown." msgstr "" -#: ../../../CHANGELOG.md:1976 -msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" -msgstr "" - -#: ../../../CHANGELOG.md:1979 -msgid "2022-11-04" -msgstr "" - -#: ../../../CHANGELOG.md:1981 -msgid "The playbook now uses external roles for some things" +#: ../../../CHANGELOG.md:1977 +msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:" msgstr "" #: ../../../CHANGELOG.md:1983 -msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." +msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself." msgstr "" #: ../../../CHANGELOG.md:1985 -msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." +msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network." msgstr "" #: ../../../CHANGELOG.md:1987 -msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" +msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" msgstr "" #: ../../../CHANGELOG.md:1989 -msgid "those that live within the playbook itself (`roles/custom/*`)" +msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `coturn_denied_peer_ips` and remove some IP ranges from it." msgstr "" #: ../../../CHANGELOG.md:1991 -msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." +msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better." msgstr "" #: ../../../CHANGELOG.md:1993 -msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." +msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it." msgstr "" #: ../../../CHANGELOG.md:1995 -msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." +msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people." msgstr "" -#: ../../../CHANGELOG.md:1997 -msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." +#: ../../../CHANGELOG.md:1998 +msgid "2023-01-21" msgstr "" #: ../../../CHANGELOG.md:2000 -msgid "2022-10-14" +msgid "The matrix-prometheus-node-exporter role lives independently now" msgstr "" #: ../../../CHANGELOG.md:2002 -msgid "synapse-s3-storage-provider support" +msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:2004 -msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" +msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter" msgstr "" #: ../../../CHANGELOG.md:2006 -msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." +msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact." msgstr "" #: ../../../CHANGELOG.md:2008 -msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." +msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)" msgstr "" -#: ../../../CHANGELOG.md:2010 -msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." +#: ../../../CHANGELOG.md:2013 +msgid "2023-01-13" msgstr "" -#: ../../../CHANGELOG.md:2012 -msgid "Synapse container image customization support" +#: ../../../CHANGELOG.md:2015 +msgid "Support for running commands via just" msgstr "" -#: ../../../CHANGELOG.md:2014 -msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." +#: ../../../CHANGELOG.md:2017 +msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands." msgstr "" -#: ../../../CHANGELOG.md:2016 -msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." +#: ../../../CHANGELOG.md:2019 +msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same." msgstr "" -#: ../../../CHANGELOG.md:2018 -msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" +#: ../../../CHANGELOG.md:2021 +msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:" msgstr "" -#: ../../../CHANGELOG.md:2029 -msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." +#: ../../../CHANGELOG.md:2023 +msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command" msgstr "" -#: ../../../CHANGELOG.md:2031 -msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." +#: ../../../CHANGELOG.md:2024 +msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)" msgstr "" -#: ../../../CHANGELOG.md:2034 -msgid "2022-10-02" +#: ../../../CHANGELOG.md:2025 +msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" msgstr "" -#: ../../../CHANGELOG.md:2036 -msgid "matrix-ldap-registration-proxy support" +#: ../../../CHANGELOG.md:2026 +msgid "`just start-all` — (re-)starts all services" msgstr "" -#: ../../../CHANGELOG.md:2038 -msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." +#: ../../../CHANGELOG.md:2027 +msgid "`just stop-group postgres` — to stop only the Postgres service" msgstr "" -#: ../../../CHANGELOG.md:2040 -msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." +#: ../../../CHANGELOG.md:2028 +msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" msgstr "" -#: ../../../CHANGELOG.md:2043 -msgid "2022-09-15" +#: ../../../CHANGELOG.md:2030 +msgid "Additional helpful commands and shortcuts may be defined in the future." msgstr "" -#: ../../../CHANGELOG.md:2045 -msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" +#: ../../../CHANGELOG.md:2032 +msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually." msgstr "" -#: ../../../CHANGELOG.md:2047 -msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" +#: ../../../CHANGELOG.md:2035 +msgid "2023-01-11" msgstr "" -#: ../../../CHANGELOG.md:2049 -msgid "we've added support for [Stream writers](#stream-writers-support)" +#: ../../../CHANGELOG.md:2037 +msgid "mautrix-slack support" +msgstr "" + +#: ../../../CHANGELOG.md:2039 +msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started." +msgstr "" + +#: ../../../CHANGELOG.md:2041 +msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." +msgstr "" + +#: ../../../CHANGELOG.md:2044 +msgid "2023-01-10" +msgstr "" + +#: ../../../CHANGELOG.md:2046 +msgid "ChatGPT support" +msgstr "" + +#: ../../../CHANGELOG.md:2048 +msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model." msgstr "" #: ../../../CHANGELOG.md:2050 -msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:2051 -msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" -msgstr "" - -#: ../../../CHANGELOG.md:2052 -msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" +msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2053 -msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" -msgstr "" - -#: ../../../CHANGELOG.md:2054 -msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" +msgid "2022-11-30" msgstr "" #: ../../../CHANGELOG.md:2055 -msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" +msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" msgstr "" -#: ../../../CHANGELOG.md:2056 -msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" +#: ../../../CHANGELOG.md:2057 +msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)." msgstr "" -#: ../../../CHANGELOG.md:2058 -msgid "Stream writers support" -msgstr "" - -#: ../../../CHANGELOG.md:2060 -msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." +#: ../../../CHANGELOG.md:2059 +msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." msgstr "" #: ../../../CHANGELOG.md:2062 -msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." +msgid "2022-11-28" msgstr "" #: ../../../CHANGELOG.md:2064 -msgid "If you'd like to customize the number of workers we also make that possible using these variables:" +msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" +msgstr "" + +#: ../../../CHANGELOG.md:2066 +msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)." +msgstr "" + +#: ../../../CHANGELOG.md:2068 +msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability." +msgstr "" + +#: ../../../CHANGELOG.md:2070 +msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" +msgstr "" + +#: ../../../CHANGELOG.md:2072 +msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" +msgstr "" + +#: ../../../CHANGELOG.md:2073 +msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" +msgstr "" + +#: ../../../CHANGELOG.md:2075 +msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix." msgstr "" #: ../../../CHANGELOG.md:2077 -msgid "Multiple federation sender workers support" +msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)." msgstr "" #: ../../../CHANGELOG.md:2079 -msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." +msgid "The playbook no longer installs scripts to /usr/local/bin" msgstr "" #: ../../../CHANGELOG.md:2081 -msgid "Multiple pusher workers support" +msgid "The locations of various scripts installed by the playbook have changed." msgstr "" #: ../../../CHANGELOG.md:2083 -msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." +msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:" msgstr "" #: ../../../CHANGELOG.md:2085 -msgid "Background tasks can run on a worker" +msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +msgstr "" + +#: ../../../CHANGELOG.md:2086 +msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" msgstr "" #: ../../../CHANGELOG.md:2087 -msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." +msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" msgstr "" -#: ../../../CHANGELOG.md:2089 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +#: ../../../CHANGELOG.md:2088 +msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" msgstr "" #: ../../../CHANGELOG.md:2091 -msgid "Appservice worker support is back" +msgid "2022-11-25" msgstr "" #: ../../../CHANGELOG.md:2093 -msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +msgid "2x-5x performance improvements in playbook runtime" msgstr "" #: ../../../CHANGELOG.md:2095 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." +msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster." msgstr "" #: ../../../CHANGELOG.md:2097 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience." msgstr "" #: ../../../CHANGELOG.md:2099 -msgid "User Directory worker support is back" +msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." msgstr "" #: ../../../CHANGELOG.md:2101 -msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):" msgstr "" #: ../../../CHANGELOG.md:2103 -msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." +msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**." msgstr "" #: ../../../CHANGELOG.md:2105 -msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**." msgstr "" #: ../../../CHANGELOG.md:2107 -msgid "Using more than 1 media repository worker is now more reliable" +msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration." msgstr "" #: ../../../CHANGELOG.md:2109 -msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." +msgid "If you know you haven't uninstalled any services since the last time you ran the playbook, you could run `--tags=install-all` instead and benefit from quicker runtimes. It should be noted that a service may become \"eligible for uninstallation\" even if your `vars.yml` file remains the same. In rare cases, we toggle services from being auto-installed to being optional, like we did on the 17th of March 2022 when we made [ma1sd not get installed by default](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#compatibility-break-ma1sd-identity-server-no-longer-installed-by-default). In such rare cases, you'd also need to run `--tags=setup-all`." msgstr "" -#: ../../../CHANGELOG.md:2111 -msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." +#: ../../../CHANGELOG.md:2112 +msgid "2022-11-22" msgstr "" -#: ../../../CHANGELOG.md:2113 -msgid "Potential Backward Incompatibilities after these Synapse worker changes" +#: ../../../CHANGELOG.md:2114 +msgid "Automatic `matrix_architecture` determination" msgstr "" -#: ../../../CHANGELOG.md:2115 -msgid "Below we'll discuss **potential backward incompatibilities**." +#: ../../../CHANGELOG.md:2116 +msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file." msgstr "" -#: ../../../CHANGELOG.md:2117 -msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." +#: ../../../CHANGELOG.md:2118 +msgid "Docker and the Docker SDK for Python are now installed via external roles" msgstr "" -#: ../../../CHANGELOG.md:2119 -msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." +#: ../../../CHANGELOG.md:2122 +msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`." msgstr "" -#: ../../../CHANGELOG.md:2121 -msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." -msgstr "" - -#: ../../../CHANGELOG.md:2123 -msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." +#: ../../../CHANGELOG.md:2124 +msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`." msgstr "" #: ../../../CHANGELOG.md:2126 -msgid "2022-09-09" +msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects." msgstr "" #: ../../../CHANGELOG.md:2128 -msgid "Cactus Comments support" +msgid "These additional roles are downloaded into the playbook directory (to `roles/galaxy`) via an `ansible-galaxy …` command. `make roles` is an easy shortcut for invoking the `ansible-galaxy` command to download these roles." msgstr "" -#: ../../../CHANGELOG.md:2130 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." +#: ../../../CHANGELOG.md:2131 +msgid "2022-11-20" msgstr "" -#: ../../../CHANGELOG.md:2132 -msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." +#: ../../../CHANGELOG.md:2133 +msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" msgstr "" #: ../../../CHANGELOG.md:2135 -msgid "2022-08-23" +msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below." msgstr "" #: ../../../CHANGELOG.md:2137 -msgid "Postmoogle email bridge support" +msgid "Background" msgstr "" #: ../../../CHANGELOG.md:2139 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." +msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)." msgstr "" #: ../../../CHANGELOG.md:2141 -msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." +msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)." msgstr "" -#: ../../../CHANGELOG.md:2144 -msgid "2022-08-10" +#: ../../../CHANGELOG.md:2143 +msgid "Solution" msgstr "" -#: ../../../CHANGELOG.md:2146 -msgid "mautrix-whatsapp default configuration changes" +#: ../../../CHANGELOG.md:2145 +msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:" msgstr "" -#: ../../../CHANGELOG.md:2148 -msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." +#: ../../../CHANGELOG.md:2147 +msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)" +msgstr "" + +#: ../../../CHANGELOG.md:2149 +msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" msgstr "" #: ../../../CHANGELOG.md:2150 -msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." +msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" msgstr "" -#: ../../../CHANGELOG.md:2152 -msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." +#: ../../../CHANGELOG.md:2151 +msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" +msgstr "" + +#: ../../../CHANGELOG.md:2153 +msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers" msgstr "" #: ../../../CHANGELOG.md:2155 -msgid "2022-08-09" +msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" msgstr "" #: ../../../CHANGELOG.md:2157 -msgid "Conduit support" +msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:" msgstr "" #: ../../../CHANGELOG.md:2159 -msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." +msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." msgstr "" #: ../../../CHANGELOG.md:2161 -msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." +msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service." msgstr "" #: ../../../CHANGELOG.md:2163 -msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" +msgid "Webserver configuration" +msgstr "" + +#: ../../../CHANGELOG.md:2165 +msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything" +msgstr "" + +#: ../../../CHANGELOG.md:2167 +msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work" msgstr "" #: ../../../CHANGELOG.md:2169 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." +msgid "if you're using another local webserver (e.g. Apache, etc.) and haven't changed any ports (`matrix_*_host_bind_port` definitions), you shouldn't be affected. You're likely sending Matrix traffic to `127.0.0.1:8008` and `127.0.0.1:8048`. These ports (`8008` and `8048`) will still be exposed on `127.0.0.1` by default — just not by the `matrix-synapse` container from now on, but by the `matrix-synapse-reverse-proxy-companion` container instead" msgstr "" -#: ../../../CHANGELOG.md:2172 -msgid "2022-07-29" +#: ../../../CHANGELOG.md:2171 +msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead" msgstr "" -#: ../../../CHANGELOG.md:2174 -msgid "mautrix-discord support" +#: ../../../CHANGELOG.md:2173 +msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler." msgstr "" #: ../../../CHANGELOG.md:2176 -msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." +msgid "2022-11-05" msgstr "" #: ../../../CHANGELOG.md:2178 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." +msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" msgstr "" -#: ../../../CHANGELOG.md:2181 -msgid "2022-07-27" +#: ../../../CHANGELOG.md:2180 +msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)." msgstr "" -#: ../../../CHANGELOG.md:2183 -msgid "matrix-appservice-kakaotalk support" +#: ../../../CHANGELOG.md:2182 +msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)." msgstr "" -#: ../../../CHANGELOG.md:2185 -msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" +#: ../../../CHANGELOG.md:2184 +msgid "If you've already got both Etherpad and Dimension in use you could:" msgstr "" -#: ../../../CHANGELOG.md:2187 -msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." +#: ../../../CHANGELOG.md:2186 +msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary." msgstr "" -#: ../../../CHANGELOG.md:2190 -msgid "2022-07-20" +#: ../../../CHANGELOG.md:2188 +msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode" msgstr "" -#: ../../../CHANGELOG.md:2192 -msgid "maubot support" +#: ../../../CHANGELOG.md:2191 +msgid "2022-11-04" msgstr "" -#: ../../../CHANGELOG.md:2194 -msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." +#: ../../../CHANGELOG.md:2193 +msgid "The playbook now uses external roles for some things" msgstr "" -#: ../../../CHANGELOG.md:2196 -msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." +#: ../../../CHANGELOG.md:2195 +msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work." +msgstr "" + +#: ../../../CHANGELOG.md:2197 +msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." msgstr "" #: ../../../CHANGELOG.md:2199 -msgid "2022-07-14" +msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" msgstr "" #: ../../../CHANGELOG.md:2201 -msgid "mx-puppet-skype removal" +msgid "those that live within the playbook itself (`roles/custom/*`)" msgstr "" #: ../../../CHANGELOG.md:2203 -msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." +msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community." msgstr "" #: ../../../CHANGELOG.md:2205 -msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" +msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role." msgstr "" #: ../../../CHANGELOG.md:2207 -msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" -msgstr "" - -#: ../../../CHANGELOG.md:2208 -msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" +msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:2209 -msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`." msgstr "" -#: ../../../CHANGELOG.md:2210 -msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" +#: ../../../CHANGELOG.md:2212 +msgid "2022-10-14" msgstr "" -#: ../../../CHANGELOG.md:2211 -msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" +#: ../../../CHANGELOG.md:2214 +msgid "synapse-s3-storage-provider support" msgstr "" -#: ../../../CHANGELOG.md:2213 -msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." +#: ../../../CHANGELOG.md:2216 +msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" msgstr "" -#: ../../../CHANGELOG.md:2215 -msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." +#: ../../../CHANGELOG.md:2218 +msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)." msgstr "" -#: ../../../CHANGELOG.md:2217 -msgid "signald (0.19.0+) upgrade requires data migration" +#: ../../../CHANGELOG.md:2220 +msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`." msgstr "" -#: ../../../CHANGELOG.md:2219 -msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." +#: ../../../CHANGELOG.md:2222 +msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation." msgstr "" -#: ../../../CHANGELOG.md:2221 -msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." +#: ../../../CHANGELOG.md:2224 +msgid "Synapse container image customization support" msgstr "" -#: ../../../CHANGELOG.md:2223 -msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." +#: ../../../CHANGELOG.md:2226 +msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)." msgstr "" -#: ../../../CHANGELOG.md:2225 -msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." -msgstr "" - -#: ../../../CHANGELOG.md:2227 -msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" +#: ../../../CHANGELOG.md:2228 +msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image." msgstr "" #: ../../../CHANGELOG.md:2230 -msgid "2022-07-05" -msgstr "" - -#: ../../../CHANGELOG.md:2232 -msgid "Ntfy push notifications support" -msgstr "" - -#: ../../../CHANGELOG.md:2234 -msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." -msgstr "" - -#: ../../../CHANGELOG.md:2236 -msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:2239 -msgid "2022-06-23" +msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:" msgstr "" #: ../../../CHANGELOG.md:2241 -msgid "(Potential Backward Compatibility Break) Changes around metrics collection" +msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower." msgstr "" #: ../../../CHANGELOG.md:2243 -msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." +msgid "With the new Synapse-customization feature in the playbook, we use the original upstream (pre-built, if available) Synapse image and only build on top of it, right on the Matrix server. This is much faster than building all of Synapse from scratch." msgstr "" -#: ../../../CHANGELOG.md:2245 -msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." +#: ../../../CHANGELOG.md:2246 +msgid "2022-10-02" msgstr "" -#: ../../../CHANGELOG.md:2247 -msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." -msgstr "" - -#: ../../../CHANGELOG.md:2249 -msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" +#: ../../../CHANGELOG.md:2248 +msgid "matrix-ldap-registration-proxy support" msgstr "" #: ../../../CHANGELOG.md:2250 -msgid "**Metrics may not be enabled by default anymore**:" -msgstr "" - -#: ../../../CHANGELOG.md:2251 -msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." +msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP." msgstr "" #: ../../../CHANGELOG.md:2252 -msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." +msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2253 -msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." +#: ../../../CHANGELOG.md:2255 +msgid "2022-09-15" msgstr "" -#: ../../../CHANGELOG.md:2254 -msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." +#: ../../../CHANGELOG.md:2257 +msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" msgstr "" -#: ../../../CHANGELOG.md:2256 -msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." +#: ../../../CHANGELOG.md:2259 +msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:" msgstr "" -#: ../../../CHANGELOG.md:2258 -msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." -msgstr "" - -#: ../../../CHANGELOG.md:2260 -msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" +#: ../../../CHANGELOG.md:2261 +msgid "we've added support for [Stream writers](#stream-writers-support)" msgstr "" #: ../../../CHANGELOG.md:2262 -msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." +msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2263 -msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" +msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2264 -msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" +msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" msgstr "" #: ../../../CHANGELOG.md:2265 -msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." +msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2266 +msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" msgstr "" #: ../../../CHANGELOG.md:2267 -msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." +msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)" msgstr "" -#: ../../../CHANGELOG.md:2269 -msgid "2022-06-13" +#: ../../../CHANGELOG.md:2268 +msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" msgstr "" -#: ../../../CHANGELOG.md:2271 -msgid "go-skype-bridge bridging support" +#: ../../../CHANGELOG.md:2270 +msgid "Stream writers support" msgstr "" -#: ../../../CHANGELOG.md:2273 -msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." +#: ../../../CHANGELOG.md:2272 +msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes." msgstr "" -#: ../../../CHANGELOG.md:2275 -msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." +#: ../../../CHANGELOG.md:2274 +msgid "If you're using `matrix_synapse_workers_preset: one-of-each`, you'll automatically get 6 additional workers (one for each of the above stream types). Our `little-federation-helper` preset (meant to be quite minimal and focusing in improved federation performance) does not include stream writer workers." msgstr "" -#: ../../../CHANGELOG.md:2277 -msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." -msgstr "" - -#: ../../../CHANGELOG.md:2280 -msgid "2022-06-09" -msgstr "" - -#: ../../../CHANGELOG.md:2282 -msgid "Running Ansible in a container can now happen on the Matrix server itself" -msgstr "" - -#: ../../../CHANGELOG.md:2284 -msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." -msgstr "" - -#: ../../../CHANGELOG.md:2287 -msgid "2022-05-31" +#: ../../../CHANGELOG.md:2276 +msgid "If you'd like to customize the number of workers we also make that possible using these variables:" msgstr "" #: ../../../CHANGELOG.md:2289 -msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" +msgid "Multiple federation sender workers support" msgstr "" #: ../../../CHANGELOG.md:2291 -msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." +msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic." msgstr "" #: ../../../CHANGELOG.md:2293 -msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." +msgid "Multiple pusher workers support" msgstr "" #: ../../../CHANGELOG.md:2295 -msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" +msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out." msgstr "" #: ../../../CHANGELOG.md:2297 -msgid "SSH into the Matrix server" -msgstr "" - -#: ../../../CHANGELOG.md:2298 -msgid "launch `/usr/local/bin/matrix-postgres-cli`" +msgid "Background tasks can run on a worker" msgstr "" #: ../../../CHANGELOG.md:2299 -msgid "switch to the `synapse` database: `\\c synapse`" +msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)." msgstr "" -#: ../../../CHANGELOG.md:2300 -msgid "run the following SQL query:" +#: ../../../CHANGELOG.md:2301 +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:2303 +msgid "Appservice worker support is back" +msgstr "" + +#: ../../../CHANGELOG.md:2305 +msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +msgstr "" + +#: ../../../CHANGELOG.md:2307 +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this." +msgstr "" + +#: ../../../CHANGELOG.md:2309 +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." +msgstr "" + +#: ../../../CHANGELOG.md:2311 +msgid "User Directory worker support is back" +msgstr "" + +#: ../../../CHANGELOG.md:2313 +msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time." +msgstr "" + +#: ../../../CHANGELOG.md:2315 +msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this." +msgstr "" + +#: ../../../CHANGELOG.md:2317 +msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only `0` or `1` workers of this type are supported by Synapse." msgstr "" #: ../../../CHANGELOG.md:2319 -msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" +msgid "Using more than 1 media repository worker is now more reliable" msgstr "" -#: ../../../CHANGELOG.md:2322 -msgid "2022-04-25" +#: ../../../CHANGELOG.md:2321 +msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." msgstr "" -#: ../../../CHANGELOG.md:2324 -msgid "Buscarron bot support" +#: ../../../CHANGELOG.md:2323 +msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are." msgstr "" -#: ../../../CHANGELOG.md:2326 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" +#: ../../../CHANGELOG.md:2325 +msgid "Potential Backward Incompatibilities after these Synapse worker changes" msgstr "" -#: ../../../CHANGELOG.md:2328 -msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." +#: ../../../CHANGELOG.md:2327 +msgid "Below we'll discuss **potential backward incompatibilities**." +msgstr "" + +#: ../../../CHANGELOG.md:2329 +msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically." msgstr "" #: ../../../CHANGELOG.md:2331 -msgid "2022-04-21" +msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables." msgstr "" #: ../../../CHANGELOG.md:2333 -msgid "matrix-registration-bot support" +msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though." msgstr "" #: ../../../CHANGELOG.md:2335 -msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." +msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong." msgstr "" -#: ../../../CHANGELOG.md:2337 -msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." +#: ../../../CHANGELOG.md:2338 +msgid "2022-09-09" msgstr "" #: ../../../CHANGELOG.md:2340 -msgid "2022-04-19" +msgid "Cactus Comments support" msgstr "" #: ../../../CHANGELOG.md:2342 -msgid "BorgBackup support" +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix." msgstr "" #: ../../../CHANGELOG.md:2344 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." +msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2346 -msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." +#: ../../../CHANGELOG.md:2347 +msgid "2022-08-23" msgstr "" -#: ../../../CHANGELOG.md:2348 -msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" +#: ../../../CHANGELOG.md:2349 +msgid "Postmoogle email bridge support" msgstr "" -#: ../../../CHANGELOG.md:2350 -msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" +#: ../../../CHANGELOG.md:2351 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving." msgstr "" -#: ../../../CHANGELOG.md:2352 -msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." -msgstr "" - -#: ../../../CHANGELOG.md:2354 -msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." +#: ../../../CHANGELOG.md:2353 +msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2356 -msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" +msgid "2022-08-10" msgstr "" #: ../../../CHANGELOG.md:2358 -msgid "Pull the latest playbook changes" -msgstr "" - -#: ../../../CHANGELOG.md:2359 -msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgid "mautrix-whatsapp default configuration changes" msgstr "" #: ../../../CHANGELOG.md:2360 -msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" -msgstr "" - -#: ../../../CHANGELOG.md:2361 -msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" +msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge." msgstr "" #: ../../../CHANGELOG.md:2362 -msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:2363 -msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." +msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file." msgstr "" #: ../../../CHANGELOG.md:2364 -msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" +msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it." msgstr "" #: ../../../CHANGELOG.md:2367 -msgid "2022-04-14" +msgid "2022-08-09" msgstr "" #: ../../../CHANGELOG.md:2369 -msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" +msgid "Conduit support" msgstr "" #: ../../../CHANGELOG.md:2371 -msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." +msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year." msgstr "" #: ../../../CHANGELOG.md:2373 -msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." +msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" #: ../../../CHANGELOG.md:2375 -msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." +msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" msgstr "" -#: ../../../CHANGELOG.md:2377 -msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" -msgstr "" - -#: ../../../CHANGELOG.md:2380 -msgid "2022-03-17" -msgstr "" - -#: ../../../CHANGELOG.md:2382 -msgid "(Compatibility Break) ma1sd identity server no longer installed by default" +#: ../../../CHANGELOG.md:2381 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss." msgstr "" #: ../../../CHANGELOG.md:2384 -msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." +msgid "2022-07-29" msgstr "" #: ../../../CHANGELOG.md:2386 -msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." +msgid "mautrix-discord support" msgstr "" #: ../../../CHANGELOG.md:2388 -msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." +msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:2390 -msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)." +msgstr "" + +#: ../../../CHANGELOG.md:2393 +msgid "2022-07-27" +msgstr "" + +#: ../../../CHANGELOG.md:2395 +msgid "matrix-appservice-kakaotalk support" msgstr "" #: ../../../CHANGELOG.md:2397 -msgid "2022-02-12" +msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!" msgstr "" #: ../../../CHANGELOG.md:2399 -msgid "matrix_encryption_disabler support" +msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2401 -msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." +#: ../../../CHANGELOG.md:2402 +msgid "2022-07-20" msgstr "" -#: ../../../CHANGELOG.md:2403 -msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." +#: ../../../CHANGELOG.md:2404 +msgid "maubot support" msgstr "" #: ../../../CHANGELOG.md:2406 -msgid "2022-02-01" +msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system." msgstr "" #: ../../../CHANGELOG.md:2408 -msgid "matrix-hookshot bridging support" +msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2410 -msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." +#: ../../../CHANGELOG.md:2411 +msgid "2022-07-14" msgstr "" #: ../../../CHANGELOG.md:2413 -msgid "2022-01-31" +msgid "mx-puppet-skype removal" msgstr "" #: ../../../CHANGELOG.md:2415 -msgid "ARM support for matrix-corporal" +msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration." msgstr "" #: ../../../CHANGELOG.md:2417 -msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." +msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" +msgstr "" + +#: ../../../CHANGELOG.md:2419 +msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" msgstr "" #: ../../../CHANGELOG.md:2420 -msgid "2022-01-07" +msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2421 +msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" msgstr "" #: ../../../CHANGELOG.md:2422 -msgid "Dendrite support" +msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" msgstr "" -#: ../../../CHANGELOG.md:2424 -msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." +#: ../../../CHANGELOG.md:2423 +msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)" msgstr "" -#: ../../../CHANGELOG.md:2426 -msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." +#: ../../../CHANGELOG.md:2425 +msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)." msgstr "" -#: ../../../CHANGELOG.md:2428 -msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" +#: ../../../CHANGELOG.md:2427 +msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal." msgstr "" -#: ../../../CHANGELOG.md:2430 -msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." +#: ../../../CHANGELOG.md:2429 +msgid "signald (0.19.0+) upgrade requires data migration" msgstr "" -#: ../../../CHANGELOG.md:2432 -msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." +#: ../../../CHANGELOG.md:2431 +msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`." msgstr "" -#: ../../../CHANGELOG.md:2434 -msgid "Adapting the configuration for existing Synapse installations" +#: ../../../CHANGELOG.md:2433 +msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)." msgstr "" -#: ../../../CHANGELOG.md:2436 -msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." +#: ../../../CHANGELOG.md:2435 +msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded." msgstr "" -#: ../../../CHANGELOG.md:2438 -msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" +#: ../../../CHANGELOG.md:2437 +msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition." msgstr "" -#: ../../../CHANGELOG.md:2450 -msgid "Trying out Dendrite" +#: ../../../CHANGELOG.md:2439 +msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!" msgstr "" -#: ../../../CHANGELOG.md:2452 -msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" +#: ../../../CHANGELOG.md:2442 +msgid "2022-07-05" msgstr "" -#: ../../../CHANGELOG.md:2458 -msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." +#: ../../../CHANGELOG.md:2444 +msgid "Ntfy push notifications support" msgstr "" -#: ../../../CHANGELOG.md:2460 -msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" +#: ../../../CHANGELOG.md:2446 +msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you." +msgstr "" + +#: ../../../CHANGELOG.md:2448 +msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:2451 +msgid "2022-06-23" +msgstr "" + +#: ../../../CHANGELOG.md:2453 +msgid "(Potential Backward Compatibility Break) Changes around metrics collection" +msgstr "" + +#: ../../../CHANGELOG.md:2455 +msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below." +msgstr "" + +#: ../../../CHANGELOG.md:2457 +msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)." +msgstr "" + +#: ../../../CHANGELOG.md:2459 +msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`." +msgstr "" + +#: ../../../CHANGELOG.md:2461 +msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" msgstr "" #: ../../../CHANGELOG.md:2462 -msgid "Honoroit bot support" +msgid "**Metrics may not be enabled by default anymore**:" +msgstr "" + +#: ../../../CHANGELOG.md:2463 +msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network." msgstr "" #: ../../../CHANGELOG.md:2464 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." +msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below." +msgstr "" + +#: ../../../CHANGELOG.md:2465 +msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation." msgstr "" #: ../../../CHANGELOG.md:2466 -msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." +msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`." msgstr "" -#: ../../../CHANGELOG.md:2469 -msgid "2022-01-06" +#: ../../../CHANGELOG.md:2468 +msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`." msgstr "" -#: ../../../CHANGELOG.md:2471 -msgid "Cinny support" +#: ../../../CHANGELOG.md:2470 +msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`." msgstr "" -#: ../../../CHANGELOG.md:2473 -msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." +#: ../../../CHANGELOG.md:2472 +msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:" +msgstr "" + +#: ../../../CHANGELOG.md:2474 +msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them." msgstr "" #: ../../../CHANGELOG.md:2475 -msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." +msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation" +msgstr "" + +#: ../../../CHANGELOG.md:2476 +msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`" msgstr "" #: ../../../CHANGELOG.md:2477 -msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." +msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)." msgstr "" -#: ../../../CHANGELOG.md:2480 -msgid "2021-12-22" +#: ../../../CHANGELOG.md:2479 +msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now." msgstr "" -#: ../../../CHANGELOG.md:2482 -msgid "Twitter bridging support via mautrix-twitter" +#: ../../../CHANGELOG.md:2481 +msgid "2022-06-13" msgstr "" -#: ../../../CHANGELOG.md:2484 -msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." +#: ../../../CHANGELOG.md:2483 +msgid "go-skype-bridge bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:2485 +msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)." msgstr "" #: ../../../CHANGELOG.md:2487 -msgid "2021-12-14" +msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2489 -msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken." msgstr "" -#: ../../../CHANGELOG.md:2491 -msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." +#: ../../../CHANGELOG.md:2492 +msgid "2022-06-09" msgstr "" -#: ../../../CHANGELOG.md:2493 -msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." +#: ../../../CHANGELOG.md:2494 +msgid "Running Ansible in a container can now happen on the Matrix server itself" msgstr "" #: ../../../CHANGELOG.md:2496 -msgid "2021-11-11" +msgid "If you're tired of being on an old and problematic Ansible version, you can now run [run Ansible in a container on the Matrix server itself](docs/ansible.md#running-ansible-in-a-container-on-the-matrix-server-itself)." msgstr "" -#: ../../../CHANGELOG.md:2498 -msgid "Dropped support for Postgres v9.6" +#: ../../../CHANGELOG.md:2499 +msgid "2022-05-31" msgstr "" -#: ../../../CHANGELOG.md:2500 -msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." +#: ../../../CHANGELOG.md:2501 +msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2502 -msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." +#: ../../../CHANGELOG.md:2503 +msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted." msgstr "" #: ../../../CHANGELOG.md:2505 -msgid "2021-10-23" +msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky." msgstr "" #: ../../../CHANGELOG.md:2507 -msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" msgstr "" #: ../../../CHANGELOG.md:2509 -msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." +msgid "SSH into the Matrix server" +msgstr "" + +#: ../../../CHANGELOG.md:2510 +msgid "launch `/usr/local/bin/matrix-postgres-cli`" msgstr "" #: ../../../CHANGELOG.md:2511 -msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." +msgid "switch to the `synapse` database: `\\c synapse`" msgstr "" -#: ../../../CHANGELOG.md:2514 -msgid "2021-08-23" -msgstr "" - -#: ../../../CHANGELOG.md:2516 -msgid "LinkedIn bridging support via beeper-linkedin" -msgstr "" - -#: ../../../CHANGELOG.md:2518 -msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." -msgstr "" - -#: ../../../CHANGELOG.md:2520 -msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." -msgstr "" - -#: ../../../CHANGELOG.md:2522 -msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2525 -msgid "2021-08-20" -msgstr "" - -#: ../../../CHANGELOG.md:2527 -msgid "Sygnal upgraded — ARM support and no longer requires a database" -msgstr "" - -#: ../../../CHANGELOG.md:2529 -msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." +#: ../../../CHANGELOG.md:2512 +msgid "run the following SQL query:" msgstr "" #: ../../../CHANGELOG.md:2531 -msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." +msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" msgstr "" -#: ../../../CHANGELOG.md:2533 -msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." +#: ../../../CHANGELOG.md:2534 +msgid "2022-04-25" msgstr "" -#: ../../../CHANGELOG.md:2535 -msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." +#: ../../../CHANGELOG.md:2536 +msgid "Buscarron bot support" msgstr "" #: ../../../CHANGELOG.md:2538 -msgid "2021-05-21" +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room" msgstr "" #: ../../../CHANGELOG.md:2540 -msgid "Hydrogen support" +msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2542 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." +#: ../../../CHANGELOG.md:2543 +msgid "2022-04-21" msgstr "" -#: ../../../CHANGELOG.md:2544 -msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." +#: ../../../CHANGELOG.md:2545 +msgid "matrix-registration-bot support" msgstr "" -#: ../../../CHANGELOG.md:2546 -msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." +#: ../../../CHANGELOG.md:2547 +msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server." msgstr "" #: ../../../CHANGELOG.md:2549 -msgid "2021-05-19" +msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2551 -msgid "Heisenbridge support" +#: ../../../CHANGELOG.md:2552 +msgid "2022-04-19" msgstr "" -#: ../../../CHANGELOG.md:2553 -msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." +#: ../../../CHANGELOG.md:2554 +msgid "BorgBackup support" msgstr "" -#: ../../../CHANGELOG.md:2555 -msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." +#: ../../../CHANGELOG.md:2556 +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server." msgstr "" #: ../../../CHANGELOG.md:2558 -msgid "2021-04-16" +msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2560 -msgid "Disabling TLSv1 and TLSv1.1 for coturn" +msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" msgstr "" #: ../../../CHANGELOG.md:2562 -msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." +msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:" msgstr "" #: ../../../CHANGELOG.md:2564 -msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" +msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs." +msgstr "" + +#: ../../../CHANGELOG.md:2566 +msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care." +msgstr "" + +#: ../../../CHANGELOG.md:2568 +msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:" +msgstr "" + +#: ../../../CHANGELOG.md:2570 +msgid "Pull the latest playbook changes" +msgstr "" + +#: ../../../CHANGELOG.md:2571 +msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:2572 -msgid "2021-04-05" +msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:2573 +msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" msgstr "" #: ../../../CHANGELOG.md:2574 -msgid "Automated local Postgres backup support" +msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2575 +msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough." msgstr "" #: ../../../CHANGELOG.md:2576 -msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." +msgid "It should now be safe to start all other services. `ansible-playbook -i inventory/hosts setup.yml --tags=start` will do it for you" msgstr "" -#: ../../../CHANGELOG.md:2578 -msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." +#: ../../../CHANGELOG.md:2579 +msgid "2022-04-14" msgstr "" #: ../../../CHANGELOG.md:2581 -msgid "2021-04-03" +msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" msgstr "" #: ../../../CHANGELOG.md:2583 -msgid "Mjolnir moderation tool (bot) support" +msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." msgstr "" #: ../../../CHANGELOG.md:2585 -msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." +msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)." msgstr "" #: ../../../CHANGELOG.md:2587 -msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." +msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories." msgstr "" -#: ../../../CHANGELOG.md:2590 -msgid "2021-03-20" +#: ../../../CHANGELOG.md:2589 +msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`" msgstr "" #: ../../../CHANGELOG.md:2592 -msgid "Sygnal push gateway support" +msgid "2022-03-17" msgstr "" #: ../../../CHANGELOG.md:2594 -msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." +msgid "(Compatibility Break) ma1sd identity server no longer installed by default" msgstr "" #: ../../../CHANGELOG.md:2596 -msgid "This is only useful to people who develop/build their own Matrix client applications." +msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)." msgstr "" #: ../../../CHANGELOG.md:2598 -msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks." msgstr "" -#: ../../../CHANGELOG.md:2601 -msgid "2021-03-16" +#: ../../../CHANGELOG.md:2600 +msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd." msgstr "" -#: ../../../CHANGELOG.md:2603 -msgid "Go-NEB support" +#: ../../../CHANGELOG.md:2602 +msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:2605 -msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." +#: ../../../CHANGELOG.md:2609 +msgid "2022-02-12" msgstr "" -#: ../../../CHANGELOG.md:2607 -msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." +#: ../../../CHANGELOG.md:2611 +msgid "matrix_encryption_disabler support" msgstr "" -#: ../../../CHANGELOG.md:2610 -msgid "2021-02-19" +#: ../../../CHANGELOG.md:2613 +msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)." msgstr "" -#: ../../../CHANGELOG.md:2612 -msgid "GroupMe bridging support via mx-puppet-groupme" -msgstr "" - -#: ../../../CHANGELOG.md:2614 -msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." -msgstr "" - -#: ../../../CHANGELOG.md:2616 -msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." +#: ../../../CHANGELOG.md:2615 +msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`." msgstr "" #: ../../../CHANGELOG.md:2618 -msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." +msgid "2022-02-01" msgstr "" #: ../../../CHANGELOG.md:2620 -msgid "Mautrix Instagram bridging support" +msgid "matrix-hookshot bridging support" msgstr "" #: ../../../CHANGELOG.md:2622 -msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." +msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2624 -msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." +#: ../../../CHANGELOG.md:2625 +msgid "2022-01-31" msgstr "" -#: ../../../CHANGELOG.md:2626 -msgid "Synapse workers support" +#: ../../../CHANGELOG.md:2627 +msgid "ARM support for matrix-corporal" msgstr "" -#: ../../../CHANGELOG.md:2628 -msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." -msgstr "" - -#: ../../../CHANGELOG.md:2630 -msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +#: ../../../CHANGELOG.md:2629 +msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures." msgstr "" #: ../../../CHANGELOG.md:2632 -msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." +msgid "2022-01-07" msgstr "" #: ../../../CHANGELOG.md:2634 -msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." +msgid "Dendrite support" msgstr "" #: ../../../CHANGELOG.md:2636 -msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." +msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)." msgstr "" -#: ../../../CHANGELOG.md:2639 -msgid "2021-02-12" +#: ../../../CHANGELOG.md:2638 +msgid "[Jip J. Dekker](https://github.com/Dekker1) did the [initial work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818) of adding [Dendrite](https://github.com/matrix-org/dendrite) support to the playbook back in January 2021. Lots of work (and time) later, Dendrite support is finally ready for testing." msgstr "" -#: ../../../CHANGELOG.md:2641 -msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" +#: ../../../CHANGELOG.md:2640 +msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" msgstr "" -#: ../../../CHANGELOG.md:2643 -msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." +#: ../../../CHANGELOG.md:2642 +msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time." msgstr "" -#: ../../../CHANGELOG.md:2645 -msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." +#: ../../../CHANGELOG.md:2644 +msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)." msgstr "" -#: ../../../CHANGELOG.md:2647 -msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." +#: ../../../CHANGELOG.md:2646 +msgid "Adapting the configuration for existing Synapse installations" +msgstr "" + +#: ../../../CHANGELOG.md:2648 +msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date." msgstr "" #: ../../../CHANGELOG.md:2650 -msgid "2021-01-31" +msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" msgstr "" -#: ../../../CHANGELOG.md:2652 -msgid "Etherpad support" +#: ../../../CHANGELOG.md:2662 +msgid "Trying out Dendrite" msgstr "" -#: ../../../CHANGELOG.md:2654 -msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." -msgstr "" - -#: ../../../CHANGELOG.md:2656 -msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2659 -msgid "2021-01-22" -msgstr "" - -#: ../../../CHANGELOG.md:2661 -msgid "(Breaking Change) Postgres changes that require manual intervention" -msgstr "" - -#: ../../../CHANGELOG.md:2663 -msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." -msgstr "" - -#: ../../../CHANGELOG.md:2665 -msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." -msgstr "" - -#: ../../../CHANGELOG.md:2667 -msgid "Why?" -msgstr "" - -#: ../../../CHANGELOG.md:2669 -msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" +#: ../../../CHANGELOG.md:2664 +msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2670 -msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2671 -msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." msgstr "" #: ../../../CHANGELOG.md:2672 -msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" -msgstr "" - -#: ../../../CHANGELOG.md:2673 -msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." +msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" msgstr "" #: ../../../CHANGELOG.md:2674 -msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." +msgid "Honoroit bot support" msgstr "" #: ../../../CHANGELOG.md:2676 -msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot." msgstr "" #: ../../../CHANGELOG.md:2678 -msgid "What has really changed?" -msgstr "" - -#: ../../../CHANGELOG.md:2680 -msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" +msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:2681 -msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" -msgstr "" - -#: ../../../CHANGELOG.md:2682 -msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" +msgid "2022-01-06" msgstr "" #: ../../../CHANGELOG.md:2683 -msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgid "Cinny support" msgstr "" #: ../../../CHANGELOG.md:2685 -msgid "What do I do if I'm using the integrated Postgres server (default)?" +msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client." msgstr "" #: ../../../CHANGELOG.md:2687 -msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." +msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook." msgstr "" #: ../../../CHANGELOG.md:2689 -msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" +msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." msgstr "" -#: ../../../CHANGELOG.md:2691 -msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." +#: ../../../CHANGELOG.md:2692 +msgid "2021-12-22" msgstr "" -#: ../../../CHANGELOG.md:2693 -msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" +#: ../../../CHANGELOG.md:2694 +msgid "Twitter bridging support via mautrix-twitter" msgstr "" -#: ../../../CHANGELOG.md:2695 -msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" +#: ../../../CHANGELOG.md:2696 +msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)." msgstr "" -#: ../../../CHANGELOG.md:2700 -#: ../../../CHANGELOG.md:2712 -msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +#: ../../../CHANGELOG.md:2699 +msgid "2021-12-14" msgstr "" -#: ../../../CHANGELOG.md:2702 -msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +#: ../../../CHANGELOG.md:2701 +msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" msgstr "" #: ../../../CHANGELOG.md:2703 -msgid "Log in to the server via SSH. The next commands will be performed there." -msgstr "" - -#: ../../../CHANGELOG.md:2704 -msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable." msgstr "" #: ../../../CHANGELOG.md:2705 -msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" +msgid "One such piece of software that is part of the playbook is the [mautrix-signal bridge](./docs/configuring-playbook-bridge-mautrix-signal.md), which [has been patched already](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1452). If you're running this bridge, you may wish to [upgrade](./docs/maintenance-upgrading-services.md)." msgstr "" -#: ../../../CHANGELOG.md:2706 -msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" +#: ../../../CHANGELOG.md:2708 +msgid "2021-11-11" +msgstr "" + +#: ../../../CHANGELOG.md:2710 +msgid "Dropped support for Postgres v9.6" +msgstr "" + +#: ../../../CHANGELOG.md:2712 +msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version." msgstr "" #: ../../../CHANGELOG.md:2714 -msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" +msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:2717 +msgid "2021-10-23" +msgstr "" + +#: ../../../CHANGELOG.md:2719 +msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +msgstr "" + +#: ../../../CHANGELOG.md:2721 +msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it." +msgstr "" + +#: ../../../CHANGELOG.md:2723 +msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge." +msgstr "" + +#: ../../../CHANGELOG.md:2726 +msgid "2021-08-23" +msgstr "" + +#: ../../../CHANGELOG.md:2728 +msgid "LinkedIn bridging support via beeper-linkedin" +msgstr "" + +#: ../../../CHANGELOG.md:2730 +msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging." msgstr "" #: ../../../CHANGELOG.md:2732 -msgid "You may need to press *Enter* after pasting the lines above." +msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" #: ../../../CHANGELOG.md:2734 -msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" +msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." msgstr "" -#: ../../../CHANGELOG.md:2736 -msgid "What do I do if I'm using an external Postgres server?" +#: ../../../CHANGELOG.md:2737 +msgid "2021-08-20" msgstr "" -#: ../../../CHANGELOG.md:2738 -msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." +#: ../../../CHANGELOG.md:2739 +msgid "Sygnal upgraded — ARM support and no longer requires a database" msgstr "" -#: ../../../CHANGELOG.md:2740 -msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." +#: ../../../CHANGELOG.md:2741 +msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." msgstr "" #: ../../../CHANGELOG.md:2743 -msgid "2021-01-20" +msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." msgstr "" #: ../../../CHANGELOG.md:2745 -msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" +msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." msgstr "" #: ../../../CHANGELOG.md:2747 -msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." +msgid "The new version is also available for the ARM architecture. It also no longer requires a database anymore. If you need to downgrade to the previous version, changing `matrix_sygnal_version` or `matrix_sygnal_docker_image` will not be enough, as we've removed the `database` configuration completely. You'd need to switch to an earlier playbook commit." msgstr "" -#: ../../../CHANGELOG.md:2749 -msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." +#: ../../../CHANGELOG.md:2750 +msgid "2021-05-21" msgstr "" -#: ../../../CHANGELOG.md:2751 -msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." -msgstr "" - -#: ../../../CHANGELOG.md:2753 -msgid "Whether this change requires your intervention depends mostly on:" +#: ../../../CHANGELOG.md:2752 +msgid "Hydrogen support" msgstr "" #: ../../../CHANGELOG.md:2754 -msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support." msgstr "" -#: ../../../CHANGELOG.md:2755 -msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." +#: ../../../CHANGELOG.md:2756 +msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook." msgstr "" -#: ../../../CHANGELOG.md:2757 -msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." -msgstr "" - -#: ../../../CHANGELOG.md:2759 -msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" +#: ../../../CHANGELOG.md:2758 +msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." msgstr "" #: ../../../CHANGELOG.md:2761 -msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." +msgid "2021-05-19" msgstr "" #: ../../../CHANGELOG.md:2763 -msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." +msgid "Heisenbridge support" msgstr "" #: ../../../CHANGELOG.md:2765 -msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." +msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)." msgstr "" #: ../../../CHANGELOG.md:2767 -msgid "Upgrade path for people running an external Postgres server" -msgstr "" - -#: ../../../CHANGELOG.md:2769 -msgid "For people using the internal Postgres server (the default for the playbook):" +msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." msgstr "" #: ../../../CHANGELOG.md:2770 -msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" -msgstr "" - -#: ../../../CHANGELOG.md:2771 -msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" +msgid "2021-04-16" msgstr "" #: ../../../CHANGELOG.md:2772 -msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" +msgid "Disabling TLSv1 and TLSv1.1 for coturn" msgstr "" #: ../../../CHANGELOG.md:2774 -msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." +msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration." msgstr "" #: ../../../CHANGELOG.md:2776 -msgid "You have 3 ways to proceed:" -msgstr "" - -#: ../../../CHANGELOG.md:2778 -msgid "contribute to the playbook to make this possible (difficult)" -msgstr "" - -#: ../../../CHANGELOG.md:2779 -msgid "or, do the migration \"steps\" manually:" -msgstr "" - -#: ../../../CHANGELOG.md:2780 -msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" -msgstr "" - -#: ../../../CHANGELOG.md:2781 -msgid "create a new `matrix_mautrix_facebook` Postgres database for it" -msgstr "" - -#: ../../../CHANGELOG.md:2782 -msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" -msgstr "" - -#: ../../../CHANGELOG.md:2783 -msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" +msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" msgstr "" #: ../../../CHANGELOG.md:2784 -msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" -msgstr "" - -#: ../../../CHANGELOG.md:2785 -msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" +msgid "2021-04-05" msgstr "" #: ../../../CHANGELOG.md:2786 -msgid "send a `login` message to the Facebook bridge bot again" +msgid "Automated local Postgres backup support" msgstr "" -#: ../../../CHANGELOG.md:2787 -msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" +#: ../../../CHANGELOG.md:2788 +msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)." msgstr "" -#: ../../../CHANGELOG.md:2789 -msgid "Staying on SQLite for a little longer (temporary solution)" +#: ../../../CHANGELOG.md:2790 +msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." msgstr "" -#: ../../../CHANGELOG.md:2791 -msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" +#: ../../../CHANGELOG.md:2793 +msgid "2021-04-03" msgstr "" -#: ../../../CHANGELOG.md:2801 -msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." +#: ../../../CHANGELOG.md:2795 +msgid "Mjolnir moderation tool (bot) support" +msgstr "" + +#: ../../../CHANGELOG.md:2797 +msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)." +msgstr "" + +#: ../../../CHANGELOG.md:2799 +msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." +msgstr "" + +#: ../../../CHANGELOG.md:2802 +msgid "2021-03-20" msgstr "" #: ../../../CHANGELOG.md:2804 -msgid "2021-01-17" +msgid "Sygnal push gateway support" msgstr "" #: ../../../CHANGELOG.md:2806 -msgid "matrix-corporal goes 2.0" +msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." msgstr "" #: ../../../CHANGELOG.md:2808 -msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." +msgid "This is only useful to people who develop/build their own Matrix client applications." msgstr "" #: ../../../CHANGELOG.md:2810 -msgid "No manual intervention is required in the common case." +msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." msgstr "" -#: ../../../CHANGELOG.md:2812 -msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:2813 +msgid "2021-03-16" msgstr "" #: ../../../CHANGELOG.md:2815 -msgid "2021-01-14" +msgid "Go-NEB support" msgstr "" #: ../../../CHANGELOG.md:2817 -msgid "Moving from cronjobs to systemd timers" +msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot." msgstr "" #: ../../../CHANGELOG.md:2819 -msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." +msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." msgstr "" -#: ../../../CHANGELOG.md:2821 -msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." +#: ../../../CHANGELOG.md:2822 +msgid "2021-02-19" msgstr "" -#: ../../../CHANGELOG.md:2823 -msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." +#: ../../../CHANGELOG.md:2824 +msgid "GroupMe bridging support via mx-puppet-groupme" msgstr "" #: ../../../CHANGELOG.md:2826 -msgid "2021-01-08" +msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)." msgstr "" #: ../../../CHANGELOG.md:2828 -msgid "(Breaking Change) New SSL configuration" +msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)." msgstr "" #: ../../../CHANGELOG.md:2830 -msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." +msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." msgstr "" #: ../../../CHANGELOG.md:2832 -msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." +msgid "Mautrix Instagram bridging support" msgstr "" #: ../../../CHANGELOG.md:2834 -msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." +msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)." msgstr "" #: ../../../CHANGELOG.md:2836 -msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." +msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." msgstr "" #: ../../../CHANGELOG.md:2838 -msgid "To revert to the old behaviour, set the following variables:" +msgid "Synapse workers support" msgstr "" -#: ../../../CHANGELOG.md:2845 -msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." +#: ../../../CHANGELOG.md:2840 +msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed." +msgstr "" + +#: ../../../CHANGELOG.md:2842 +msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +msgstr "" + +#: ../../../CHANGELOG.md:2844 +msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)." +msgstr "" + +#: ../../../CHANGELOG.md:2846 +msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)." msgstr "" #: ../../../CHANGELOG.md:2848 -msgid "2021-01-03" +msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." msgstr "" -#: ../../../CHANGELOG.md:2850 -msgid "Signal bridging support via mautrix-signal" +#: ../../../CHANGELOG.md:2851 +msgid "2021-02-12" msgstr "" -#: ../../../CHANGELOG.md:2852 -msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." +#: ../../../CHANGELOG.md:2853 +msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" msgstr "" -#: ../../../CHANGELOG.md:2854 -msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." +#: ../../../CHANGELOG.md:2855 +msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: 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." msgstr "" #: ../../../CHANGELOG.md:2857 -msgid "2020-12-23" +msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page." msgstr "" #: ../../../CHANGELOG.md:2859 -msgid "The big move to all-on-Postgres (potentially dangerous)" +msgid "This update comes with a **potential breaking change** for people who were already exposing Synapse metrics (for consumption via another Prometheus installation). From now on, `matrix_synapse_metrics_enabled: true` no longer exposes metrics publicly via matrix-nginx-proxy (at `https://matrix.example.com/_synapse/metrics`). To do so, you'd need to explicitly set `matrix_nginx_proxy_proxy_synapse_metrics: true`." msgstr "" -#: ../../../CHANGELOG.md:2861 -msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." +#: ../../../CHANGELOG.md:2862 +msgid "2021-01-31" msgstr "" -#: ../../../CHANGELOG.md:2863 -msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." +#: ../../../CHANGELOG.md:2864 +msgid "Etherpad support" msgstr "" -#: ../../../CHANGELOG.md:2865 -msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" +#: ../../../CHANGELOG.md:2866 +msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager." msgstr "" -#: ../../../CHANGELOG.md:2867 -msgid "Moving all services to Postgres brings a few **benefits** to us:" -msgstr "" - -#: ../../../CHANGELOG.md:2869 -msgid "**improved performance**" -msgstr "" - -#: ../../../CHANGELOG.md:2870 -msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." +#: ../../../CHANGELOG.md:2868 +msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." msgstr "" #: ../../../CHANGELOG.md:2871 -msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." +msgid "2021-01-22" msgstr "" -#: ../../../CHANGELOG.md:2872 -msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." +#: ../../../CHANGELOG.md:2873 +msgid "(Breaking Change) Postgres changes that require manual intervention" msgstr "" -#: ../../../CHANGELOG.md:2874 -msgid "Key takeway" +#: ../../../CHANGELOG.md:2875 +msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle." msgstr "" -#: ../../../CHANGELOG.md:2876 -msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" +#: ../../../CHANGELOG.md:2877 +msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required." msgstr "" -#: ../../../CHANGELOG.md:2878 -msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." +#: ../../../CHANGELOG.md:2879 +msgid "Why?" msgstr "" -#: ../../../CHANGELOG.md:2880 -msgid "Opting-out of the Postgres migration" +#: ../../../CHANGELOG.md:2881 +msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:" msgstr "" #: ../../../CHANGELOG.md:2882 -msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." +msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2883 +msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" msgstr "" #: ../../../CHANGELOG.md:2884 -msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." +msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)" +msgstr "" + +#: ../../../CHANGELOG.md:2885 +msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server." msgstr "" #: ../../../CHANGELOG.md:2886 -msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future." msgstr "" #: ../../../CHANGELOG.md:2888 -msgid "Going back to SQLite/nedb if things went wrong" +msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse." msgstr "" #: ../../../CHANGELOG.md:2890 -msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" +msgid "What has really changed?" msgstr "" #: ../../../CHANGELOG.md:2892 -msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" msgstr "" #: ../../../CHANGELOG.md:2893 -msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" +msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" msgstr "" #: ../../../CHANGELOG.md:2894 -msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you" msgstr "" #: ../../../CHANGELOG.md:2895 -msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" +msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" msgstr "" -#: ../../../CHANGELOG.md:2896 -msgid "[get in touch](README.md#support) with us" +#: ../../../CHANGELOG.md:2897 +msgid "What do I do if I'm using the integrated Postgres server (default)?" msgstr "" -#: ../../../CHANGELOG.md:2898 -msgid "2020-12-11" +#: ../../../CHANGELOG.md:2899 +msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you." msgstr "" -#: ../../../CHANGELOG.md:2900 -msgid "synapse-janitor support removed" +#: ../../../CHANGELOG.md:2901 +msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" msgstr "" -#: ../../../CHANGELOG.md:2902 -msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." +#: ../../../CHANGELOG.md:2903 +msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it." msgstr "" -#: ../../../CHANGELOG.md:2904 -msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." +#: ../../../CHANGELOG.md:2905 +msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!" msgstr "" -#: ../../../CHANGELOG.md:2906 -msgid "Docker 20.10 is here" -msgstr "" - -#: ../../../CHANGELOG.md:2908 -msgid "(No need to do anything special in relation to this. Just something to keep in mind)" -msgstr "" - -#: ../../../CHANGELOG.md:2910 -msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." +#: ../../../CHANGELOG.md:2907 +msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" msgstr "" #: ../../../CHANGELOG.md:2912 -msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." +#: ../../../CHANGELOG.md:2924 +msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +msgstr "" + +#: ../../../CHANGELOG.md:2914 +msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" msgstr "" #: ../../../CHANGELOG.md:2915 -msgid "2020-12-08" +msgid "Log in to the server via SSH. The next commands will be performed there." +msgstr "" + +#: ../../../CHANGELOG.md:2916 +msgid "Start the Postgres database server: `systemctl start matrix-postgres`" msgstr "" #: ../../../CHANGELOG.md:2917 -msgid "openid APIs exposed by default on the federation port when federation disabled" +msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" msgstr "" -#: ../../../CHANGELOG.md:2919 -msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." -msgstr "" - -#: ../../../CHANGELOG.md:2921 -msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." -msgstr "" - -#: ../../../CHANGELOG.md:2923 -msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." +#: ../../../CHANGELOG.md:2918 +msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" msgstr "" #: ../../../CHANGELOG.md:2926 -msgid "2020-11-27" +msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" msgstr "" -#: ../../../CHANGELOG.md:2928 -msgid "Recent Jitsi updates may require configuration changes" +#: ../../../CHANGELOG.md:2944 +msgid "You may need to press *Enter* after pasting the lines above." msgstr "" -#: ../../../CHANGELOG.md:2930 -msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." +#: ../../../CHANGELOG.md:2946 +msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" msgstr "" -#: ../../../CHANGELOG.md:2932 -msgid "**If you use our default Jitsi settings, you won't have to do anything.**" +#: ../../../CHANGELOG.md:2948 +msgid "What do I do if I'm using an external Postgres server?" msgstr "" -#: ../../../CHANGELOG.md:2934 -msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." +#: ../../../CHANGELOG.md:2950 +msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time." msgstr "" -#: ../../../CHANGELOG.md:2936 -msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." -msgstr "" - -#: ../../../CHANGELOG.md:2938 -msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." -msgstr "" - -#: ../../../CHANGELOG.md:2941 -msgid "2020-11-23" -msgstr "" - -#: ../../../CHANGELOG.md:2943 -#: ../../../CHANGELOG.md:2951 -msgid "Breaking change matrix-sms-bridge" -msgstr "" - -#: ../../../CHANGELOG.md:2945 -msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." -msgstr "" - -#: ../../../CHANGELOG.md:2947 -msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." -msgstr "" - -#: ../../../CHANGELOG.md:2949 -msgid "2020-11-13" -msgstr "" - -#: ../../../CHANGELOG.md:2953 -msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." +#: ../../../CHANGELOG.md:2952 +msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were." msgstr "" #: ../../../CHANGELOG.md:2955 -msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" -msgstr "" - -#: ../../../CHANGELOG.md:2956 -msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" +msgid "2021-01-20" msgstr "" #: ../../../CHANGELOG.md:2957 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" -msgstr "" - -#: ../../../CHANGELOG.md:2958 -msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." +msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" msgstr "" #: ../../../CHANGELOG.md:2959 -msgid "Remove the var from the first step." +msgid "**Update from 2021-11-15**: SQLite support has been re-added to the mautrix-facebook bridge in [v0.3.2](https://github.com/mautrix/facebook/releases/tag/v0.3.2). You can ignore this changelog entry." msgstr "" -#: ../../../CHANGELOG.md:2960 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." +#: ../../../CHANGELOG.md:2961 +msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite." msgstr "" -#: ../../../CHANGELOG.md:2962 -msgid "2020-11-10" +#: ../../../CHANGELOG.md:2963 +msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again." msgstr "" -#: ../../../CHANGELOG.md:2964 -msgid "Dynamic DNS support" +#: ../../../CHANGELOG.md:2965 +msgid "Whether this change requires your intervention depends mostly on:" msgstr "" #: ../../../CHANGELOG.md:2966 -msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." +msgid "whether you're using an [external Postgres server](docs/configuring-playbook-external-postgres.md). If yes, then [you need to do something](#upgrade-path-for-people-running-an-external-postgres-server)." msgstr "" -#: ../../../CHANGELOG.md:2968 -msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." +#: ../../../CHANGELOG.md:2967 +msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))." +msgstr "" + +#: ../../../CHANGELOG.md:2969 +msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution." msgstr "" #: ../../../CHANGELOG.md:2971 -msgid "2020-10-28" +msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)" msgstr "" #: ../../../CHANGELOG.md:2973 -msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ." msgstr "" #: ../../../CHANGELOG.md:2975 -msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." +msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again." msgstr "" #: ../../../CHANGELOG.md:2977 -msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." +msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." msgstr "" #: ../../../CHANGELOG.md:2979 -msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." +msgid "Upgrade path for people running an external Postgres server" msgstr "" #: ../../../CHANGELOG.md:2981 -msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." +msgid "For people using the internal Postgres server (the default for the playbook):" +msgstr "" + +#: ../../../CHANGELOG.md:2982 +msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" +msgstr "" + +#: ../../../CHANGELOG.md:2983 +msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" msgstr "" #: ../../../CHANGELOG.md:2984 -msgid "2020-10-26" +msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database" msgstr "" #: ../../../CHANGELOG.md:2986 -msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" +msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you." msgstr "" #: ../../../CHANGELOG.md:2988 -msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." +msgid "You have 3 ways to proceed:" msgstr "" #: ../../../CHANGELOG.md:2990 -msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." +msgid "contribute to the playbook to make this possible (difficult)" +msgstr "" + +#: ../../../CHANGELOG.md:2991 +msgid "or, do the migration \"steps\" manually:" msgstr "" #: ../../../CHANGELOG.md:2992 -msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" +msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" +msgstr "" + +#: ../../../CHANGELOG.md:2993 +msgid "create a new `matrix_mautrix_facebook` Postgres database for it" +msgstr "" + +#: ../../../CHANGELOG.md:2994 +msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" +msgstr "" + +#: ../../../CHANGELOG.md:2995 +msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`" +msgstr "" + +#: ../../../CHANGELOG.md:2996 +msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" +msgstr "" + +#: ../../../CHANGELOG.md:2997 +msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)" +msgstr "" + +#: ../../../CHANGELOG.md:2998 +msgid "send a `login` message to the Facebook bridge bot again" msgstr "" #: ../../../CHANGELOG.md:2999 -msgid "2020-10-02" +msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" msgstr "" #: ../../../CHANGELOG.md:3001 -msgid "Minimum Ansible version raised to v2.7.0" +msgid "Staying on SQLite for a little longer (temporary solution)" msgstr "" #: ../../../CHANGELOG.md:3003 -msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." +msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:" msgstr "" -#: ../../../CHANGELOG.md:3005 -msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." -msgstr "" - -#: ../../../CHANGELOG.md:3007 -msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." -msgstr "" - -#: ../../../CHANGELOG.md:3010 -msgid "2020-10-01" -msgstr "" - -#: ../../../CHANGELOG.md:3012 -msgid "Postgres 13 support" -msgstr "" - -#: ../../../CHANGELOG.md:3014 -msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." +#: ../../../CHANGELOG.md:3013 +msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future." msgstr "" #: ../../../CHANGELOG.md:3016 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +msgid "2021-01-17" msgstr "" #: ../../../CHANGELOG.md:3018 -msgid "2020-09-01" +msgid "matrix-corporal goes 2.0" msgstr "" #: ../../../CHANGELOG.md:3020 -msgid "matrix-registration support" +msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now." msgstr "" #: ../../../CHANGELOG.md:3022 -msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." +msgid "No manual intervention is required in the common case." msgstr "" #: ../../../CHANGELOG.md:3024 -msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." +msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)." msgstr "" #: ../../../CHANGELOG.md:3027 -msgid "2020-08-21" +msgid "2021-01-14" msgstr "" #: ../../../CHANGELOG.md:3029 -msgid "rust-synapse-compress-state support" +msgid "Moving from cronjobs to systemd timers" msgstr "" #: ../../../CHANGELOG.md:3031 -msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." +msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers." msgstr "" #: ../../../CHANGELOG.md:3033 -msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." +msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure." msgstr "" -#: ../../../CHANGELOG.md:3036 -msgid "2020-07-22" +#: ../../../CHANGELOG.md:3035 +msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." msgstr "" #: ../../../CHANGELOG.md:3038 -msgid "Synapse Admin support" +msgid "2021-01-08" msgstr "" #: ../../../CHANGELOG.md:3040 -msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +msgid "(Breaking Change) New SSL configuration" msgstr "" #: ../../../CHANGELOG.md:3042 -msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." +msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." msgstr "" -#: ../../../CHANGELOG.md:3045 -msgid "2020-07-20" +#: ../../../CHANGELOG.md:3044 +msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)." msgstr "" -#: ../../../CHANGELOG.md:3047 -msgid "matrix-reminder-bot support" +#: ../../../CHANGELOG.md:3046 +msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." msgstr "" -#: ../../../CHANGELOG.md:3049 -msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." +#: ../../../CHANGELOG.md:3048 +msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off` (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)." msgstr "" -#: ../../../CHANGELOG.md:3051 -msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." +#: ../../../CHANGELOG.md:3050 +msgid "To revert to the old behaviour, set the following variables:" msgstr "" -#: ../../../CHANGELOG.md:3054 -msgid "2020-07-17" -msgstr "" - -#: ../../../CHANGELOG.md:3056 -msgid "(Compatibility Break) Riot is now Element" -msgstr "" - -#: ../../../CHANGELOG.md:3058 -msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." +#: ../../../CHANGELOG.md:3057 +msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset." msgstr "" #: ../../../CHANGELOG.md:3060 -msgid "The playbook follows suit. Existing installations have a few options for how to handle this." +msgid "2021-01-03" msgstr "" #: ../../../CHANGELOG.md:3062 -msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." +msgid "Signal bridging support via mautrix-signal" msgstr "" -#: ../../../CHANGELOG.md:3065 -msgid "2020-07-03" +#: ../../../CHANGELOG.md:3064 +msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3067 -msgid "Steam bridging support via mx-puppet-steam" +#: ../../../CHANGELOG.md:3066 +msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)." msgstr "" #: ../../../CHANGELOG.md:3069 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." +msgid "2020-12-23" msgstr "" -#: ../../../CHANGELOG.md:3072 -msgid "2020-07-01" +#: ../../../CHANGELOG.md:3071 +msgid "The big move to all-on-Postgres (potentially dangerous)" msgstr "" -#: ../../../CHANGELOG.md:3074 -msgid "Discord bridging support via mx-puppet-discord" +#: ../../../CHANGELOG.md:3073 +msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage." msgstr "" -#: ../../../CHANGELOG.md:3076 -msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3075 +msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)." msgstr "" -#: ../../../CHANGELOG.md:3078 -msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." +#: ../../../CHANGELOG.md:3077 +msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!" +msgstr "" + +#: ../../../CHANGELOG.md:3079 +msgid "Moving all services to Postgres brings a few **benefits** to us:" msgstr "" #: ../../../CHANGELOG.md:3081 -msgid "2020-06-30" +msgid "**improved performance**" +msgstr "" + +#: ../../../CHANGELOG.md:3082 +msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." msgstr "" #: ../../../CHANGELOG.md:3083 -msgid "Instagram and Twitter bridging support" +msgid "**easier backups**. It's still some effort to take a proper backup (Postgres dump + various files, keys), but a Postgres dump now takes you much further." msgstr "" -#: ../../../CHANGELOG.md:3085 -msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3084 +msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc." msgstr "" -#: ../../../CHANGELOG.md:3087 -msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3086 +msgid "Key takeway" +msgstr "" + +#: ../../../CHANGELOG.md:3088 +msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)" msgstr "" #: ../../../CHANGELOG.md:3090 -msgid "2020-06-28" +msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)." msgstr "" #: ../../../CHANGELOG.md:3092 -msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" +msgid "Opting-out of the Postgres migration" msgstr "" #: ../../../CHANGELOG.md:3094 -#: ../../../CHANGELOG.md:3123 -msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." +msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long." msgstr "" #: ../../../CHANGELOG.md:3096 -msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." +msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)." msgstr "" #: ../../../CHANGELOG.md:3098 -msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" +msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" #: ../../../CHANGELOG.md:3100 -msgid "As always, re-running the playbook is enough to get the updated bits." +msgid "Going back to SQLite/nedb if things went wrong" msgstr "" #: ../../../CHANGELOG.md:3102 -msgid "2020-06-11" +msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:" msgstr "" #: ../../../CHANGELOG.md:3104 -msgid "SMS bridging requires db reset" +msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgstr "" + +#: ../../../CHANGELOG.md:3105 +msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`" msgstr "" #: ../../../CHANGELOG.md:3106 -msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`." +msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +msgstr "" + +#: ../../../CHANGELOG.md:3107 +msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" msgstr "" #: ../../../CHANGELOG.md:3108 -msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." +msgid "[get in touch](README.md#support) with us" msgstr "" #: ../../../CHANGELOG.md:3110 -msgid "2020-06-05" +msgid "2020-12-11" msgstr "" #: ../../../CHANGELOG.md:3112 -msgid "SMS bridging support" +msgid "synapse-janitor support removed" msgstr "" #: ../../../CHANGELOG.md:3114 -msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." +msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook." msgstr "" #: ../../../CHANGELOG.md:3116 -msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." +msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details." msgstr "" -#: ../../../CHANGELOG.md:3119 -msgid "2020-05-19" +#: ../../../CHANGELOG.md:3118 +msgid "Docker 20.10 is here" msgstr "" -#: ../../../CHANGELOG.md:3121 -msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" +#: ../../../CHANGELOG.md:3120 +msgid "(No need to do anything special in relation to this. Just something to keep in mind)" msgstr "" -#: ../../../CHANGELOG.md:3125 -msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." +#: ../../../CHANGELOG.md:3122 +msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." +msgstr "" + +#: ../../../CHANGELOG.md:3124 +msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now." msgstr "" #: ../../../CHANGELOG.md:3127 -msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." +msgid "2020-12-08" msgstr "" #: ../../../CHANGELOG.md:3129 -msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" +msgid "openid APIs exposed by default on the federation port when federation disabled" msgstr "" -#: ../../../CHANGELOG.md:3132 -msgid "2020-04-28" +#: ../../../CHANGELOG.md:3131 +msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." msgstr "" -#: ../../../CHANGELOG.md:3134 -msgid "Newer IRC bridge (with potential breaking change)" +#: ../../../CHANGELOG.md:3133 +msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." msgstr "" -#: ../../../CHANGELOG.md:3136 -msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." +#: ../../../CHANGELOG.md:3135 +msgid "When federation is disabled, but ma1sd or Dimension are enabled, we'll now expose the `openid` APIs on the federation port. These APIs are necessary for some ma1sd features to work. If you'd like to prevent this, you can: `matrix_synapse_federation_port_openid_resource_required: false`." msgstr "" -#: ../../../CHANGELOG.md:3145 -msgid "2020-04-23" +#: ../../../CHANGELOG.md:3138 +msgid "2020-11-27" msgstr "" -#: ../../../CHANGELOG.md:3147 -#: ../../../CHANGELOG.md:3378 -msgid "Slack bridging support" +#: ../../../CHANGELOG.md:3140 +msgid "Recent Jitsi updates may require configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3149 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." +#: ../../../CHANGELOG.md:3142 +msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes." msgstr "" -#: ../../../CHANGELOG.md:3151 -msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3144 +msgid "**If you use our default Jitsi settings, you won't have to do anything.**" msgstr "" -#: ../../../CHANGELOG.md:3154 -msgid "2020-04-09" +#: ../../../CHANGELOG.md:3146 +msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way." msgstr "" -#: ../../../CHANGELOG.md:3156 -msgid "Skype bridging support" +#: ../../../CHANGELOG.md:3148 +msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one." msgstr "" -#: ../../../CHANGELOG.md:3158 -msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." +#: ../../../CHANGELOG.md:3150 +msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working." msgstr "" -#: ../../../CHANGELOG.md:3160 -msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." +#: ../../../CHANGELOG.md:3153 +msgid "2020-11-23" msgstr "" +#: ../../../CHANGELOG.md:3155 #: ../../../CHANGELOG.md:3163 -msgid "2020-04-05" +msgid "Breaking change matrix-sms-bridge" +msgstr "" + +#: ../../../CHANGELOG.md:3157 +msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add." +msgstr "" + +#: ../../../CHANGELOG.md:3159 +msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu." +msgstr "" + +#: ../../../CHANGELOG.md:3161 +msgid "2020-11-13" msgstr "" #: ../../../CHANGELOG.md:3165 -msgid "Private Jitsi support" +msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer." msgstr "" #: ../../../CHANGELOG.md:3167 -msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." +msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +msgstr "" + +#: ../../../CHANGELOG.md:3168 +msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`" msgstr "" #: ../../../CHANGELOG.md:3169 -msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" +msgstr "" + +#: ../../../CHANGELOG.md:3170 +msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." msgstr "" #: ../../../CHANGELOG.md:3171 -msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." +msgid "Remove the var from the first step." +msgstr "" + +#: ../../../CHANGELOG.md:3172 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." msgstr "" #: ../../../CHANGELOG.md:3174 -msgid "2020-04-03" +msgid "2020-11-10" msgstr "" #: ../../../CHANGELOG.md:3176 -msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" +msgid "Dynamic DNS support" msgstr "" #: ../../../CHANGELOG.md:3178 -msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." +msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)." msgstr "" #: ../../../CHANGELOG.md:3180 -msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." +msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." msgstr "" -#: ../../../CHANGELOG.md:3182 -msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." +#: ../../../CHANGELOG.md:3183 +msgid "2020-10-28" msgstr "" #: ../../../CHANGELOG.md:3185 -msgid "2020-03-29" +msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" msgstr "" #: ../../../CHANGELOG.md:3187 -msgid "Archlinux support" +msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone." msgstr "" #: ../../../CHANGELOG.md:3189 -msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." +msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))." msgstr "" -#: ../../../CHANGELOG.md:3192 -msgid "2020-03-24" +#: ../../../CHANGELOG.md:3191 +msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page." msgstr "" -#: ../../../CHANGELOG.md:3194 -msgid "Jitsi support" +#: ../../../CHANGELOG.md:3193 +msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)." msgstr "" #: ../../../CHANGELOG.md:3196 -msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." +msgid "2020-10-26" msgstr "" #: ../../../CHANGELOG.md:3198 -msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." +msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" msgstr "" -#: ../../../CHANGELOG.md:3201 -msgid "2020-03-15" +#: ../../../CHANGELOG.md:3200 +msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them." msgstr "" -#: ../../../CHANGELOG.md:3203 -msgid "Raspberry Pi support" +#: ../../../CHANGELOG.md:3202 +msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default." msgstr "" -#: ../../../CHANGELOG.md:3205 -msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." +#: ../../../CHANGELOG.md:3204 +msgid "If you'd like to restore restore the old behavior and expose `/_synapse/admin` publicly, you can use the following configuration (in your `vars.yml`):" msgstr "" -#: ../../../CHANGELOG.md:3207 -msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." +#: ../../../CHANGELOG.md:3211 +msgid "2020-10-02" msgstr "" -#: ../../../CHANGELOG.md:3210 -msgid "2020-02-26" +#: ../../../CHANGELOG.md:3213 +msgid "Minimum Ansible version raised to v2.7.0" msgstr "" -#: ../../../CHANGELOG.md:3212 -msgid "Riot-web themes are here" +#: ../../../CHANGELOG.md:3215 +msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0." msgstr "" -#: ../../../CHANGELOG.md:3214 -msgid "The playbook now makes it easy to install custom riot-web themes." -msgstr "" - -#: ../../../CHANGELOG.md:3216 -msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." +#: ../../../CHANGELOG.md:3217 +msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)." msgstr "" #: ../../../CHANGELOG.md:3219 -msgid "2020-02-24" +msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible." msgstr "" -#: ../../../CHANGELOG.md:3221 -msgid "Customize the server name in Riot's login page" +#: ../../../CHANGELOG.md:3222 +msgid "2020-10-01" msgstr "" -#: ../../../CHANGELOG.md:3223 -msgid "You can now customize the server name string that Riot-web displays in its login page." +#: ../../../CHANGELOG.md:3224 +msgid "Postgres 13 support" msgstr "" -#: ../../../CHANGELOG.md:3225 -msgid "These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:3226 +msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." msgstr "" -#: ../../../CHANGELOG.md:3231 -msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." +#: ../../../CHANGELOG.md:3228 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3233 -msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." +#: ../../../CHANGELOG.md:3230 +msgid "2020-09-01" +msgstr "" + +#: ../../../CHANGELOG.md:3232 +msgid "matrix-registration support" +msgstr "" + +#: ../../../CHANGELOG.md:3234 +msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves." msgstr "" #: ../../../CHANGELOG.md:3236 -msgid "2020-01-30" +msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3238 -msgid "Disabling TLSv1.1" +#: ../../../CHANGELOG.md:3239 +msgid "2020-08-21" msgstr "" -#: ../../../CHANGELOG.md:3240 -msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." +#: ../../../CHANGELOG.md:3241 +msgid "rust-synapse-compress-state support" msgstr "" -#: ../../../CHANGELOG.md:3242 -msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" +#: ../../../CHANGELOG.md:3243 +msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database." msgstr "" #: ../../../CHANGELOG.md:3245 -msgid "2020-01-21" +msgid "See our [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3247 -msgid "Postgres collation changes (action required!)" +#: ../../../CHANGELOG.md:3248 +msgid "2020-07-22" msgstr "" -#: ../../../CHANGELOG.md:3249 -msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." +#: ../../../CHANGELOG.md:3250 +msgid "Synapse Admin support" msgstr "" -#: ../../../CHANGELOG.md:3251 -msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." +#: ../../../CHANGELOG.md:3252 +msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." msgstr "" -#: ../../../CHANGELOG.md:3253 -msgid "To avoid future problems, we recommend that you run the following command:" +#: ../../../CHANGELOG.md:3254 +msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:3257 +msgid "2020-07-20" msgstr "" #: ../../../CHANGELOG.md:3259 -msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." +msgid "matrix-reminder-bot support" msgstr "" -#: ../../../CHANGELOG.md:3262 -msgid "2020-01-14" +#: ../../../CHANGELOG.md:3261 +msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." msgstr "" -#: ../../../CHANGELOG.md:3264 -msgid "Added support for Appservice Webhooks" +#: ../../../CHANGELOG.md:3263 +msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3266 -msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." +msgid "2020-07-17" msgstr "" #: ../../../CHANGELOG.md:3268 -msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." +msgid "(Compatibility Break) Riot is now Element" msgstr "" -#: ../../../CHANGELOG.md:3271 -msgid "2020-01-12" +#: ../../../CHANGELOG.md:3270 +msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." msgstr "" -#: ../../../CHANGELOG.md:3273 -msgid "Added support for automatic Double Puppeting for all Mautrix bridges" +#: ../../../CHANGELOG.md:3272 +msgid "The playbook follows suit. Existing installations have a few options for how to handle this." msgstr "" -#: ../../../CHANGELOG.md:3275 -msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." +#: ../../../CHANGELOG.md:3274 +msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." msgstr "" #: ../../../CHANGELOG.md:3277 -msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." +msgid "2020-07-03" msgstr "" #: ../../../CHANGELOG.md:3279 -msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." +msgid "Steam bridging support via mx-puppet-steam" msgstr "" -#: ../../../CHANGELOG.md:3282 -msgid "2019-12-06" +#: ../../../CHANGELOG.md:3281 +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3284 -msgid "Added support for an alternative method for using another webserver" +msgid "2020-07-01" msgstr "" #: ../../../CHANGELOG.md:3286 -msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." +msgid "Discord bridging support via mx-puppet-discord" msgstr "" #: ../../../CHANGELOG.md:3288 -msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." +msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3290 -msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." +msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)." msgstr "" #: ../../../CHANGELOG.md:3293 -msgid "2019-11-10" +msgid "2020-06-30" msgstr "" #: ../../../CHANGELOG.md:3295 -msgid "Tightened security around room directory publishing" +msgid "Instagram and Twitter bridging support" msgstr "" #: ../../../CHANGELOG.md:3297 -msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." +msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started." msgstr "" #: ../../../CHANGELOG.md:3299 -msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." +msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3301 -msgid "As with anything else, these new defaults can be overridden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." +#: ../../../CHANGELOG.md:3302 +msgid "2020-06-28" msgstr "" #: ../../../CHANGELOG.md:3304 -msgid "2019-10-05" +msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" msgstr "" #: ../../../CHANGELOG.md:3306 -msgid "Improved Postgres upgrading/importing" +#: ../../../CHANGELOG.md:3335 +msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database." msgstr "" #: ../../../CHANGELOG.md:3308 -msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." +msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue." msgstr "" #: ../../../CHANGELOG.md:3310 -msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." +msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:3312 -msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." +msgid "As always, re-running the playbook is enough to get the updated bits." msgstr "" #: ../../../CHANGELOG.md:3314 -msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." +msgid "2020-06-11" msgstr "" -#: ../../../CHANGELOG.md:3317 -msgid "2019-10-04" +#: ../../../CHANGELOG.md:3316 +msgid "SMS bridging requires db reset" msgstr "" -#: ../../../CHANGELOG.md:3319 -msgid "Postgres 12 support" +#: ../../../CHANGELOG.md:3318 +msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`." msgstr "" -#: ../../../CHANGELOG.md:3321 -msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." +#: ../../../CHANGELOG.md:3320 +msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information." msgstr "" -#: ../../../CHANGELOG.md:3323 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:3322 +msgid "2020-06-05" +msgstr "" + +#: ../../../CHANGELOG.md:3324 +msgid "SMS bridging support" msgstr "" #: ../../../CHANGELOG.md:3326 -msgid "2019-10-03" +msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)." msgstr "" #: ../../../CHANGELOG.md:3328 -msgid "Synapse 1.4.0" +msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3330 -msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." +#: ../../../CHANGELOG.md:3331 +msgid "2020-05-19" msgstr "" -#: ../../../CHANGELOG.md:3332 -msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." +#: ../../../CHANGELOG.md:3333 +msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" msgstr "" -#: ../../../CHANGELOG.md:3334 -msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." -msgstr "" - -#: ../../../CHANGELOG.md:3336 -msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." +#: ../../../CHANGELOG.md:3337 +msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc." msgstr "" #: ../../../CHANGELOG.md:3339 -msgid "2019-09-09" +msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**." msgstr "" #: ../../../CHANGELOG.md:3341 -msgid "Synapse Simple Antispam support" +msgid "*If you insist on restoring the old behavior* (**which has a security issue!**), you *might* use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: \"{{ matrix_ma1sd_enabled }}\"`" msgstr "" -#: ../../../CHANGELOG.md:3343 -msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." +#: ../../../CHANGELOG.md:3344 +msgid "2020-04-28" msgstr "" -#: ../../../CHANGELOG.md:3345 -msgid "From now on, you can easily install and configure this spam checker module through the playbook." +#: ../../../CHANGELOG.md:3346 +msgid "Newer IRC bridge (with potential breaking change)" msgstr "" -#: ../../../CHANGELOG.md:3347 -msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." +#: ../../../CHANGELOG.md:3348 +msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration." msgstr "" -#: ../../../CHANGELOG.md:3350 -msgid "2019-08-25" +#: ../../../CHANGELOG.md:3357 +msgid "2020-04-23" msgstr "" -#: ../../../CHANGELOG.md:3352 -msgid "Extensible Riot-web configuration" +#: ../../../CHANGELOG.md:3359 +#: ../../../CHANGELOG.md:3590 +msgid "Slack bridging support" msgstr "" -#: ../../../CHANGELOG.md:3354 -msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." -msgstr "" - -#: ../../../CHANGELOG.md:3356 -msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." -msgstr "" - -#: ../../../CHANGELOG.md:3358 -msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." -msgstr "" - -#: ../../../CHANGELOG.md:3360 -msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." +#: ../../../CHANGELOG.md:3361 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge." msgstr "" #: ../../../CHANGELOG.md:3363 -msgid "2019-08-22" +msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3365 -msgid "Extensible Synapse configuration" +#: ../../../CHANGELOG.md:3366 +msgid "2020-04-09" msgstr "" -#: ../../../CHANGELOG.md:3367 -msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." +#: ../../../CHANGELOG.md:3368 +msgid "Skype bridging support" msgstr "" -#: ../../../CHANGELOG.md:3369 -msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." +#: ../../../CHANGELOG.md:3370 +msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge." msgstr "" -#: ../../../CHANGELOG.md:3371 -msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." +#: ../../../CHANGELOG.md:3372 +msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started." msgstr "" -#: ../../../CHANGELOG.md:3373 -msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." +#: ../../../CHANGELOG.md:3375 +msgid "2020-04-05" msgstr "" -#: ../../../CHANGELOG.md:3376 -msgid "2019-08-21" +#: ../../../CHANGELOG.md:3377 +msgid "Private Jitsi support" msgstr "" -#: ../../../CHANGELOG.md:3380 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." +#: ../../../CHANGELOG.md:3379 +msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world." msgstr "" -#: ../../../CHANGELOG.md:3382 -msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +#: ../../../CHANGELOG.md:3381 +msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication." msgstr "" -#: ../../../CHANGELOG.md:3384 -msgid "Google Hangouts bridging support" +#: ../../../CHANGELOG.md:3383 +msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation." msgstr "" #: ../../../CHANGELOG.md:3386 -msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." +msgid "2020-04-03" msgstr "" #: ../../../CHANGELOG.md:3388 -msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" msgstr "" -#: ../../../CHANGELOG.md:3391 -msgid "2019-08-05" +#: ../../../CHANGELOG.md:3390 +msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork." msgstr "" -#: ../../../CHANGELOG.md:3393 -msgid "Email2Matrix support" +#: ../../../CHANGELOG.md:3392 +msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3395 -msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." +#: ../../../CHANGELOG.md:3394 +msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup." msgstr "" #: ../../../CHANGELOG.md:3397 -msgid "It's an optional feature that you can enable via the playbook." +msgid "2020-03-29" msgstr "" #: ../../../CHANGELOG.md:3399 -msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." +msgid "Archlinux support" msgstr "" -#: ../../../CHANGELOG.md:3402 -msgid "2019-08-03" +#: ../../../CHANGELOG.md:3401 +msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server." msgstr "" #: ../../../CHANGELOG.md:3404 -msgid "Synapse logging level has been reduced to WARNING" +msgid "2020-03-24" msgstr "" #: ../../../CHANGELOG.md:3406 -msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." +msgid "Jitsi support" msgstr "" #: ../../../CHANGELOG.md:3408 -msgid "This greatly reduces the number of log messages that are being logged, leading to:" +msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)." msgstr "" #: ../../../CHANGELOG.md:3410 -msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" -msgstr "" - -#: ../../../CHANGELOG.md:3411 -msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" +msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." msgstr "" #: ../../../CHANGELOG.md:3413 -msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." +msgid "2020-03-15" msgstr "" -#: ../../../CHANGELOG.md:3416 -msgid "2019-07-08" +#: ../../../CHANGELOG.md:3415 +msgid "Raspberry Pi support" msgstr "" -#: ../../../CHANGELOG.md:3418 -msgid "Synapse Maintenance docs and synapse-janitor support are available" +#: ../../../CHANGELOG.md:3417 +msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services." msgstr "" -#: ../../../CHANGELOG.md:3420 -msgid "The playbook can now help you with Synapse's maintenance." +#: ../../../CHANGELOG.md:3419 +msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started." msgstr "" #: ../../../CHANGELOG.md:3422 -msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." +msgid "2020-02-26" msgstr "" #: ../../../CHANGELOG.md:3424 -msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." +msgid "Riot-web themes are here" msgstr "" #: ../../../CHANGELOG.md:3426 -msgid "(BC Break) Rename run control variables" +msgid "The playbook now makes it easy to install custom riot-web themes." msgstr "" #: ../../../CHANGELOG.md:3428 -msgid "Some internal playbook control variables have been renamed." +msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." msgstr "" -#: ../../../CHANGELOG.md:3430 -msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." +#: ../../../CHANGELOG.md:3431 +msgid "2020-02-24" msgstr "" -#: ../../../CHANGELOG.md:3432 -msgid "The following variables have been renamed:" -msgstr "" - -#: ../../../CHANGELOG.md:3434 -msgid "from `run_import_postgres` to `run_postgres_import`" +#: ../../../CHANGELOG.md:3433 +msgid "Customize the server name in Riot's login page" msgstr "" #: ../../../CHANGELOG.md:3435 -msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" -msgstr "" - -#: ../../../CHANGELOG.md:3436 -msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgid "You can now customize the server name string that Riot-web displays in its login page." msgstr "" #: ../../../CHANGELOG.md:3437 -msgid "from `run_import_media_store` to `run_synapse_import_media_store`" +msgid "These playbook variables, with these default values, have been added:" msgstr "" -#: ../../../CHANGELOG.md:3438 -msgid "from `run_register_user` to `run_synapse_register_user`" +#: ../../../CHANGELOG.md:3443 +msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"." msgstr "" -#: ../../../CHANGELOG.md:3439 -msgid "from `run_update_user_password` to `run_synapse_update_user_password`" -msgstr "" - -#: ../../../CHANGELOG.md:3442 -msgid "2019-07-04" -msgstr "" - -#: ../../../CHANGELOG.md:3444 -msgid "Synapse no longer logs to text files" -msgstr "" - -#: ../../../CHANGELOG.md:3446 -msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." +#: ../../../CHANGELOG.md:3445 +msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there." msgstr "" #: ../../../CHANGELOG.md:3448 -msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" +msgid "2020-01-30" msgstr "" #: ../../../CHANGELOG.md:3450 -msgid "Because of this, the following variables have become obsolete and were removed:" +msgid "Disabling TLSv1.1" msgstr "" #: ../../../CHANGELOG.md:3452 -msgid "`matrix_synapse_max_log_file_size_mb`" +msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." msgstr "" -#: ../../../CHANGELOG.md:3453 -msgid "`matrix_synapse_max_log_files_count`" -msgstr "" - -#: ../../../CHANGELOG.md:3455 -msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." +#: ../../../CHANGELOG.md:3454 +msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`" msgstr "" #: ../../../CHANGELOG.md:3457 -msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." +msgid "2020-01-21" msgstr "" -#: ../../../CHANGELOG.md:3460 -msgid "2019-06-27" +#: ../../../CHANGELOG.md:3459 +msgid "Postgres collation changes (action required!)" msgstr "" -#: ../../../CHANGELOG.md:3462 -msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3461 +msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others." msgstr "" -#: ../../../CHANGELOG.md:3464 -msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." +#: ../../../CHANGELOG.md:3463 +msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation." msgstr "" -#: ../../../CHANGELOG.md:3466 -msgid "From now on, the playbook will keep both configuration files sync for you." +#: ../../../CHANGELOG.md:3465 +msgid "To avoid future problems, we recommend that you run the following command:" msgstr "" -#: ../../../CHANGELOG.md:3468 -msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." -msgstr "" - -#: ../../../CHANGELOG.md:3470 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." -msgstr "" - -#: ../../../CHANGELOG.md:3472 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3471 +msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page." msgstr "" #: ../../../CHANGELOG.md:3474 -msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." +msgid "2020-01-14" msgstr "" #: ../../../CHANGELOG.md:3476 -msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." +msgid "Added support for Appservice Webhooks" msgstr "" -#: ../../../CHANGELOG.md:3479 -msgid "2019-06-24" +#: ../../../CHANGELOG.md:3478 +msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks." msgstr "" -#: ../../../CHANGELOG.md:3481 -msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3480 +msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." msgstr "" #: ../../../CHANGELOG.md:3483 -msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." +msgid "2020-01-12" msgstr "" #: ../../../CHANGELOG.md:3485 -#: ../../../CHANGELOG.md:3502 -#: ../../../CHANGELOG.md:3521 -#: ../../../CHANGELOG.md:3560 -msgid "From now on, the playbook will keep the configuration in sync for you." +msgid "Added support for automatic Double Puppeting for all Mautrix bridges" msgstr "" #: ../../../CHANGELOG.md:3487 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." msgstr "" #: ../../../CHANGELOG.md:3489 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you." msgstr "" #: ../../../CHANGELOG.md:3491 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." msgstr "" -#: ../../../CHANGELOG.md:3493 -msgid "We're now following the default configuration for the WhatsApp bridge." +#: ../../../CHANGELOG.md:3494 +msgid "2019-12-06" msgstr "" #: ../../../CHANGELOG.md:3496 -msgid "2019-06-20" +msgid "Added support for an alternative method for using another webserver" msgstr "" #: ../../../CHANGELOG.md:3498 -msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" +msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)." msgstr "" #: ../../../CHANGELOG.md:3500 -msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." +msgid "The documentation has been updated with a **Method 2**, which might make \"own webserver\" setup easier in some cases (such as [reverse-proxying using Traefik](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/296))." msgstr "" -#: ../../../CHANGELOG.md:3504 -msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3502 +msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)." msgstr "" -#: ../../../CHANGELOG.md:3506 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." +#: ../../../CHANGELOG.md:3505 +msgid "2019-11-10" msgstr "" -#: ../../../CHANGELOG.md:3508 -msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." +#: ../../../CHANGELOG.md:3507 +msgid "Tightened security around room directory publishing" msgstr "" -#: ../../../CHANGELOG.md:3510 -msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." +#: ../../../CHANGELOG.md:3509 +msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory." msgstr "" -#: ../../../CHANGELOG.md:3512 -msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3511 +msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**." msgstr "" -#: ../../../CHANGELOG.md:3515 -msgid "2019-06-15" +#: ../../../CHANGELOG.md:3513 +msgid "As with anything else, these new defaults can be overridden by changing the `matrix_synapse_allow_public_rooms_without_auth` and `matrix_synapse_allow_public_rooms_over_federation` variables, respectively." msgstr "" -#: ../../../CHANGELOG.md:3517 -msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3516 +msgid "2019-10-05" msgstr "" -#: ../../../CHANGELOG.md:3519 -msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3518 +msgid "Improved Postgres upgrading/importing" msgstr "" -#: ../../../CHANGELOG.md:3523 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." +#: ../../../CHANGELOG.md:3520 +msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles." msgstr "" -#: ../../../CHANGELOG.md:3525 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." +#: ../../../CHANGELOG.md:3522 +msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server." msgstr "" -#: ../../../CHANGELOG.md:3527 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +#: ../../../CHANGELOG.md:3524 +msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it." +msgstr "" + +#: ../../../CHANGELOG.md:3526 +msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage." msgstr "" #: ../../../CHANGELOG.md:3529 -msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" +msgid "2019-10-04" msgstr "" #: ../../../CHANGELOG.md:3531 -msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" -msgstr "" - -#: ../../../CHANGELOG.md:3532 -msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." +msgid "Postgres 12 support" msgstr "" #: ../../../CHANGELOG.md:3533 -msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" +msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." msgstr "" -#: ../../../CHANGELOG.md:3534 -msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" +#: ../../../CHANGELOG.md:3535 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3536 -msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." +#: ../../../CHANGELOG.md:3538 +msgid "2019-10-03" msgstr "" -#: ../../../CHANGELOG.md:3539 -msgid "2019-06-12" +#: ../../../CHANGELOG.md:3540 +msgid "Synapse 1.4.0" msgstr "" -#: ../../../CHANGELOG.md:3541 -msgid "Synapse v1.0" +#: ../../../CHANGELOG.md:3542 +msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy." msgstr "" -#: ../../../CHANGELOG.md:3543 -msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." +#: ../../../CHANGELOG.md:3544 +msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)." msgstr "" -#: ../../../CHANGELOG.md:3545 -msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." +#: ../../../CHANGELOG.md:3546 +msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable." msgstr "" -#: ../../../CHANGELOG.md:3547 -msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." -msgstr "" - -#: ../../../CHANGELOG.md:3549 -msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." +#: ../../../CHANGELOG.md:3548 +msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled." msgstr "" #: ../../../CHANGELOG.md:3551 -msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." +msgid "2019-09-09" msgstr "" -#: ../../../CHANGELOG.md:3554 -msgid "2019-06-07" +#: ../../../CHANGELOG.md:3553 +msgid "Synapse Simple Antispam support" msgstr "" -#: ../../../CHANGELOG.md:3556 -msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3555 +msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves." msgstr "" -#: ../../../CHANGELOG.md:3558 -msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." +#: ../../../CHANGELOG.md:3557 +msgid "From now on, you can easily install and configure this spam checker module through the playbook." +msgstr "" + +#: ../../../CHANGELOG.md:3559 +msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." msgstr "" #: ../../../CHANGELOG.md:3562 -msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." +msgid "2019-08-25" msgstr "" #: ../../../CHANGELOG.md:3564 -msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." +msgid "Extensible Riot-web configuration" msgstr "" #: ../../../CHANGELOG.md:3566 -msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." +msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." msgstr "" -#: ../../../CHANGELOG.md:3569 -msgid "2019-05-25" +#: ../../../CHANGELOG.md:3568 +msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs." msgstr "" -#: ../../../CHANGELOG.md:3571 -msgid "Support for exposing container ports publicly (not just to the host)" +#: ../../../CHANGELOG.md:3570 +msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly." msgstr "" -#: ../../../CHANGELOG.md:3573 -msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." +#: ../../../CHANGELOG.md:3572 +msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." msgstr "" #: ../../../CHANGELOG.md:3575 -msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." +msgid "2019-08-22" msgstr "" #: ../../../CHANGELOG.md:3577 -msgid "All such variables have been superseded by a better (more flexible) way to do it." +msgid "Extensible Synapse configuration" msgstr "" #: ../../../CHANGELOG.md:3579 -msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." +msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook." msgstr "" #: ../../../CHANGELOG.md:3581 -msgid "Porting examples follow for people having more customized setups:" +msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs." msgstr "" #: ../../../CHANGELOG.md:3583 -msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" +msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly." msgstr "" #: ../../../CHANGELOG.md:3585 -msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" +msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." msgstr "" -#: ../../../CHANGELOG.md:3587 -msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" +#: ../../../CHANGELOG.md:3588 +msgid "2019-08-21" msgstr "" -#: ../../../CHANGELOG.md:3589 -msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" +#: ../../../CHANGELOG.md:3592 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge." msgstr "" -#: ../../../CHANGELOG.md:3591 -msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" +#: ../../../CHANGELOG.md:3594 +msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." msgstr "" -#: ../../../CHANGELOG.md:3593 -msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" +#: ../../../CHANGELOG.md:3596 +msgid "Google Hangouts bridging support" msgstr "" -#: ../../../CHANGELOG.md:3595 -msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" +#: ../../../CHANGELOG.md:3598 +msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge." msgstr "" -#: ../../../CHANGELOG.md:3597 -msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" +#: ../../../CHANGELOG.md:3600 +msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." msgstr "" -#: ../../../CHANGELOG.md:3599 -msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" +#: ../../../CHANGELOG.md:3603 +msgid "2019-08-05" msgstr "" -#: ../../../CHANGELOG.md:3601 -msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." +#: ../../../CHANGELOG.md:3605 +msgid "Email2Matrix support" msgstr "" -#: ../../../CHANGELOG.md:3604 -msgid "2019-05-23" +#: ../../../CHANGELOG.md:3607 +msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." msgstr "" -#: ../../../CHANGELOG.md:3606 -msgid "(BC Break) Ansible 2.8 compatibility" +#: ../../../CHANGELOG.md:3609 +msgid "It's an optional feature that you can enable via the playbook." msgstr "" -#: ../../../CHANGELOG.md:3608 -msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." -msgstr "" - -#: ../../../CHANGELOG.md:3610 -msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." -msgstr "" - -#: ../../../CHANGELOG.md:3612 -msgid "To avoid doing it manually, run this:" -msgstr "" - -#: ../../../CHANGELOG.md:3613 -msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +#: ../../../CHANGELOG.md:3611 +msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." msgstr "" #: ../../../CHANGELOG.md:3614 -msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgid "2019-08-03" msgstr "" -#: ../../../CHANGELOG.md:3617 -msgid "2019-05-21" +#: ../../../CHANGELOG.md:3616 +msgid "Synapse logging level has been reduced to WARNING" msgstr "" -#: ../../../CHANGELOG.md:3619 -msgid "Synapse no longer required" +#: ../../../CHANGELOG.md:3618 +msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`." msgstr "" -#: ../../../CHANGELOG.md:3621 -msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." +#: ../../../CHANGELOG.md:3620 +msgid "This greatly reduces the number of log messages that are being logged, leading to:" +msgstr "" + +#: ../../../CHANGELOG.md:3622 +msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" msgstr "" #: ../../../CHANGELOG.md:3623 -msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." +msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages" msgstr "" #: ../../../CHANGELOG.md:3625 -msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." +msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)." msgstr "" -#: ../../../CHANGELOG.md:3627 -msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." +#: ../../../CHANGELOG.md:3628 +msgid "2019-07-08" msgstr "" -#: ../../../CHANGELOG.md:3629 -msgid "Bridges are now separate from the Synapse role" +#: ../../../CHANGELOG.md:3630 +msgid "Synapse Maintenance docs and synapse-janitor support are available" msgstr "" -#: ../../../CHANGELOG.md:3631 -msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." +#: ../../../CHANGELOG.md:3632 +msgid "The playbook can now help you with Synapse's maintenance." msgstr "" -#: ../../../CHANGELOG.md:3633 -msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." +#: ../../../CHANGELOG.md:3634 +msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)." msgstr "" -#: ../../../CHANGELOG.md:3635 -msgid "Renaming inconsistently-named Synapse variables" +#: ../../../CHANGELOG.md:3636 +msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you." msgstr "" -#: ../../../CHANGELOG.md:3637 -msgid "For better consistency, the following variables have been renamed:" -msgstr "" - -#: ../../../CHANGELOG.md:3639 -msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +#: ../../../CHANGELOG.md:3638 +msgid "(BC Break) Rename run control variables" msgstr "" #: ../../../CHANGELOG.md:3640 -msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgid "Some internal playbook control variables have been renamed." msgstr "" -#: ../../../CHANGELOG.md:3641 -msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" +#: ../../../CHANGELOG.md:3642 +msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything." msgstr "" #: ../../../CHANGELOG.md:3644 -msgid "2019-05-09" +msgid "The following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3646 -msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." +msgid "from `run_import_postgres` to `run_postgres_import`" +msgstr "" + +#: ../../../CHANGELOG.md:3647 +msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" msgstr "" #: ../../../CHANGELOG.md:3648 -msgid "Mautrix Facebook/Messenger bridging support" +msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgstr "" + +#: ../../../CHANGELOG.md:3649 +msgid "from `run_import_media_store` to `run_synapse_import_media_store`" msgstr "" #: ../../../CHANGELOG.md:3650 -msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgid "from `run_register_user` to `run_synapse_register_user`" msgstr "" -#: ../../../CHANGELOG.md:3652 -msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +#: ../../../CHANGELOG.md:3651 +msgid "from `run_update_user_password` to `run_synapse_update_user_password`" msgstr "" #: ../../../CHANGELOG.md:3654 -msgid "mxisd Registration feature integration" +msgid "2019-07-04" msgstr "" #: ../../../CHANGELOG.md:3656 -msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." +msgid "Synapse no longer logs to text files" msgstr "" #: ../../../CHANGELOG.md:3658 -msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)." msgstr "" -#: ../../../CHANGELOG.md:3661 -msgid "2019-04-16" +#: ../../../CHANGELOG.md:3660 +msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:3663 -msgid "Caddy webserver examples" +#: ../../../CHANGELOG.md:3662 +msgid "Because of this, the following variables have become obsolete and were removed:" +msgstr "" + +#: ../../../CHANGELOG.md:3664 +msgid "`matrix_synapse_max_log_file_size_mb`" msgstr "" #: ../../../CHANGELOG.md:3665 -msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +msgid "`matrix_synapse_max_log_files_count`" msgstr "" #: ../../../CHANGELOG.md:3667 -msgid "2019-04-10" +msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)." msgstr "" #: ../../../CHANGELOG.md:3669 -msgid "Goofys support for other S3-compatible object stores" +msgid "Because Synapse is incredibly chatty when it comes to logging (here's [one such issue](https://github.com/matrix-org/synapse/issues/4751) describing the problem), if you're running an ancient distribution (like CentOS 7.0), be advised that systemd's journald default logging restrictions may not be high enough to capture all log messages generated by Synapse. This is especially true if you've got a busy (Synapse) server. We advise that you manually add `RateLimitInterval=0` and `RateLimitBurst=0` under `[Storage]` in the `/etc/systemd/journald.conf` file, followed by restarting the logging service (`systemctl restart systemd-journald`)." msgstr "" -#: ../../../CHANGELOG.md:3671 -msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," +#: ../../../CHANGELOG.md:3672 +msgid "2019-06-27" msgstr "" #: ../../../CHANGELOG.md:3674 -msgid "2019-04-03" +msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3676 -msgid "Ansible >= 2.5 is required" +msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not." msgstr "" #: ../../../CHANGELOG.md:3678 -msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." +msgid "From now on, the playbook will keep both configuration files sync for you." msgstr "" #: ../../../CHANGELOG.md:3680 -msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." +msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3683 -msgid "2019-03-19" +#: ../../../CHANGELOG.md:3682 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." msgstr "" -#: ../../../CHANGELOG.md:3685 -msgid "TLS support for coturn" +#: ../../../CHANGELOG.md:3684 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3687 -msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." +#: ../../../CHANGELOG.md:3686 +msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually." msgstr "" -#: ../../../CHANGELOG.md:3689 -msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" +#: ../../../CHANGELOG.md:3688 +msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`." +msgstr "" + +#: ../../../CHANGELOG.md:3691 +msgid "2019-06-24" +msgstr "" + +#: ../../../CHANGELOG.md:3693 +msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3695 -msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." +msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3697 -msgid "People who build their own custom playbook from our roles should be aware that:" +#: ../../../CHANGELOG.md:3714 +#: ../../../CHANGELOG.md:3733 +#: ../../../CHANGELOG.md:3772 +msgid "From now on, the playbook will keep the configuration in sync for you." msgstr "" #: ../../../CHANGELOG.md:3699 -msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." +msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3701 -msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" -#: ../../../CHANGELOG.md:3704 -msgid "2019-03-12" +#: ../../../CHANGELOG.md:3703 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3706 -msgid "matrix-nginx-proxy support for serving the base domain" +#: ../../../CHANGELOG.md:3705 +msgid "We're now following the default configuration for the WhatsApp bridge." msgstr "" #: ../../../CHANGELOG.md:3708 -msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." +msgid "2019-06-20" msgstr "" #: ../../../CHANGELOG.md:3710 -msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." +msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3712 -msgid "(BC break) matrix-nginx-proxy data variable renamed" -msgstr "" - -#: ../../../CHANGELOG.md:3714 -msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3716 -msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." +msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3719 -msgid "2019-03-10" +#: ../../../CHANGELOG.md:3718 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)." msgstr "" -#: ../../../CHANGELOG.md:3721 -msgid "Dimension integration manager support" +#: ../../../CHANGELOG.md:3720 +msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example." msgstr "" -#: ../../../CHANGELOG.md:3723 -msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." +#: ../../../CHANGELOG.md:3722 +msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`." msgstr "" -#: ../../../CHANGELOG.md:3726 -msgid "2019-03-07" +#: ../../../CHANGELOG.md:3724 +msgid "Bridge data (`passkey.pem` and database files) is now also stored in a subdirectory (`/matrix/appservice-irc/data`). When you run the playbook with an existing `/matrix/appservice-irc/passkey.pem` file, the playbook will stop the bridge and relocate the passkey and database files (`rooms.db` and `users.db`) to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3728 -msgid "Ability to customize mxisd's email templates" +#: ../../../CHANGELOG.md:3727 +msgid "2019-06-15" msgstr "" -#: ../../../CHANGELOG.md:3730 -msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." +#: ../../../CHANGELOG.md:3729 +msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3733 -msgid "2019-03-05" +#: ../../../CHANGELOG.md:3731 +msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on." msgstr "" #: ../../../CHANGELOG.md:3735 -msgid "Discord bridging support" +msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" #: ../../../CHANGELOG.md:3737 -msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" -#: ../../../CHANGELOG.md:3740 -msgid "2019-02-19" +#: ../../../CHANGELOG.md:3739 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" -#: ../../../CHANGELOG.md:3742 -msgid "Renaming variables" +#: ../../../CHANGELOG.md:3741 +msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" +msgstr "" + +#: ../../../CHANGELOG.md:3743 +msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message" msgstr "" #: ../../../CHANGELOG.md:3744 -#: ../../../CHANGELOG.md:4061 -#: ../../../CHANGELOG.md:4146 -#: ../../../CHANGELOG.md:4266 -msgid "The following playbook variables were renamed:" +msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message." +msgstr "" + +#: ../../../CHANGELOG.md:3745 +msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" msgstr "" #: ../../../CHANGELOG.md:3746 -msgid "from `host_specific_hostname_identity` to `matrix_domain`" -msgstr "" - -#: ../../../CHANGELOG.md:3747 -msgid "from `hostname_identity` to `matrix_domain`" +msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" msgstr "" #: ../../../CHANGELOG.md:3748 -msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)." msgstr "" -#: ../../../CHANGELOG.md:3749 -msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +#: ../../../CHANGELOG.md:3751 +msgid "2019-06-12" msgstr "" -#: ../../../CHANGELOG.md:3750 -msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" -msgstr "" - -#: ../../../CHANGELOG.md:3752 -msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." +#: ../../../CHANGELOG.md:3753 +msgid "Synapse v1.0" msgstr "" #: ../../../CHANGELOG.md:3755 -msgid "2019-02-16" +msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)." msgstr "" #: ../../../CHANGELOG.md:3757 -msgid "Riot v1.0.1 support" +msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it." msgstr "" #: ../../../CHANGELOG.md:3759 -msgid "You can now use the brand new and redesigned Riot." +msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." msgstr "" #: ../../../CHANGELOG.md:3761 -msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." +msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook." msgstr "" #: ../../../CHANGELOG.md:3763 -msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." +msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)." msgstr "" #: ../../../CHANGELOG.md:3766 -msgid "2019-02-14" +msgid "2019-06-07" msgstr "" #: ../../../CHANGELOG.md:3768 -msgid "Synapse v0.99.1" +msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3770 -msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." +msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on." msgstr "" -#: ../../../CHANGELOG.md:3772 -msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." +#: ../../../CHANGELOG.md:3774 +msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook." msgstr "" -#: ../../../CHANGELOG.md:3775 -msgid "2019-02-06" +#: ../../../CHANGELOG.md:3776 +msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you." msgstr "" -#: ../../../CHANGELOG.md:3777 -msgid "Synapse v0.99 support and preparation for Synapse v1.0" -msgstr "" - -#: ../../../CHANGELOG.md:3779 -msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." +#: ../../../CHANGELOG.md:3778 +msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:3781 -msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." +msgid "2019-05-25" msgstr "" #: ../../../CHANGELOG.md:3783 -msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." +msgid "Support for exposing container ports publicly (not just to the host)" msgstr "" #: ../../../CHANGELOG.md:3785 -msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" +msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup." msgstr "" #: ../../../CHANGELOG.md:3787 -msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." +msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`." msgstr "" #: ../../../CHANGELOG.md:3789 -msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." +msgid "All such variables have been superseded by a better (more flexible) way to do it." msgstr "" -#: ../../../CHANGELOG.md:3792 -msgid "2019-02-01" +#: ../../../CHANGELOG.md:3791 +msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." msgstr "" -#: ../../../CHANGELOG.md:3794 -msgid "TLS v1.3 support" +#: ../../../CHANGELOG.md:3793 +msgid "Porting examples follow for people having more customized setups:" msgstr "" -#: ../../../CHANGELOG.md:3796 -msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +#: ../../../CHANGELOG.md:3795 +msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`" msgstr "" -#: ../../../CHANGELOG.md:3798 -msgid "When using:" +#: ../../../CHANGELOG.md:3797 +msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`" msgstr "" -#: ../../../CHANGELOG.md:3800 -msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +#: ../../../CHANGELOG.md:3799 +msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" msgstr "" -#: ../../../CHANGELOG.md:3802 -msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" +#: ../../../CHANGELOG.md:3801 +msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`" msgstr "" -#: ../../../CHANGELOG.md:3804 -msgid "**another web server**: you don't need to do anything to accommodate this change" +#: ../../../CHANGELOG.md:3803 +msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" +msgstr "" + +#: ../../../CHANGELOG.md:3805 +msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" msgstr "" #: ../../../CHANGELOG.md:3807 -msgid "2019-01-31" +msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`" msgstr "" #: ../../../CHANGELOG.md:3809 -msgid "IRC bridging support" +msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`" msgstr "" #: ../../../CHANGELOG.md:3811 -msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`" msgstr "" -#: ../../../CHANGELOG.md:3814 -msgid "2019-01-29" +#: ../../../CHANGELOG.md:3813 +msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." msgstr "" #: ../../../CHANGELOG.md:3816 -msgid "Running container processes as non-root, without capabilities and read-only" +msgid "2019-05-23" msgstr "" #: ../../../CHANGELOG.md:3818 -msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." +msgid "(BC Break) Ansible 2.8 compatibility" msgstr "" #: ../../../CHANGELOG.md:3820 -msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." +msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)." msgstr "" #: ../../../CHANGELOG.md:3822 -msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." +msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)." msgstr "" #: ../../../CHANGELOG.md:3824 -msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +msgid "To avoid doing it manually, run this:" +msgstr "" + +#: ../../../CHANGELOG.md:3825 +msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" #: ../../../CHANGELOG.md:3826 -msgid "matrix-mailer is now based on Exim, not Postfix" +msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" -#: ../../../CHANGELOG.md:3828 -msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." +#: ../../../CHANGELOG.md:3829 +msgid "2019-05-21" msgstr "" -#: ../../../CHANGELOG.md:3830 -msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." +#: ../../../CHANGELOG.md:3831 +msgid "Synapse no longer required" msgstr "" -#: ../../../CHANGELOG.md:3832 -msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." +#: ../../../CHANGELOG.md:3833 +msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." msgstr "" #: ../../../CHANGELOG.md:3835 -msgid "2019-01-17" +msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)." msgstr "" #: ../../../CHANGELOG.md:3837 -msgid "(BC Break) Making the playbook's roles more independent of one another" +msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place." msgstr "" #: ../../../CHANGELOG.md:3839 -msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." +msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." msgstr "" -#: ../../../CHANGELOG.md:3842 -msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." +#: ../../../CHANGELOG.md:3841 +msgid "Bridges are now separate from the Synapse role" msgstr "" -#: ../../../CHANGELOG.md:3844 -msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." +#: ../../../CHANGELOG.md:3843 +msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)." msgstr "" -#: ../../../CHANGELOG.md:3846 -msgid "In addition, the following components can now be completely disabled (for those who want/need to):" +#: ../../../CHANGELOG.md:3845 +msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)." msgstr "" #: ../../../CHANGELOG.md:3847 -msgid "`matrix-coturn` by using `coturn_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:3848 -msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgid "Renaming inconsistently-named Synapse variables" msgstr "" #: ../../../CHANGELOG.md:3849 -msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" +msgid "For better consistency, the following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3851 -msgid "The following changes had to be done:" +msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +msgstr "" + +#: ../../../CHANGELOG.md:3852 +msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" msgstr "" #: ../../../CHANGELOG.md:3853 -msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." +msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" msgstr "" -#: ../../../CHANGELOG.md:3855 -msgid "`matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." +#: ../../../CHANGELOG.md:3856 +msgid "2019-05-09" msgstr "" -#: ../../../CHANGELOG.md:3857 -msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" +#: ../../../CHANGELOG.md:3858 +msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." msgstr "" -#: ../../../CHANGELOG.md:3859 -msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." +#: ../../../CHANGELOG.md:3860 +msgid "Mautrix Facebook/Messenger bridging support" msgstr "" #: ../../../CHANGELOG.md:3862 -msgid "2019-01-16" +msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." msgstr "" #: ../../../CHANGELOG.md:3864 -msgid "Splitting the playbook into multiple roles" +msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." msgstr "" #: ../../../CHANGELOG.md:3866 -msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." +msgid "mxisd Registration feature integration" msgstr "" -#: ../../../CHANGELOG.md:3869 -msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." +#: ../../../CHANGELOG.md:3868 +msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature." msgstr "" -#: ../../../CHANGELOG.md:3871 -msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." +#: ../../../CHANGELOG.md:3870 +msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." msgstr "" -#: ../../../CHANGELOG.md:3874 -msgid "2019-01-11" +#: ../../../CHANGELOG.md:3873 +msgid "2019-04-16" msgstr "" -#: ../../../CHANGELOG.md:3876 -msgid "(BC Break) mxisd configuration changes" +#: ../../../CHANGELOG.md:3875 +msgid "Caddy webserver examples" msgstr "" -#: ../../../CHANGELOG.md:3878 -msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." +#: ../../../CHANGELOG.md:3877 +msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory" +msgstr "" + +#: ../../../CHANGELOG.md:3879 +msgid "2019-04-10" msgstr "" #: ../../../CHANGELOG.md:3881 -msgid "The following variables are no longer supported by this playbook:" +msgid "Goofys support for other S3-compatible object stores" msgstr "" #: ../../../CHANGELOG.md:3883 -msgid "`matrix_mxisd_ldap_enabled`" -msgstr "" - -#: ../../../CHANGELOG.md:3884 -msgid "`matrix_mxisd_ldap_connection_host`" -msgstr "" - -#: ../../../CHANGELOG.md:3885 -msgid "`matrix_mxisd_ldap_connection_tls`" +msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md)," msgstr "" #: ../../../CHANGELOG.md:3886 -msgid "`matrix_mxisd_ldap_connection_port`" -msgstr "" - -#: ../../../CHANGELOG.md:3887 -msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgid "2019-04-03" msgstr "" #: ../../../CHANGELOG.md:3888 -msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgid "Ansible >= 2.5 is required" msgstr "" -#: ../../../CHANGELOG.md:3889 #: ../../../CHANGELOG.md:3890 -msgid "`matrix_mxisd_ldap_connection_bindDn`" -msgstr "" - -#: ../../../CHANGELOG.md:3891 -#: ../../../CHANGELOG.md:3895 -msgid "`matrix_mxisd_ldap_connection_bindPassword`" +msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)." msgstr "" #: ../../../CHANGELOG.md:3892 -msgid "`matrix_mxisd_ldap_filter`" +msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))." msgstr "" -#: ../../../CHANGELOG.md:3893 -msgid "`matrix_mxisd_ldap_attribute_uid_type`" -msgstr "" - -#: ../../../CHANGELOG.md:3894 -msgid "`matrix_mxisd_ldap_attribute_uid_value`" -msgstr "" - -#: ../../../CHANGELOG.md:3896 -msgid "`matrix_mxisd_ldap_attribute_name`" +#: ../../../CHANGELOG.md:3895 +msgid "2019-03-19" msgstr "" #: ../../../CHANGELOG.md:3897 -msgid "`matrix_mxisd_ldap_attribute_threepid_email`" -msgstr "" - -#: ../../../CHANGELOG.md:3898 -msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgid "TLS support for coturn" msgstr "" #: ../../../CHANGELOG.md:3899 -msgid "`matrix_mxisd_ldap_identity_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3900 -msgid "`matrix_mxisd_ldap_identity_medium`" +msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server." msgstr "" #: ../../../CHANGELOG.md:3901 -msgid "`matrix_mxisd_ldap_auth_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3902 -msgid "`matrix_mxisd_ldap_directory_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3903 -msgid "`matrix_mxisd_template_config`" -msgstr "" - -#: ../../../CHANGELOG.md:3905 -msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:" msgstr "" #: ../../../CHANGELOG.md:3907 -msgid "This new way of configuring mxisd is beneficial because:" +msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)." msgstr "" #: ../../../CHANGELOG.md:3909 -msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" +msgid "People who build their own custom playbook from our roles should be aware that:" msgstr "" -#: ../../../CHANGELOG.md:3910 -msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" +#: ../../../CHANGELOG.md:3911 +msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)." msgstr "" #: ../../../CHANGELOG.md:3913 -msgid "2019-01-08" +msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)." msgstr "" -#: ../../../CHANGELOG.md:3915 -msgid "(BC Break) Cronjob schedule no longer configurable" +#: ../../../CHANGELOG.md:3916 +msgid "2019-03-12" msgstr "" -#: ../../../CHANGELOG.md:3917 -msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." +#: ../../../CHANGELOG.md:3918 +msgid "matrix-nginx-proxy support for serving the base domain" msgstr "" -#: ../../../CHANGELOG.md:3919 -msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." +#: ../../../CHANGELOG.md:3920 +msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now." msgstr "" #: ../../../CHANGELOG.md:3922 -msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" +msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:3925 -msgid "2018-12-23" +#: ../../../CHANGELOG.md:3924 +msgid "(BC break) matrix-nginx-proxy data variable renamed" msgstr "" -#: ../../../CHANGELOG.md:3927 -msgid "(BC Break) More SSL certificate retrieval methods" +#: ../../../CHANGELOG.md:3926 +msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." msgstr "" -#: ../../../CHANGELOG.md:3929 -msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" -msgstr "" - -#: ../../../CHANGELOG.md:3930 -msgid "(default) obtaining free SSL certificates from Let's Encrypt" +#: ../../../CHANGELOG.md:3928 +msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)." msgstr "" #: ../../../CHANGELOG.md:3931 -msgid "generating self-signed SSL certificates" +msgid "2019-03-10" msgstr "" -#: ../../../CHANGELOG.md:3932 -msgid "managing SSL certificates manually" +#: ../../../CHANGELOG.md:3933 +msgid "Dimension integration manager support" msgstr "" -#: ../../../CHANGELOG.md:3934 -msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." -msgstr "" - -#: ../../../CHANGELOG.md:3936 -msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" +#: ../../../CHANGELOG.md:3935 +msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page." msgstr "" #: ../../../CHANGELOG.md:3938 -msgid "before: `host_specific_matrix_ssl_support_email`" +msgid "2019-03-07" msgstr "" -#: ../../../CHANGELOG.md:3939 -msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +#: ../../../CHANGELOG.md:3940 +msgid "Ability to customize mxisd's email templates" msgstr "" -#: ../../../CHANGELOG.md:3941 -msgid "(BC Break) mxisd upgrade with multiple base DN support" -msgstr "" - -#: ../../../CHANGELOG.md:3943 -msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." +#: ../../../CHANGELOG.md:3942 +msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page." msgstr "" #: ../../../CHANGELOG.md:3945 -msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." +msgid "2019-03-05" msgstr "" #: ../../../CHANGELOG.md:3947 -msgid "Example change:" +msgid "Discord bridging support" msgstr "" #: ../../../CHANGELOG.md:3949 -msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:3950 -msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +#: ../../../CHANGELOG.md:3952 +msgid "2019-02-19" msgstr "" -#: ../../../CHANGELOG.md:3953 -msgid "2018-12-21" +#: ../../../CHANGELOG.md:3954 +msgid "Renaming variables" msgstr "" -#: ../../../CHANGELOG.md:3955 -msgid "Synapse 0.34.0 and Python 3" +#: ../../../CHANGELOG.md:3956 +#: ../../../CHANGELOG.md:4273 +#: ../../../CHANGELOG.md:4358 +#: ../../../CHANGELOG.md:4478 +msgid "The following playbook variables were renamed:" msgstr "" -#: ../../../CHANGELOG.md:3957 -msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." +#: ../../../CHANGELOG.md:3958 +msgid "from `host_specific_hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3959 +msgid "from `hostname_identity` to `matrix_domain`" msgstr "" #: ../../../CHANGELOG.md:3960 -msgid "2018-12-12" +msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" +msgstr "" + +#: ../../../CHANGELOG.md:3961 +msgid "from `hostname_riot` to `matrix_server_fqn_riot`" msgstr "" #: ../../../CHANGELOG.md:3962 -msgid "Riot homepage customization" +msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" msgstr "" #: ../../../CHANGELOG.md:3964 -msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." +msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." msgstr "" #: ../../../CHANGELOG.md:3967 -msgid "2018-12-04" +msgid "2019-02-16" msgstr "" #: ../../../CHANGELOG.md:3969 -msgid "mxisd extensibility" +msgid "Riot v1.0.1 support" msgstr "" #: ../../../CHANGELOG.md:3971 -msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." +msgid "You can now use the brand new and redesigned Riot." msgstr "" -#: ../../../CHANGELOG.md:3974 -msgid "2018-11-28" +#: ../../../CHANGELOG.md:3973 +msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing." msgstr "" -#: ../../../CHANGELOG.md:3976 -msgid "More scripts" +#: ../../../CHANGELOG.md:3975 +msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)." msgstr "" #: ../../../CHANGELOG.md:3978 -msgid "matrix-remove-all allows to uninstall everything with a single command" +msgid "2019-02-14" msgstr "" -#: ../../../CHANGELOG.md:3979 -msgid "matrix-make-user-admin allows to upgrade a user's privileges" +#: ../../../CHANGELOG.md:3980 +msgid "Synapse v0.99.1" msgstr "" -#: ../../../CHANGELOG.md:3981 -msgid "LDAP auth support via matrix-synapse-ldap3" +#: ../../../CHANGELOG.md:3982 +msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless." msgstr "" -#: ../../../CHANGELOG.md:3983 -msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." +#: ../../../CHANGELOG.md:3984 +msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more." msgstr "" -#: ../../../CHANGELOG.md:3985 -msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +#: ../../../CHANGELOG.md:3987 +msgid "2019-02-06" msgstr "" -#: ../../../CHANGELOG.md:3988 -msgid "2018-11-23" +#: ../../../CHANGELOG.md:3989 +msgid "Synapse v0.99 support and preparation for Synapse v1.0" msgstr "" -#: ../../../CHANGELOG.md:3990 -msgid "Support for controlling public registration and room auto-join" +#: ../../../CHANGELOG.md:3991 +msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports." msgstr "" -#: ../../../CHANGELOG.md:3992 -msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +#: ../../../CHANGELOG.md:3993 +msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))." msgstr "" -#: ../../../CHANGELOG.md:3994 -msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +#: ../../../CHANGELOG.md:3995 +msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)." msgstr "" -#: ../../../CHANGELOG.md:3996 -msgid "Support for changing the welcome user ID (welcome bot)" +#: ../../../CHANGELOG.md:3997 +msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:" msgstr "" -#: ../../../CHANGELOG.md:3998 -msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." +#: ../../../CHANGELOG.md:3999 +msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record." msgstr "" #: ../../../CHANGELOG.md:4001 -msgid "2018-11-14" +msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)." msgstr "" -#: ../../../CHANGELOG.md:4003 -msgid "Ability to set Synapse log levels" +#: ../../../CHANGELOG.md:4004 +msgid "2019-02-01" msgstr "" -#: ../../../CHANGELOG.md:4005 -msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." +#: ../../../CHANGELOG.md:4006 +msgid "TLS v1.3 support" msgstr "" -#: ../../../CHANGELOG.md:4007 -msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" +#: ../../../CHANGELOG.md:4008 +msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default." +msgstr "" + +#: ../../../CHANGELOG.md:4010 +msgid "When using:" +msgstr "" + +#: ../../../CHANGELOG.md:4012 +msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`." +msgstr "" + +#: ../../../CHANGELOG.md:4014 +msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)" msgstr "" #: ../../../CHANGELOG.md:4016 -msgid "2018-11-03" +msgid "**another web server**: you don't need to do anything to accommodate this change" msgstr "" -#: ../../../CHANGELOG.md:4018 -msgid "Customize parts of Riot's config" +#: ../../../CHANGELOG.md:4019 +msgid "2019-01-31" msgstr "" -#: ../../../CHANGELOG.md:4020 -msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" +#: ../../../CHANGELOG.md:4021 +msgid "IRC bridging support" msgstr "" -#: ../../../CHANGELOG.md:4031 -msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" +#: ../../../CHANGELOG.md:4023 +msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:4026 +msgid "2019-01-29" +msgstr "" + +#: ../../../CHANGELOG.md:4028 +msgid "Running container processes as non-root, without capabilities and read-only" +msgstr "" + +#: ../../../CHANGELOG.md:4030 +msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go." +msgstr "" + +#: ../../../CHANGELOG.md:4032 +msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers." +msgstr "" + +#: ../../../CHANGELOG.md:4034 +msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to." +msgstr "" + +#: ../../../CHANGELOG.md:4036 +msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you." +msgstr "" + +#: ../../../CHANGELOG.md:4038 +msgid "matrix-mailer is now based on Exim, not Postfix" msgstr "" #: ../../../CHANGELOG.md:4040 -msgid "SSL protocols used to serve Riot and Synapse" +msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)." msgstr "" #: ../../../CHANGELOG.md:4042 -msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." +msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)." msgstr "" #: ../../../CHANGELOG.md:4044 -msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." +msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)." msgstr "" -#: ../../../CHANGELOG.md:4046 -msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." +#: ../../../CHANGELOG.md:4047 +msgid "2019-01-17" msgstr "" #: ../../../CHANGELOG.md:4049 -msgid "2018-11-01" +msgid "(BC Break) Making the playbook's roles more independent of one another" msgstr "" #: ../../../CHANGELOG.md:4051 -msgid "Postgres 11 support" +msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)." msgstr "" -#: ../../../CHANGELOG.md:4053 -msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +#: ../../../CHANGELOG.md:4054 +msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components." msgstr "" -#: ../../../CHANGELOG.md:4055 -msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." +#: ../../../CHANGELOG.md:4056 +msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves." msgstr "" -#: ../../../CHANGELOG.md:4057 -#: ../../../CHANGELOG.md:4144 -#: ../../../CHANGELOG.md:4264 -msgid "(BC Break) Renaming playbook variables" +#: ../../../CHANGELOG.md:4058 +msgid "In addition, the following components can now be completely disabled (for those who want/need to):" msgstr "" #: ../../../CHANGELOG.md:4059 -msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." +msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4060 +msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:4061 +msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:4063 -msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4064 -msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgid "The following changes had to be done:" msgstr "" #: ../../../CHANGELOG.md:4065 -msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4066 -msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" +msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file." msgstr "" #: ../../../CHANGELOG.md:4067 -msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4068 -msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" +msgid "`matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement." msgstr "" #: ../../../CHANGELOG.md:4069 -msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4070 -msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)" msgstr "" #: ../../../CHANGELOG.md:4071 -msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4072 -msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" -msgstr "" - -#: ../../../CHANGELOG.md:4073 -msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic." msgstr "" #: ../../../CHANGELOG.md:4074 -msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgid "2019-01-16" msgstr "" -#: ../../../CHANGELOG.md:4077 -msgid "2018-10-26" +#: ../../../CHANGELOG.md:4076 +msgid "Splitting the playbook into multiple roles" msgstr "" -#: ../../../CHANGELOG.md:4079 -msgid "Mautrix Whatsapp bridging support" +#: ../../../CHANGELOG.md:4078 +msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)." msgstr "" #: ../../../CHANGELOG.md:4081 -msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." msgstr "" #: ../../../CHANGELOG.md:4083 -msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)." msgstr "" #: ../../../CHANGELOG.md:4086 -msgid "2018-10-25" +msgid "2019-01-11" msgstr "" #: ../../../CHANGELOG.md:4088 -msgid "Support for controlling Matrix federation" +msgid "(BC Break) mxisd configuration changes" msgstr "" #: ../../../CHANGELOG.md:4090 -msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured." msgstr "" #: ../../../CHANGELOG.md:4093 -msgid "2018-10-24" +msgid "The following variables are no longer supported by this playbook:" msgstr "" #: ../../../CHANGELOG.md:4095 -msgid "Disabling riot-web guests" +msgid "`matrix_mxisd_ldap_enabled`" +msgstr "" + +#: ../../../CHANGELOG.md:4096 +msgid "`matrix_mxisd_ldap_connection_host`" msgstr "" #: ../../../CHANGELOG.md:4097 -msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +msgid "`matrix_mxisd_ldap_connection_tls`" +msgstr "" + +#: ../../../CHANGELOG.md:4098 +msgid "`matrix_mxisd_ldap_connection_port`" +msgstr "" + +#: ../../../CHANGELOG.md:4099 +msgid "`matrix_mxisd_ldap_connection_baseDn`" msgstr "" #: ../../../CHANGELOG.md:4100 -msgid "2018-10-21" +msgid "`matrix_mxisd_ldap_connection_baseDns`" msgstr "" +#: ../../../CHANGELOG.md:4101 #: ../../../CHANGELOG.md:4102 -msgid "Self-check maintenance command" +msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4103 +#: ../../../CHANGELOG.md:4107 +msgid "`matrix_mxisd_ldap_connection_bindPassword`" msgstr "" #: ../../../CHANGELOG.md:4104 -msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)." +msgid "`matrix_mxisd_ldap_filter`" msgstr "" -#: ../../../CHANGELOG.md:4107 -msgid "2018-10-05" +#: ../../../CHANGELOG.md:4105 +msgid "`matrix_mxisd_ldap_attribute_uid_type`" +msgstr "" + +#: ../../../CHANGELOG.md:4106 +msgid "`matrix_mxisd_ldap_attribute_uid_value`" +msgstr "" + +#: ../../../CHANGELOG.md:4108 +msgid "`matrix_mxisd_ldap_attribute_name`" msgstr "" #: ../../../CHANGELOG.md:4109 -msgid "Presence tracking made configurable" +msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4110 +msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" msgstr "" #: ../../../CHANGELOG.md:4111 -msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +msgid "`matrix_mxisd_ldap_identity_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4112 +msgid "`matrix_mxisd_ldap_identity_medium`" msgstr "" #: ../../../CHANGELOG.md:4113 -msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +msgid "`matrix_mxisd_ldap_auth_filter`" msgstr "" -#: ../../../CHANGELOG.md:4116 -msgid "2018-09-27" +#: ../../../CHANGELOG.md:4114 +msgid "`matrix_mxisd_ldap_directory_filter`" msgstr "" -#: ../../../CHANGELOG.md:4118 -msgid "Synapse Cache Factor made configurable" +#: ../../../CHANGELOG.md:4115 +msgid "`matrix_mxisd_template_config`" msgstr "" -#: ../../../CHANGELOG.md:4120 -msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +#: ../../../CHANGELOG.md:4117 +msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information." +msgstr "" + +#: ../../../CHANGELOG.md:4119 +msgid "This new way of configuring mxisd is beneficial because:" +msgstr "" + +#: ../../../CHANGELOG.md:4121 +msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them" msgstr "" #: ../../../CHANGELOG.md:4122 -msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly" msgstr "" #: ../../../CHANGELOG.md:4125 -msgid "2018-09-26" +msgid "2019-01-08" msgstr "" #: ../../../CHANGELOG.md:4127 -msgid "Disabling Docker container logging" +msgid "(BC Break) Cronjob schedule no longer configurable" msgstr "" #: ../../../CHANGELOG.md:4129 -msgid "`--log-driver=none` is used for all Docker containers now." +msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." msgstr "" #: ../../../CHANGELOG.md:4131 -msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore." msgstr "" -#: ../../../CHANGELOG.md:4133 -msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +#: ../../../CHANGELOG.md:4134 +msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!" msgstr "" -#: ../../../CHANGELOG.md:4136 -msgid "2018-09-17" +#: ../../../CHANGELOG.md:4137 +msgid "2018-12-23" msgstr "" -#: ../../../CHANGELOG.md:4138 -msgid "Service discovery support" +#: ../../../CHANGELOG.md:4139 +msgid "(BC Break) More SSL certificate retrieval methods" msgstr "" -#: ../../../CHANGELOG.md:4140 -msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +#: ../../../CHANGELOG.md:4141 +msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" msgstr "" #: ../../../CHANGELOG.md:4142 -msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgid "(default) obtaining free SSL certificates from Let's Encrypt" +msgstr "" + +#: ../../../CHANGELOG.md:4143 +msgid "generating self-signed SSL certificates" +msgstr "" + +#: ../../../CHANGELOG.md:4144 +msgid "managing SSL certificates manually" +msgstr "" + +#: ../../../CHANGELOG.md:4146 +msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." msgstr "" #: ../../../CHANGELOG.md:4148 -msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:" msgstr "" -#: ../../../CHANGELOG.md:4149 -msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +#: ../../../CHANGELOG.md:4150 +msgid "before: `host_specific_matrix_ssl_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4152 -msgid "2018-09-07" +#: ../../../CHANGELOG.md:4151 +msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4154 -msgid "Mautrix Telegram bridging support" +#: ../../../CHANGELOG.md:4153 +msgid "(BC Break) mxisd upgrade with multiple base DN support" msgstr "" -#: ../../../CHANGELOG.md:4156 -msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +#: ../../../CHANGELOG.md:4155 +msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)." msgstr "" -#: ../../../CHANGELOG.md:4158 -msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +#: ../../../CHANGELOG.md:4157 +msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)." msgstr "" -#: ../../../CHANGELOG.md:4160 -msgid "Events cache size increase and configurability for Matrix Synapse" +#: ../../../CHANGELOG.md:4159 +msgid "Example change:" +msgstr "" + +#: ../../../CHANGELOG.md:4161 +msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" msgstr "" #: ../../../CHANGELOG.md:4162 -msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" msgstr "" -#: ../../../CHANGELOG.md:4164 -msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +#: ../../../CHANGELOG.md:4165 +msgid "2018-12-21" msgstr "" -#: ../../../CHANGELOG.md:4166 -msgid "Password-peppering support for Matrix Synapse" +#: ../../../CHANGELOG.md:4167 +msgid "Synapse 0.34.0 and Python 3" msgstr "" -#: ../../../CHANGELOG.md:4168 -msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." -msgstr "" - -#: ../../../CHANGELOG.md:4170 -msgid "Statistics-reporting support for Matrix Synapse" +#: ../../../CHANGELOG.md:4169 +msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)." msgstr "" #: ../../../CHANGELOG.md:4172 -msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." +msgid "2018-12-12" msgstr "" #: ../../../CHANGELOG.md:4174 -msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +msgid "Riot homepage customization" msgstr "" -#: ../../../CHANGELOG.md:4177 -msgid "2018-08-29" +#: ../../../CHANGELOG.md:4176 +msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`." msgstr "" #: ../../../CHANGELOG.md:4179 -msgid "Changing the way SSL certificates are retrieved" +msgid "2018-12-04" msgstr "" #: ../../../CHANGELOG.md:4181 -msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgid "mxisd extensibility" msgstr "" #: ../../../CHANGELOG.md:4183 -msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)." msgstr "" -#: ../../../CHANGELOG.md:4185 -msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" -msgstr "" - -#: ../../../CHANGELOG.md:4187 -msgid "`systemctl stop 'matrix*'`" +#: ../../../CHANGELOG.md:4186 +msgid "2018-11-28" msgstr "" #: ../../../CHANGELOG.md:4188 -msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" -msgstr "" - -#: ../../../CHANGELOG.md:4189 -msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgid "More scripts" msgstr "" #: ../../../CHANGELOG.md:4190 -msgid "re-run the playbook's [installation](docs/installing.md)" +msgid "matrix-remove-all allows to uninstall everything with a single command" msgstr "" #: ../../../CHANGELOG.md:4191 -msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgid "matrix-make-user-admin allows to upgrade a user's privileges" msgstr "" -#: ../../../CHANGELOG.md:4194 -msgid "2018-08-21" +#: ../../../CHANGELOG.md:4193 +msgid "LDAP auth support via matrix-synapse-ldap3" msgstr "" -#: ../../../CHANGELOG.md:4196 -msgid "Matrix Corporal support" +#: ../../../CHANGELOG.md:4195 +msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." msgstr "" -#: ../../../CHANGELOG.md:4198 -msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +#: ../../../CHANGELOG.md:4197 +msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." msgstr "" #: ../../../CHANGELOG.md:4200 -msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgid "2018-11-23" msgstr "" -#: ../../../CHANGELOG.md:4203 -msgid "2018-08-20" +#: ../../../CHANGELOG.md:4202 +msgid "Support for controlling public registration and room auto-join" msgstr "" -#: ../../../CHANGELOG.md:4205 -msgid "Matrix Synapse rate limit control variables" +#: ../../../CHANGELOG.md:4204 +msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." msgstr "" -#: ../../../CHANGELOG.md:4207 -msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +#: ../../../CHANGELOG.md:4206 +msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." msgstr "" -#: ../../../CHANGELOG.md:4214 -msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +#: ../../../CHANGELOG.md:4208 +msgid "Support for changing the welcome user ID (welcome bot)" msgstr "" -#: ../../../CHANGELOG.md:4216 -msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +#: ../../../CHANGELOG.md:4210 +msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable." msgstr "" -#: ../../../CHANGELOG.md:4218 -msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +#: ../../../CHANGELOG.md:4213 +msgid "2018-11-14" msgstr "" -#: ../../../CHANGELOG.md:4221 -msgid "2018-08-17" +#: ../../../CHANGELOG.md:4215 +msgid "Ability to set Synapse log levels" msgstr "" -#: ../../../CHANGELOG.md:4223 -msgid "REST auth support via matrix-synapse-rest-auth" +#: ../../../CHANGELOG.md:4217 +msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." msgstr "" -#: ../../../CHANGELOG.md:4225 -msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +#: ../../../CHANGELOG.md:4219 +msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels" msgstr "" -#: ../../../CHANGELOG.md:4227 -msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +#: ../../../CHANGELOG.md:4228 +msgid "2018-11-03" msgstr "" -#: ../../../CHANGELOG.md:4229 -msgid "Compression improvements" +#: ../../../CHANGELOG.md:4230 +msgid "Customize parts of Riot's config" msgstr "" -#: ../../../CHANGELOG.md:4231 -msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." -msgstr "" - -#: ../../../CHANGELOG.md:4234 -msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." -msgstr "" - -#: ../../../CHANGELOG.md:4237 -msgid "Disabling some unnecessary Synapse services" -msgstr "" - -#: ../../../CHANGELOG.md:4239 -msgid "The following services are not necessary, so they have been disabled:" -msgstr "" - -#: ../../../CHANGELOG.md:4240 -msgid "on the federation port (8448): the `client` service" -msgstr "" - -#: ../../../CHANGELOG.md:4241 -msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +#: ../../../CHANGELOG.md:4232 +msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:" msgstr "" #: ../../../CHANGELOG.md:4243 -msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:" msgstr "" -#: ../../../CHANGELOG.md:4246 -msgid "2018-08-15" +#: ../../../CHANGELOG.md:4252 +msgid "SSL protocols used to serve Riot and Synapse" msgstr "" -#: ../../../CHANGELOG.md:4248 -msgid "mxisd Identity Server support" +#: ../../../CHANGELOG.md:4254 +msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse." msgstr "" -#: ../../../CHANGELOG.md:4250 -msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +#: ../../../CHANGELOG.md:4256 +msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." msgstr "" -#: ../../../CHANGELOG.md:4253 -msgid "2018-08-14" +#: ../../../CHANGELOG.md:4258 +msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details." msgstr "" -#: ../../../CHANGELOG.md:4255 -msgid "Email-sending support" +#: ../../../CHANGELOG.md:4261 +msgid "2018-11-01" msgstr "" -#: ../../../CHANGELOG.md:4257 -msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +#: ../../../CHANGELOG.md:4263 +msgid "Postgres 11 support" msgstr "" -#: ../../../CHANGELOG.md:4259 -msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +#: ../../../CHANGELOG.md:4265 +msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." msgstr "" -#: ../../../CHANGELOG.md:4262 -msgid "2018-08-08" -msgstr "" - -#: ../../../CHANGELOG.md:4268 -msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +#: ../../../CHANGELOG.md:4267 +msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)." msgstr "" #: ../../../CHANGELOG.md:4269 -msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" -msgstr "" - -#: ../../../CHANGELOG.md:4270 -msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +#: ../../../CHANGELOG.md:4356 +#: ../../../CHANGELOG.md:4476 +msgid "(BC Break) Renaming playbook variables" msgstr "" #: ../../../CHANGELOG.md:4271 -msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" -msgstr "" - -#: ../../../CHANGELOG.md:4272 -msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" -msgstr "" - -#: ../../../CHANGELOG.md:4273 -msgid "from `docker_riot_image` to `matrix_docker_image_riot`" -msgstr "" - -#: ../../../CHANGELOG.md:4274 -msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit." msgstr "" #: ../../../CHANGELOG.md:4275 -msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4276 +msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4277 -msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4278 +msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4279 -msgid "Renaming Ansible playbook tag" +msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4280 +msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4281 -msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4282 +msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4283 -msgid "Docker container linking" +msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4284 +msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" msgstr "" #: ../../../CHANGELOG.md:4285 +msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgstr "" + +#: ../../../CHANGELOG.md:4286 +msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +msgstr "" + +#: ../../../CHANGELOG.md:4289 +msgid "2018-10-26" +msgstr "" + +#: ../../../CHANGELOG.md:4291 +msgid "Mautrix Whatsapp bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4293 +msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4295 +msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4298 +msgid "2018-10-25" +msgstr "" + +#: ../../../CHANGELOG.md:4300 +msgid "Support for controlling Matrix federation" +msgstr "" + +#: ../../../CHANGELOG.md:4302 +msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server." +msgstr "" + +#: ../../../CHANGELOG.md:4305 +msgid "2018-10-24" +msgstr "" + +#: ../../../CHANGELOG.md:4307 +msgid "Disabling riot-web guests" +msgstr "" + +#: ../../../CHANGELOG.md:4309 +msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI." +msgstr "" + +#: ../../../CHANGELOG.md:4312 +msgid "2018-10-21" +msgstr "" + +#: ../../../CHANGELOG.md:4314 +msgid "Self-check maintenance command" +msgstr "" + +#: ../../../CHANGELOG.md:4316 +msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)." +msgstr "" + +#: ../../../CHANGELOG.md:4319 +msgid "2018-10-05" +msgstr "" + +#: ../../../CHANGELOG.md:4321 +msgid "Presence tracking made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4323 +msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)." +msgstr "" + +#: ../../../CHANGELOG.md:4325 +msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +msgstr "" + +#: ../../../CHANGELOG.md:4328 +msgid "2018-09-27" +msgstr "" + +#: ../../../CHANGELOG.md:4330 +msgid "Synapse Cache Factor made configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4332 +msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)." +msgstr "" + +#: ../../../CHANGELOG.md:4334 +msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram" +msgstr "" + +#: ../../../CHANGELOG.md:4337 +msgid "2018-09-26" +msgstr "" + +#: ../../../CHANGELOG.md:4339 +msgid "Disabling Docker container logging" +msgstr "" + +#: ../../../CHANGELOG.md:4341 +msgid "`--log-driver=none` is used for all Docker containers now." +msgstr "" + +#: ../../../CHANGELOG.md:4343 +msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart." +msgstr "" + +#: ../../../CHANGELOG.md:4345 +msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs." +msgstr "" + +#: ../../../CHANGELOG.md:4348 +msgid "2018-09-17" +msgstr "" + +#: ../../../CHANGELOG.md:4350 +msgid "Service discovery support" +msgstr "" + +#: ../../../CHANGELOG.md:4352 +msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file." +msgstr "" + +#: ../../../CHANGELOG.md:4354 +msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4360 +msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +msgstr "" + +#: ../../../CHANGELOG.md:4361 +msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +msgstr "" + +#: ../../../CHANGELOG.md:4364 +msgid "2018-09-07" +msgstr "" + +#: ../../../CHANGELOG.md:4366 +msgid "Mautrix Telegram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4368 +msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)." +msgstr "" + +#: ../../../CHANGELOG.md:4370 +msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4372 +msgid "Events cache size increase and configurability for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4374 +msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable." +msgstr "" + +#: ../../../CHANGELOG.md:4376 +msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgstr "" + +#: ../../../CHANGELOG.md:4378 +msgid "Password-peppering support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4380 +msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords." +msgstr "" + +#: ../../../CHANGELOG.md:4382 +msgid "Statistics-reporting support for Matrix Synapse" +msgstr "" + +#: ../../../CHANGELOG.md:4384 +msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy." +msgstr "" + +#: ../../../CHANGELOG.md:4386 +msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting." +msgstr "" + +#: ../../../CHANGELOG.md:4389 +msgid "2018-08-29" +msgstr "" + +#: ../../../CHANGELOG.md:4391 +msgid "Changing the way SSL certificates are retrieved" +msgstr "" + +#: ../../../CHANGELOG.md:4393 +msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now." +msgstr "" + +#: ../../../CHANGELOG.md:4395 +msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)." +msgstr "" + +#: ../../../CHANGELOG.md:4397 +msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:" +msgstr "" + +#: ../../../CHANGELOG.md:4399 +msgid "`systemctl stop 'matrix*'`" +msgstr "" + +#: ../../../CHANGELOG.md:4400 +msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)" +msgstr "" + +#: ../../../CHANGELOG.md:4401 +msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4402 +msgid "re-run the playbook's [installation](docs/installing.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4403 +msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4406 +msgid "2018-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:4408 +msgid "Matrix Corporal support" +msgstr "" + +#: ../../../CHANGELOG.md:4410 +msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4412 +msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4415 +msgid "2018-08-20" +msgstr "" + +#: ../../../CHANGELOG.md:4417 +msgid "Matrix Synapse rate limit control variables" +msgstr "" + +#: ../../../CHANGELOG.md:4419 +msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgstr "" + +#: ../../../CHANGELOG.md:4426 +msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4428 +msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4430 +msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4433 +msgid "2018-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:4435 +msgid "REST auth support via matrix-synapse-rest-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4437 +msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4439 +msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4441 +msgid "Compression improvements" +msgstr "" + +#: ../../../CHANGELOG.md:4443 +msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it." +msgstr "" + +#: ../../../CHANGELOG.md:4446 +msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB." +msgstr "" + +#: ../../../CHANGELOG.md:4449 +msgid "Disabling some unnecessary Synapse services" +msgstr "" + +#: ../../../CHANGELOG.md:4451 +msgid "The following services are not necessary, so they have been disabled:" +msgstr "" + +#: ../../../CHANGELOG.md:4452 +msgid "on the federation port (8448): the `client` service" +msgstr "" + +#: ../../../CHANGELOG.md:4453 +msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgstr "" + +#: ../../../CHANGELOG.md:4455 +msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgstr "" + +#: ../../../CHANGELOG.md:4458 +msgid "2018-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:4460 +msgid "mxisd Identity Server support" +msgstr "" + +#: ../../../CHANGELOG.md:4462 +msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4465 +msgid "2018-08-14" +msgstr "" + +#: ../../../CHANGELOG.md:4467 +msgid "Email-sending support" +msgstr "" + +#: ../../../CHANGELOG.md:4469 +msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4471 +msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgstr "" + +#: ../../../CHANGELOG.md:4474 +msgid "2018-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:4480 +msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4481 +msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4482 +msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgstr "" + +#: ../../../CHANGELOG.md:4483 +msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgstr "" + +#: ../../../CHANGELOG.md:4484 +msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgstr "" + +#: ../../../CHANGELOG.md:4485 +msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:4486 +msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgstr "" + +#: ../../../CHANGELOG.md:4487 +msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgstr "" + +#: ../../../CHANGELOG.md:4489 +msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names." +msgstr "" + +#: ../../../CHANGELOG.md:4491 +msgid "Renaming Ansible playbook tag" +msgstr "" + +#: ../../../CHANGELOG.md:4493 +msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgstr "" + +#: ../../../CHANGELOG.md:4495 +msgid "Docker container linking" +msgstr "" + +#: ../../../CHANGELOG.md:4497 msgid "Changed the way the Docker containers are linked together. The ones that need to communicate with others operate in a `matrix` network now and not in the default bridge network." msgstr "" diff --git a/i18n/translation-templates/README.pot b/i18n/translation-templates/README.pot index f227a234d..172af4c3f 100644 --- a/i18n/translation-templates/README.pot +++ b/i18n/translation-templates/README.pot @@ -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-04-03 11:59+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -244,6 +244,14 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-cinny.md)" msgstr "" +#: ../../../README.md:0 +msgid "[Sable](https://github.com/7w1/sable)" +msgstr "" + +#: ../../../README.md:0 +msgid "[Link](docs/configuring-playbook-client-sable.md)" +msgstr "" + #: ../../../README.md:0 msgid "[SchildiChat Web](https://schildi.chat/)" msgstr "" @@ -268,11 +276,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-client-fluffychat-web.md)" msgstr "" -#: ../../../README.md:70 +#: ../../../README.md:71 msgid "Server Components" msgstr "" -#: ../../../README.md:72 +#: ../../../README.md:73 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -288,18 +296,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-external-postgres.md)" msgstr "" -#: ../../../README.md:0 -msgid "[coturn](https://github.com/coturn/coturn)" -msgstr "" - -#: ../../../README.md:0 -msgid "STUN/TURN server for WebRTC audio/video calls" -msgstr "" - -#: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-turn.md)" -msgstr "" - #: ../../../README.md:0 msgid "[Traefik](https://doc.traefik.io/traefik/)" msgstr "" @@ -336,6 +332,18 @@ msgstr "" msgid "[Link](docs/configuring-playbook-email.md)" msgstr "" +#: ../../../README.md:0 +msgid "[coturn](https://github.com/coturn/coturn)" +msgstr "" + +#: ../../../README.md:0 +msgid "STUN/TURN server for WebRTC audio/video calls" +msgstr "" + +#: ../../../README.md:0 +msgid "[Link](docs/configuring-playbook-turn.md)" +msgstr "" + #: ../../../README.md:0 msgid "[ddclient](https://github.com/linuxserver/docker-ddclient)" msgstr "" @@ -349,27 +357,15 @@ msgid "[Link](docs/configuring-playbook-dynamic-dns.md)" msgstr "" #: ../../../README.md:0 -msgid "[LiveKit Server](https://github.com/livekit/livekit)" +msgid "Matrix RTC stack" msgstr "" #: ../../../README.md:0 -msgid "WebRTC server for audio/video calls" +msgid "Supporting components ([LiveKit Server](docs/configuring-playbook-livekit-server.md) and [LiveKit JWT Service](docs/configuring-playbook-livekit-jwt-service.md)) for in-app audio/video calls for Matrix clients" msgstr "" #: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-livekit-server.md)" -msgstr "" - -#: ../../../README.md:0 -msgid "[Livekit JWT Service](https://github.com/livekit/livekit-jwt-service)" -msgstr "" - -#: ../../../README.md:0 -msgid "JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md)" -msgstr "" - -#: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-livekit-jwt-service.md)" +msgid "[Link](docs/configuring-playbook-matrix-rtc.md)" msgstr "" #: ../../../README.md:85 @@ -692,14 +688,6 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-appservice-discord.md)" msgstr "" -#: ../../../README.md:0 -msgid "[matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack)" -msgstr "" - -#: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - #: ../../../README.md:0 msgid "[matrix-hookshot](https://github.com/matrix-org/matrix-hookshot)" msgstr "" @@ -796,11 +784,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bridge-postmoogle.md)" msgstr "" -#: ../../../README.md:140 +#: ../../../README.md:139 msgid "Bots" msgstr "" -#: ../../../README.md:142 +#: ../../../README.md:141 msgid "Bots provide various additional functionality to your installation." msgstr "" @@ -900,11 +888,11 @@ msgstr "" msgid "[Link](docs/configuring-playbook-bot-buscarron.md)" msgstr "" -#: ../../../README.md:155 +#: ../../../README.md:154 msgid "Administration" msgstr "" -#: ../../../README.md:157 +#: ../../../README.md:156 msgid "Services that help you in administrating and monitoring your Matrix installation." msgstr "" @@ -933,15 +921,15 @@ msgid "[Link](docs/configuring-playbook-matrix-authentication-service.md)" msgstr "" #: ../../../README.md:0 -msgid "[synapse-admin](https://github.com/etkecc/synapse-admin)" +msgid "[Ketesa](https://github.com/etkecc/ketesa)" msgstr "" #: ../../../README.md:0 -msgid "Web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-synapse-admin.md)" +msgid "[Link](docs/configuring-playbook-ketesa.md)" msgstr "" #: ../../../README.md:0 @@ -992,26 +980,14 @@ msgstr "" msgid "[Link](docs/configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../README.md:169 +#: ../../../README.md:168 msgid "Misc" msgstr "" -#: ../../../README.md:171 +#: ../../../README.md:170 msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../README.md:0 -msgid "[synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite)" -msgstr "" - -#: ../../../README.md:0 -msgid "Synapse module to automatically accept invites" -msgstr "" - -#: ../../../README.md:0 -msgid "[Link](docs/configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - #: ../../../README.md:0 msgid "[synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor)" msgstr "" @@ -1132,54 +1108,54 @@ msgstr "" msgid "[Link](docs/configuring-playbook-element-call.md)" msgstr "" -#: ../../../README.md:187 +#: ../../../README.md:185 msgid "🆕 Changes" msgstr "" -#: ../../../README.md:189 +#: ../../../README.md:187 msgid "This playbook evolves over time, sometimes with backward-incompatible changes." msgstr "" -#: ../../../README.md:191 +#: ../../../README.md:189 msgid "When updating the playbook, refer to [the changelog](CHANGELOG.md) to catch up with what's new." msgstr "" -#: ../../../README.md:193 +#: ../../../README.md:191 msgid "🆘 Support" msgstr "" -#: ../../../README.md:195 +#: ../../../README.md:193 msgid "Matrix room: [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com)" msgstr "" -#: ../../../README.md:197 +#: ../../../README.md:195 msgid "IRC channel: `#matrix-docker-ansible-deploy` on the [Libera Chat](https://libera.chat/) IRC network (irc.libera.chat:6697)" msgstr "" -#: ../../../README.md:199 +#: ../../../README.md:197 msgid "GitHub issues: [spantaleev/matrix-docker-ansible-deploy/issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues)" msgstr "" -#: ../../../README.md:201 +#: ../../../README.md:199 msgid "🌐 Translation" msgstr "" -#: ../../../README.md:203 +#: ../../../README.md:201 msgid "See the [i18n/README.md](i18n/README.md) file for more information about translation." msgstr "" -#: ../../../README.md:205 +#: ../../../README.md:203 msgid "Translations are still work in progress." msgstr "" -#: ../../../README.md:207 +#: ../../../README.md:205 msgid "🤝 Related" msgstr "" -#: ../../../README.md:209 +#: ../../../README.md:207 msgid "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))." msgstr "" -#: ../../../README.md:211 +#: ../../../README.md:209 msgid "mash-playbook also makes use of [Traefik](./docs/configuring-playbook-traefik.md) as its reverse-proxy, so with minor [interoperability adjustments](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md), you can make matrix-docker-ansible-deploy and mash-playbook co-exist and host Matrix and non-Matrix services on the same server." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-baibot.pot b/i18n/translation-templates/docs/configuring-playbook-bot-baibot.pot index 45ad5a2d6..3dca3ec83 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-baibot.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-baibot.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,369 +80,393 @@ msgstr "" msgid "To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:78 +#: ../../../docs/configuring-playbook-bot-baibot.md:42 +msgid "Authentication can be configured in one of two mutually-exclusive ways:" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:44 +msgid "**Password authentication** (`matrix_bot_baibot_config_user_password`) - recommended for most playbook-managed setups, because it integrates with automatic user creation flow used by the playbook, and auto-creates the bot account" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:45 +msgid "**Access-token authentication** (`matrix_bot_baibot_config_user_access_token` + `matrix_bot_baibot_config_user_device_id`) - useful for specific [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md)/OIDC setups where password authentication is not available or not desired" +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:47 +msgid "Even when [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) is enabled, password authentication is still typically the best fit for baibot if you're using a playbook-managed bot account." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:49 +msgid "For upstream details, see baibot's [🔐 Authentication](https://github.com/etkecc/baibot/blob/main/docs/configuration/authentication.md) documentation." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:97 msgid "As mentioned above, **this may not be enough**. Continue with the configuration sections below." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:80 +#: ../../../docs/configuring-playbook-bot-baibot.md:99 msgid "👮‍♂️ Administrator configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:82 -#: ../../../docs/configuring-playbook-bot-baibot.md:106 +#: ../../../docs/configuring-playbook-bot-baibot.md:101 +#: ../../../docs/configuring-playbook-bot-baibot.md:125 msgid "This is an addition to the [base configuration](#base-configuration)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:84 +#: ../../../docs/configuring-playbook-bot-baibot.md:103 msgid "To specify who is considered a bot [👮‍♂️ Administrator](https://github.com/etkecc/baibot/blob/main/docs/access.md#administrators), you either need to specify `matrix_bot_baibot_config_access_admin_patterns` or `matrix_admin`. The latter is a single variable which affects all bridges and bots." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:86 +#: ../../../docs/configuring-playbook-bot-baibot.md:105 msgid "If `matrix_admin` is already configured in your `vars.yml` configuration, you can skip this section." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:88 -#: ../../../docs/configuring-playbook-bot-baibot.md:117 +#: ../../../docs/configuring-playbook-bot-baibot.md:107 +#: ../../../docs/configuring-playbook-bot-baibot.md:136 msgid "**If necessary**, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:102 +#: ../../../docs/configuring-playbook-bot-baibot.md:121 msgid "👥 Initial users configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:104 +#: ../../../docs/configuring-playbook-bot-baibot.md:123 msgid "By default, **all users on your homeserver are considered allowed users**. If that's OK, you can skip this section." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:108 +#: ../../../docs/configuring-playbook-bot-baibot.md:127 msgid "To specify who is considered a bot [👥 User](https://github.com/etkecc/baibot/blob/main/docs/access.md#user), you may:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:110 +#: ../../../docs/configuring-playbook-bot-baibot.md:129 msgid "define an **initial** value for `matrix_bot_baibot_config_initial_global_config_user_patterns` Ansible variable, as shown below" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:111 +#: ../../../docs/configuring-playbook-bot-baibot.md:130 msgid "configure the list at runtime via the bot's `!bai access set-users SPACE_SEPARATED_PATTERNS` command" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:113 +#: ../../../docs/configuring-playbook-bot-baibot.md:132 msgid "Configuring `matrix_bot_baibot_config_initial_global_config_user_patterns` is optional, but it can be useful to pre-configure the bot with a list of users who should have access to the bot's features." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:115 +#: ../../../docs/configuring-playbook-bot-baibot.md:134 msgid "**Note**: Once initially configured, the allowed users list **cannot be managed via Ansible anymore**. It can only be managed subsequently via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:129 +#: ../../../docs/configuring-playbook-bot-baibot.md:148 msgid "🤖 Configuring agents via Ansible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:131 +#: ../../../docs/configuring-playbook-bot-baibot.md:150 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:133 +#: ../../../docs/configuring-playbook-bot-baibot.md:152 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:135 +#: ../../../docs/configuring-playbook-bot-baibot.md:154 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:137 +#: ../../../docs/configuring-playbook-bot-baibot.md:156 msgid "Besides the presets, the Ansible role also includes support for configuring additional statically-defined agents via the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:139 +#: ../../../docs/configuring-playbook-bot-baibot.md:158 msgid "Agents defined statically and those created dynamically (via chat) are named differently, so **conflict cannot arise**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:141 +#: ../../../docs/configuring-playbook-bot-baibot.md:160 msgid "Depending on your propensity for [GitOps](https://en.wikipedia.org/wiki/DevOps#GitOps), you may prefer to define agents statically via Ansible, or you may wish to do it dynamically via chat." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:143 +#: ../../../docs/configuring-playbook-bot-baibot.md:162 msgid "Before proceeding, we recommend reading the upstream documentation on [How to choose a provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#how-to-choose-a-provider). In short, it's probably best to go with [OpenAI](#openai)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:145 +#: ../../../docs/configuring-playbook-bot-baibot.md:164 msgid "Anthropic" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:147 +#: ../../../docs/configuring-playbook-bot-baibot.md:166 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Anthropic provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#anthropic) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:149 -#: ../../../docs/configuring-playbook-bot-baibot.md:173 -#: ../../../docs/configuring-playbook-bot-baibot.md:204 -#: ../../../docs/configuring-playbook-bot-baibot.md:232 +#: ../../../docs/configuring-playbook-bot-baibot.md:168 +#: ../../../docs/configuring-playbook-bot-baibot.md:192 +#: ../../../docs/configuring-playbook-bot-baibot.md:223 +#: ../../../docs/configuring-playbook-bot-baibot.md:251 msgid "Here's an example **addition** to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:165 -#: ../../../docs/configuring-playbook-bot-baibot.md:196 -#: ../../../docs/configuring-playbook-bot-baibot.md:222 -#: ../../../docs/configuring-playbook-bot-baibot.md:256 +#: ../../../docs/configuring-playbook-bot-baibot.md:184 +#: ../../../docs/configuring-playbook-bot-baibot.md:215 +#: ../../../docs/configuring-playbook-bot-baibot.md:241 +#: ../../../docs/configuring-playbook-bot-baibot.md:275 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:167 -#: ../../../docs/configuring-playbook-bot-baibot.md:198 -#: ../../../docs/configuring-playbook-bot-baibot.md:224 -#: ../../../docs/configuring-playbook-bot-baibot.md:258 +#: ../../../docs/configuring-playbook-bot-baibot.md:186 +#: ../../../docs/configuring-playbook-bot-baibot.md:217 +#: ../../../docs/configuring-playbook-bot-baibot.md:243 +#: ../../../docs/configuring-playbook-bot-baibot.md:277 msgid "💡 You may also wish to use this new agent for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:169 +#: ../../../docs/configuring-playbook-bot-baibot.md:188 msgid "Groq" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:171 +#: ../../../docs/configuring-playbook-bot-baibot.md:190 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [Groq provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#groq) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:194 +#: ../../../docs/configuring-playbook-bot-baibot.md:213 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:200 +#: ../../../docs/configuring-playbook-bot-baibot.md:219 msgid "Mistral" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:202 +#: ../../../docs/configuring-playbook-bot-baibot.md:221 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [🇫🇷 Mistral provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#mistral) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:220 +#: ../../../docs/configuring-playbook-bot-baibot.md:239 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:226 +#: ../../../docs/configuring-playbook-bot-baibot.md:245 msgid "OpenAI" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:228 +#: ../../../docs/configuring-playbook-bot-baibot.md:247 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:230 +#: ../../../docs/configuring-playbook-bot-baibot.md:249 msgid "The OpenAI provider is **only meant to be used with OpenAI's official API** and compatibility with other services (which do not fully adhere to the OpenAI API spec completely) is limited. **If you're targeting an OpenAI-compatible service**, use the [OpenAI Compatible](#openai-compatible) provider instead." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:254 +#: ../../../docs/configuring-playbook-bot-baibot.md:273 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:260 +#: ../../../docs/configuring-playbook-bot-baibot.md:279 msgid "OpenAI Compatible" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:262 +#: ../../../docs/configuring-playbook-bot-baibot.md:281 msgid "You can statically-define a single [🤖 agent](https://github.com/etkecc/baibot/blob/main/docs/agents.md) instance powered by the [OpenAI Compatible provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai-compatible) with the help of the playbook's preset variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:264 +#: ../../../docs/configuring-playbook-bot-baibot.md:283 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:266 +#: ../../../docs/configuring-playbook-bot-baibot.md:285 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:268 +#: ../../../docs/configuring-playbook-bot-baibot.md:287 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:270 +#: ../../../docs/configuring-playbook-bot-baibot.md:289 msgid "Configuring additional agents (without a preset)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:272 +#: ../../../docs/configuring-playbook-bot-baibot.md:291 msgid "The Ansible role may be lacking preset variables for some [☁️ provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md), or you may wish to statically-define an agent on the same provider twice (or more) with different configuration." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:274 +#: ../../../docs/configuring-playbook-bot-baibot.md:293 msgid "It's possible to inject your own agent configuration using the `matrix_bot_baibot_config_agents_static_definitions_custom` Ansible variable." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:276 +#: ../../../docs/configuring-playbook-bot-baibot.md:295 msgid "You can also define providers at runtime, by chatting with the bot, so using Ansible is not a requirement." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:278 +#: ../../../docs/configuring-playbook-bot-baibot.md:297 msgid "Below is an an **example** demonstrating **statically-defining agents via Ansible without using presets**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:317 +#: ../../../docs/configuring-playbook-bot-baibot.md:336 msgid "Because these are [statically](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md#static-configuration)-defined agents, they will be given a `static/` ID prefix and will be named `static/my-openai-gpt-3.5-turbo-agent` and `static/my-ollama-agent`, respectively." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:319 +#: ../../../docs/configuring-playbook-bot-baibot.md:338 msgid "💡 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**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:321 +#: ../../../docs/configuring-playbook-bot-baibot.md:340 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:323 +#: ../../../docs/configuring-playbook-bot-baibot.md:342 msgid "💡 You may also wish to use these new agents for [🤝 Configuring initial default handlers](#-configuring-initial-default-handlers)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:325 +#: ../../../docs/configuring-playbook-bot-baibot.md:344 msgid "🤝 Configuring initial default handlers" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:327 +#: ../../../docs/configuring-playbook-bot-baibot.md:346 msgid "This section is only useful if you're [🤖 Configuring agents via Ansible](#-configuring-agents-via-ansible), as it lets you put these agents to use as soon as the bot starts (by adjusting the bot's **initial global configuration**)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:329 +#: ../../../docs/configuring-playbook-bot-baibot.md:348 msgid "If you're not configuring agents via Ansible, you can skip this section." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:331 +#: ../../../docs/configuring-playbook-bot-baibot.md:350 msgid "This section is only useful the first time around. **Once initially configured the global configuration cannot be managed Ansible**, but only via bot commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:333 +#: ../../../docs/configuring-playbook-bot-baibot.md:352 msgid "baibot supports [various purposes](https://github.com/etkecc/baibot/blob/main/docs/features.md):" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:335 +#: ../../../docs/configuring-playbook-bot-baibot.md:354 msgid "[💬 text-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-generation): communicating with you via text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:337 +#: ../../../docs/configuring-playbook-bot-baibot.md:356 msgid "[🦻 speech-to-text](https://github.com/etkecc/baibot/blob/main/docs/features.md#-speech-to-text): turning your voice messages into text" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:339 +#: ../../../docs/configuring-playbook-bot-baibot.md:358 msgid "[🗣️ text-to-speech](https://github.com/etkecc/baibot/blob/main/docs/features.md#-text-to-speech): turning bot or users text messages into voice messages" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:341 +#: ../../../docs/configuring-playbook-bot-baibot.md:360 msgid "[🖌️ image-generation](https://github.com/etkecc/baibot/blob/main/docs/features.md#-image-generation): generating images based on instructions" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:343 +#: ../../../docs/configuring-playbook-bot-baibot.md:362 msgid "❓ catch-all: special purposes, indicating use as a fallback (when no specific handler is configured)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:345 +#: ../../../docs/configuring-playbook-bot-baibot.md:364 msgid "[Mixing & matching models](https://github.com/etkecc/baibot/blob/main/docs/features.md#mixing--matching-models) is made possible by the bot's ability to have different [🤝 handlers](https://github.com/etkecc/baibot/blob/main/docs/configuration/handlers.md) configured for different purposes." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:347 +#: ../../../docs/configuring-playbook-bot-baibot.md:366 msgid "This configuration can be done as a global fallback, or per-room. Both of these [🛠️ configurations](https://github.com/etkecc/baibot/blob/main/docs/configuration/README.md) are managed at runtime (viat chat), but **the global configuration can have some initial defaults configured via Ansible**." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:349 +#: ../../../docs/configuring-playbook-bot-baibot.md:368 msgid "You can configure the **initial values** for these via Ansible, via the `matrix_bot_baibot_config_initial_global_config_handler_*` variables." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:351 +#: ../../../docs/configuring-playbook-bot-baibot.md:370 msgid "Example **additional** `vars.yml` configuration:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:368 +#: ../../../docs/configuring-playbook-bot-baibot.md:387 msgid "**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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:370 +#: ../../../docs/configuring-playbook-bot-baibot.md:389 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:372 +#: ../../../docs/configuring-playbook-bot-baibot.md:391 msgid "There are some additional things you may wish to configure about the bot." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:374 +#: ../../../docs/configuring-playbook-bot-baibot.md:393 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:376 +#: ../../../docs/configuring-playbook-bot-baibot.md:395 msgid "`roles/custom/matrix-bot-baibot/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:377 +#: ../../../docs/configuring-playbook-bot-baibot.md:396 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:379 +#: ../../../docs/configuring-playbook-bot-baibot.md:398 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:381 +#: ../../../docs/configuring-playbook-bot-baibot.md:400 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:388 +#: ../../../docs/configuring-playbook-bot-baibot.md:407 msgid "**Notes**:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:390 -msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account." +#: ../../../docs/configuring-playbook-bot-baibot.md:409 +msgid "The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account when password authentication is used." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:392 +#: ../../../docs/configuring-playbook-bot-baibot.md:411 +msgid "If you're using access-token authentication, the bot account must already exist and the configured token + device ID must match that account. This mode is mainly for MAS/OIDC setups where password-based bot login is not suitable." +msgstr "" + +#: ../../../docs/configuring-playbook-bot-baibot.md:413 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:394 +#: ../../../docs/configuring-playbook-bot-baibot.md:415 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:396 -msgid "If you change the bot password (`matrix_bot_baibot_config_user_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_baibot_config_user_password` to let the bot know its new password." +#: ../../../docs/configuring-playbook-bot-baibot.md:417 +msgid "If you change the bot password (`matrix_bot_baibot_config_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_baibot_config_user_password` to let the bot know its new password. (This note applies to password authentication mode.)" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:398 +#: ../../../docs/configuring-playbook-bot-baibot.md:419 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:400 +#: ../../../docs/configuring-playbook-bot-baibot.md:421 msgid "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)." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:402 +#: ../../../docs/configuring-playbook-bot-baibot.md:423 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:404 +#: ../../../docs/configuring-playbook-bot-baibot.md:425 msgid "After joining, the bot will introduce itself and show information about the [✨ features](https://github.com/etkecc/baibot/blob/main/docs/features.md) that are enabled for it." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:406 +#: ../../../docs/configuring-playbook-bot-baibot.md:427 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:408 +#: ../../../docs/configuring-playbook-bot-baibot.md:429 msgid "Send `!bai help` to the bot in the room to see the available commands." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:410 +#: ../../../docs/configuring-playbook-bot-baibot.md:431 msgid "You can also refer to the upstream [baibot](https://github.com/etkecc/baibot) project's documentation." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:412 +#: ../../../docs/configuring-playbook-bot-baibot.md:433 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:414 +#: ../../../docs/configuring-playbook-bot-baibot.md:435 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:416 +#: ../../../docs/configuring-playbook-bot-baibot.md:437 msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:418 +#: ../../../docs/configuring-playbook-bot-baibot.md:439 msgid "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:" msgstr "" -#: ../../../docs/configuring-playbook-bot-baibot.md:432 +#: ../../../docs/configuring-playbook-bot-baibot.md:453 msgid "**Alternatively**, you can use a single variable to set the logging level for all of the above (bot + all libraries):" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-buscarron.pot b/i18n/translation-templates/docs/configuring-playbook-bot-buscarron.pot index 40217a6e4..cf3ece3a3 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-buscarron.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-buscarron.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,7 +113,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-buscarron.md:92 -msgid "If you change the bot password (`matrix_bot_buscarron_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_buscarron_password` to let the bot know its new password." +msgid "If you change the bot password (`matrix_bot_buscarron_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_buscarron_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-buscarron.md:94 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-draupnir.pot b/i18n/translation-templates/docs/configuring-playbook-bot-draupnir.pot index 6c7526f37..23c551d16 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-draupnir.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-draupnir.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -145,7 +145,7 @@ msgid "**Note**: access to the APIs is restricted with a valid access token, so msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:105 -msgid "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)." +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:107 @@ -282,7 +282,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:215 -msgid "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." +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_draupnir_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-draupnir.md:217 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-honoroit.pot b/i18n/translation-templates/docs/configuring-playbook-bot-honoroit.pot index f3e5e721d..e39060913 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-honoroit.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-honoroit.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,7 +113,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-honoroit.md:81 -msgid "If you change the bot password (`matrix_bot_honoroit_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_honoroit_password` to let the bot know its new password." +msgid "If you change the bot password (`matrix_bot_honoroit_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_honoroit_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-honoroit.md:83 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-matrix-registration-bot.pot b/i18n/translation-templates/docs/configuring-playbook-bot-matrix-registration-bot.pot index 82ca81a49..abb5b2953 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-matrix-registration-bot.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-matrix-registration-bot.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -89,7 +89,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:74 -msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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_matrix_registration_bot_bot_password` to let the bot know its new password." +msgid "If you change the bot password (`matrix_bot_matrix_registration_bot_bot_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_registration_bot_bot_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-registration-bot.md:76 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-matrix-reminder-bot.pot b/i18n/translation-templates/docs/configuring-playbook-bot-matrix-reminder-bot.pot index 1ebc7031f..efb610d47 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-matrix-reminder-bot.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-matrix-reminder-bot.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,7 +85,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:60 -msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." +msgid "If you change the bot password (`matrix_bot_matrix_reminder_bot_matrix_user_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_matrix_reminder_bot_matrix_user_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-matrix-reminder-bot.md:62 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-maubot.pot b/i18n/translation-templates/docs/configuring-playbook-bot-maubot.pot index a9f8d01cc..1dce0db79 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-maubot.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-maubot.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -138,7 +138,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-maubot.md:106 -msgid "If you change the bot password (`matrix_bot_maubot_initial_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_maubot_initial_password` to let the bot know its new password." +msgid "If you change the bot password (`matrix_bot_maubot_initial_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_maubot_initial_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-maubot.md:108 diff --git a/i18n/translation-templates/docs/configuring-playbook-bot-mjolnir.pot b/i18n/translation-templates/docs/configuring-playbook-bot-mjolnir.pot index a270d871b..e693d894f 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bot-mjolnir.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bot-mjolnir.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -82,7 +82,7 @@ msgid "**Note**: access to the APIs is restricted with a valid access token, so msgstr "" #: ../../../docs/configuring-playbook-bot-mjolnir.md:49 -msgid "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)." +msgid "The APIs can also be accessed via [Ketesa](https://github.com/etkecc/ketesa), a web UI tool you can use to administrate users, rooms, media, etc. on your Matrix server. The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" #: ../../../docs/configuring-playbook-bot-mjolnir.md:51 @@ -251,7 +251,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bot-mjolnir.md:201 -msgid "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." +msgid "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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_bot_mjolnir_pantalaimon_password` to let Pantalaimon know its new password." msgstr "" #: ../../../docs/configuring-playbook-bot-mjolnir.md:203 diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot index 760593f05..045b8a359 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-postmoogle.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -189,7 +189,7 @@ msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x f msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:90 -msgid "If you change the bridge's bot password (`matrix_postmoogle_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_postmoogle_password` to let the bot know its new password." +msgid "If you change the bridge's bot password (`matrix_postmoogle_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 [Ketesa](configuring-playbook-ketesa.md) to change it, and then update `matrix_postmoogle_password` to let the bot know its new password." msgstr "" #: ../../../docs/configuring-playbook-bridge-postmoogle.md:92 diff --git a/i18n/translation-templates/docs/configuring-playbook-element-admin.pot b/i18n/translation-templates/docs/configuring-playbook-element-admin.pot index 85129b8cd..8fe9d3633 100644 --- a/i18n/translation-templates/docs/configuring-playbook-element-admin.pot +++ b/i18n/translation-templates/docs/configuring-playbook-element-admin.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,7 +33,7 @@ msgid "See the project's [documentation](https://github.com/element-hq/element-a msgstr "" #: ../../../docs/configuring-playbook-element-admin.md:16 -msgid "💡 **Note**: This project is still very young and doesn't have many features. For now, it's recommended to use [Synapse Admin](./configuring-playbook-synapse-admin.md) instead. Deployments that use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) can use Element Admin for user-management (something that Synapse Admin can't do), while continuing to use Synapse Admin for all other purposes." +msgid "💡 **Note**: This project is still very young and doesn't have many features. [Ketesa](./configuring-playbook-ketesa.md) is the fully-featured alternative — it covers all Synapse and MAS Admin APIs, including complete user management, session management, and MAS policy data. Element Admin remains a valid choice if you prefer its interface." msgstr "" #: ../../../docs/configuring-playbook-element-admin.md:18 diff --git a/i18n/translation-templates/docs/configuring-playbook-ketesa.pot b/i18n/translation-templates/docs/configuring-playbook-ketesa.pot new file mode 100644 index 000000000..0d42f900a --- /dev/null +++ b/i18n/translation-templates/docs/configuring-playbook-ketesa.pot @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members +# This file is distributed under the same license as the matrix-docker-ansible-deploy package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: matrix-docker-ansible-deploy \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-04-03 12:02+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../../docs/configuring-playbook-ketesa.md:14 +msgid "Setting up Ketesa (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:16 +msgid "The playbook can install and configure [Ketesa](https://github.com/etkecc/ketesa) for you." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:18 +msgid "Ketesa is a fully-featured admin interface for Matrix homeservers — manage users, rooms, media, sessions, and more from one clean, responsive web UI. It is the evolution of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin): what began as a fork has grown into its own independent project with a redesigned interface, comprehensive Synapse and MAS API coverage, and multi-language support." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:20 +msgid "[!NOTE]" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:22 +msgid "Ketesa does not work with other homeserver implementations than Synapse due to API's incompatibility." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:23 +msgid "The latest version of Ketesa is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:24 +msgid "This playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). Please note that it's currently less feature-rich than Ketesa and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:26 +msgid "Adjusting DNS records (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:28 +msgid "By default, this playbook installs Ketesa on the `matrix.` subdomain, at the `/synapse-admin` path (https://matrix.example.com/synapse-admin) — the legacy path is kept for backward compatibility. 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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:30 +msgid "If you wish to adjust it, see the section [below](#adjusting-the-ketesa-url-optional) for details about DNS configuration." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:32 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:34 +msgid "To enable Ketesa, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:40 +msgid "**Note**: Ketesa requires Synapse's [Admin APIs](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) to function. Access to them is restricted with a valid access token, so exposing them publicly should not be a real security concern. Still, for additional security, we normally leave them unexposed, following [official Synapse reverse-proxying recommendations](https://element-hq.github.io/synapse/latest/reverse_proxy.html#synapse-administration-endpoints). Because Ketesa needs these APIs to function, when installing Ketesa, the playbook **automatically** exposes the Synapse Admin API publicly for you. Depending on the homeserver implementation you're using (Synapse, Dendrite), this is equivalent to:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:42 +msgid "for [Synapse](./configuring-playbook-synapse.md) (our default homeserver implementation): `matrix_synapse_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:43 +msgid "for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:45 +msgid "By default, Ketesa installation will be [restricted to only work with one homeserver](https://github.com/etkecc/ketesa/blob/main/README.md#restricting-available-homeserver) — the one managed by the playbook. To adjust these restrictions, tweak the `matrix_ketesa_config_restrictBaseUrl` variable." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:47 +msgid "Adjusting the Ketesa URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:49 +msgid "By tweaking the `matrix_ketesa_hostname` and `matrix_ketesa_path_prefix` variables, you can easily make the service available at a **different hostname and/or path** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:51 +msgid "We recommend updating the path prefix to `/ketesa` to align with the new branding, while the default `/synapse-admin` is kept for backward compatibility:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:57 +msgid "Or to change the hostname entirely:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:65 +msgid "If you've changed the default hostname, you may need to create a CNAME record for the Ketesa domain (`admin.example.com`), which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:67 +msgid "When setting, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:69 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:71 +msgid "There are some additional things you may wish to configure about the component." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:73 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:75 +msgid "`roles/custom/matrix-ketesa/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_ketesa_configuration_extension_json` variable" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:77 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:79 +msgid "After configuring the playbook and potentially [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:86 +msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:88 +msgid "`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." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:90 +msgid "Usage" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:92 +msgid "After installation, Ketesa will be accessible at: `https://matrix.example.com/synapse-admin/` (or `/ketesa/` if you updated the path prefix as recommended)" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:94 +msgid "To use Ketesa, you need to have [registered at least one administrator account](registering-users.md) on your server." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:96 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:98 +msgid "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-ketesa`." +msgstr "" + +#: ../../../docs/configuring-playbook-ketesa.md:100 +msgid "If you have questions, you can join this community room and feel free to ask: [#ketesa:etke.cc](https://matrix.to/#/#ketesa:etke.cc)" +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-matrix-authentication-service.pot b/i18n/translation-templates/docs/configuring-playbook-matrix-authentication-service.pot index 9baf8c970..a35e6b8e3 100644 --- a/i18n/translation-templates/docs/configuring-playbook-matrix-authentication-service.pot +++ b/i18n/translation-templates/docs/configuring-playbook-matrix-authentication-service.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -113,7 +113,7 @@ msgid "❌ **Synapse password providers will need to be disabled**. You can no l msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:54 -msgid "❌ Certain **tools like [Synapse Admin](./configuring-playbook-synapse-admin.md) do not have full compatibility with MAS yet**. Synapse Admin already supports OIDC auth, browsing users (which Synapse will internally fetch from MAS) and updating user avatars. However, editing users (passwords, etc.) now needs to happen directly against MAS using the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html), which Synapse Admin cannot interact with yet. You may be interested in using [Element Admin](./configuring-playbook-element-admin.md) for these purposes." +msgid "✅ **[Ketesa](./configuring-playbook-ketesa.md) has full MAS integration**. Ketesa supports OIDC auth, user management, all session types (browser, OAuth2, compatibility), linked email addresses, upstream OAuth provider links, MAS policy data, and user creation through MAS. It is the recommended tool for managing homeservers running MAS." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:56 @@ -514,105 +514,109 @@ msgid "To perform a real migration, run the `matrix-authentication-service-mas-c msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:401 -msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors (e.g. \"Error: The MAS database is not empty: rows found in at least `users`. Please drop and recreate the database, then try again.\")." +msgid "After `syn2mas` completes, Synapse will intentionally remain stopped to avoid new registrations or other authentication changes from being accepted before the migration is completed. Continue with the next steps in this guide before re-running the installation." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:403 -msgid "Verify that Matrix Authentication Service is installed correctly" +msgid "Having performed a `syn2mas` migration once, trying to do it again will report errors (e.g. \"Error: The MAS database is not empty: rows found in at least `users`. Please drop and recreate the database, then try again.\")." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:405 -msgid "After [installation](#installing), run the `doctor` subcommand of the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) to verify that MAS is installed correctly." +msgid "Verify that Matrix Authentication Service is installed correctly" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:407 -msgid "You can do it:" +msgid "After [installation](#installing), run the `doctor` subcommand of the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) to verify that MAS is installed correctly." msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:409 -msgid "either via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag: `just run-tags matrix-authentication-service-mas-cli-doctor`" +msgid "You can do it:" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:411 -msgid "or by running the `mas-cli` script on the server (which invokes the `mas-cli` tool inside a container): `/matrix/matrix-authentication-service/bin/mas-cli doctor`" +msgid "either via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag: `just run-tags matrix-authentication-service-mas-cli-doctor`" msgstr "" #: ../../../docs/configuring-playbook-matrix-authentication-service.md:413 +msgid "or by running the `mas-cli` script on the server (which invokes the `mas-cli` tool inside a container): `/matrix/matrix-authentication-service/bin/mas-cli doctor`" +msgstr "" + +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:415 msgid "If successful, you should see some output that looks like this:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:425 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:427 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:427 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:429 msgid "Management" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:429 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 msgid "You can use the [`mas-cli` command-line tool](https://element-hq.github.io/matrix-authentication-service/reference/cli/index.html) (exposed via the `/matrix/matrix-authentication-service/bin/mas-cli` script) to perform administrative tasks against MAS." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:431 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 msgid "This documentation page already mentions:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:433 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 msgid "the `mas-cli doctor` sub-command in the [Verify that Matrix Authentication Service is installed correctly](#verify-that-matrix-authentication-service-is-installed-correctly) section, which you can run via the CLI and via the Ansible playbook's `matrix-authentication-service-mas-cli-doctor` tag" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:435 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 msgid "the `mas-cli manage register-user` sub-command in the [Registering users](./registering-users.md) documentation" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:437 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 msgid "There are other sub-commands available. Run `/matrix/matrix-authentication-service/bin/mas-cli` to get an overview." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:439 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 msgid "User registration" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:441 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 msgid "After Matrix Authentication Service is [installed](#installing), users need to be managed there (unless you're managing them in an [upstream OAuth2 provider](#upstream-oauth2-configuration))." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:443 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 msgid "You can register users new users as described in the [Registering users](./registering-users.md) documentation (via `mas-cli manage register-user` or the Ansible playbook's `register-user` tag)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:445 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 msgid "Working around email deliverability issues" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:447 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 msgid "Matrix Authentication Service only sends emails when:" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:449 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:451 msgid "it verifies email addresses for users who are self-registering with a password" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:451 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:453 msgid "a user tries to add an email to their account" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:453 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:455 msgid "If Matrix Authentication Service tries to send an email and it fails because [your email-sending configuration](./configuring-playbook-email.md) is not working, you may need to work around email deliverability." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:455 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:457 msgid "If email delivery is not working, **you can retrieve the email verification code from the Matrix Authentication Service's logs** (`journalctl -fu matrix-authentication-service`)." msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:457 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:459 msgid "Alternatively, you can use the [`mas-cli` management tool](#management) to manually verify email addresses for users. Example: `/matrix/matrix-authentication-service/bin/mas-cli manage verify-email some.username email@example.com`" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:459 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:461 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-matrix-authentication-service.md:461 +#: ../../../docs/configuring-playbook-matrix-authentication-service.md:463 msgid "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-authentication-service`." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-synapse.pot b/i18n/translation-templates/docs/configuring-playbook-synapse.pot index f0050564b..cbf8f6815 100644 --- a/i18n/translation-templates/docs/configuring-playbook-synapse.pot +++ b/i18n/translation-templates/docs/configuring-playbook-synapse.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -149,7 +149,7 @@ msgid "When Synapse workers are enabled, the integrated [Postgres database is tu msgstr "" #: ../../../docs/configuring-playbook-synapse.md:79 -msgid "A separate Ansible role (`matrix-synapse-reverse-proxy-companion`) and component handles load-balancing for workers. This role/component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." +msgid "The `matrix-synapse` role also manages the `matrix-synapse-reverse-proxy-companion` component for load-balancing with workers. This component is automatically enabled when you enable workers. Make sure to use the `setup-all` tag (not `install-all`!) during the playbook's [installation](./installing.md) process, especially if you're disabling workers, so that components may be installed/uninstalled correctly." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:81 @@ -157,141 +157,161 @@ msgid "In case any problems occur, make sure to have a look at the [list of syna msgstr "" #: ../../../docs/configuring-playbook-synapse.md:83 -msgid "Synapse + OpenID Connect for Single-Sign-On" +msgid "Limit joining heavy rooms on constrained hosts" msgstr "" #: ../../../docs/configuring-playbook-synapse.md:85 -msgid "💡 An alternative to setting up OIDC in Synapse is to use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS). Newer clients (like Element X) only support SSO-based authentication via MAS and not via the legacy Synapse OIDC setup described below. That said, MAS is still a new experimental service which comes with its own downsides. Consult its documentation to learn if it will be a good fit for your deployment." +msgid "If your server is underpowered, joining heavy rooms can cause Synapse to consume a lot of resources and be unavailable for long (while it catches up)." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:87 -msgid "If you'd like to use OpenID Connect authentication with Synapse, you'll need some additional configuration." +msgid "To avoid this, Synapse can be configured to reject joins for remote rooms that are too complex before users enter them." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:89 -msgid "This example configuration is for [keycloak](https://www.keycloak.org/), an opensource Identity Provider maintained by Red Hat." +msgid "Complexity is computed as `current_state_events / 500` (Synapse state event count for current room state). When the resulting value is higher than `matrix_synapse_limit_remote_rooms_complexity` and `matrix_synapse_limit_remote_rooms_enabled` is `true`, Synapse blocks joining the room." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:91 -msgid "For more detailed documentation on available options and how to setup keycloak, see the [Synapse documentation on OpenID Connect with keycloak](https://github.com/element-hq/synapse/blob/develop/docs/openid.md#keycloak)." +msgid "We recommend using this as a guardrail on low-resource servers:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:93 -msgid "In case you encounter errors regarding the parsing of the variables, you can try to add `{% raw %}` and `{% endraw %}` blocks around them. For example ;" +#: ../../../docs/configuring-playbook-synapse.md:106 +msgid "Synapse + OpenID Connect for Single-Sign-On" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:108 +msgid "💡 An alternative to setting up OIDC in Synapse is to use [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md) (MAS). Newer clients (like Element X) only support SSO-based authentication via MAS and not via the legacy Synapse OIDC setup described below. That said, MAS is still a new experimental service which comes with its own downsides. Consult its documentation to learn if it will be a good fit for your deployment." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:110 +msgid "If you'd like to use OpenID Connect authentication with Synapse, you'll need some additional configuration." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:112 +msgid "This example configuration is for [keycloak](https://www.keycloak.org/), an opensource Identity Provider maintained by Red Hat." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:114 -msgid "Customizing templates" +msgid "For more detailed documentation on available options and how to setup keycloak, see the [Synapse documentation on OpenID Connect with keycloak](https://github.com/element-hq/synapse/blob/develop/docs/openid.md#keycloak)." msgstr "" #: ../../../docs/configuring-playbook-synapse.md:116 +msgid "In case you encounter errors regarding the parsing of the variables, you can try to add `{% raw %}` and `{% endraw %}` blocks around them. For example ;" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:137 +msgid "Customizing templates" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse.md:139 msgid "[Templates](https://github.com/element-hq/synapse/blob/develop/docs/templates.md) are used by Synapse for showing **certain web pages** handled by the server, as well as for **email notifications**." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:118 +#: ../../../docs/configuring-playbook-synapse.md:141 msgid "This playbook allows you to customize the default templates (see the [`synapse/res/templates` directory](https://github.com/element-hq/synapse/tree/develop/synapse/res/templates))." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:120 +#: ../../../docs/configuring-playbook-synapse.md:143 msgid "If template customization is enabled, the playbook will build a custom container image based on the official one." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:122 +#: ../../../docs/configuring-playbook-synapse.md:145 msgid "Your custom templates need to live in a public or private git repository. This repository will be cloned during Synapse image customization (during the playbook run)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:124 +#: ../../../docs/configuring-playbook-synapse.md:147 msgid "To enable template customizations, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:150 +#: ../../../docs/configuring-playbook-synapse.md:173 msgid "As mentioned in Synapse's Templates documentation, Synapse will fall back to its own templates if a template is not found in that directory. Due to this, it's recommended to only store and maintain template files in your repository if you need to make custom changes. Other files (which you don't need to change), should not be duplicated, so that you don't need to worry about getting out-of-sync with the original Synapse templates." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:152 +#: ../../../docs/configuring-playbook-synapse.md:175 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:154 +#: ../../../docs/configuring-playbook-synapse.md:177 msgid "There are some additional things you may wish to configure about the server." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:156 +#: ../../../docs/configuring-playbook-synapse.md:179 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:158 +#: ../../../docs/configuring-playbook-synapse.md:181 msgid "`roles/custom/matrix-synapse/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:159 +#: ../../../docs/configuring-playbook-synapse.md:182 msgid "`roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2` for the server's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_synapse_configuration_extension_yaml` variable" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:161 +#: ../../../docs/configuring-playbook-synapse.md:184 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:163 +#: ../../../docs/configuring-playbook-synapse.md:186 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:170 +#: ../../../docs/configuring-playbook-synapse.md:193 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:172 +#: ../../../docs/configuring-playbook-synapse.md:195 msgid "`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." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:174 +#: ../../../docs/configuring-playbook-synapse.md:197 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:176 -msgid "Synapse Admin" +#: ../../../docs/configuring-playbook-synapse.md:199 +msgid "Ketesa" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:178 -msgid "With [Synapse Admin](configuring-playbook-synapse-admin.md), certain Synapse administration tasks (managing users and rooms, etc.) can be performed via a web user-interace." +#: ../../../docs/configuring-playbook-synapse.md:201 +msgid "[Ketesa](configuring-playbook-ketesa.md) is a fully-featured web UI for administrating your homeserver — managing users, rooms, media, sessions, and more." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:180 -msgid "The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.md)." +#: ../../../docs/configuring-playbook-synapse.md:203 +msgid "The playbook can install and configure Ketesa for you. For details about it, see [this page](configuring-playbook-ketesa.md)." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:182 +#: ../../../docs/configuring-playbook-synapse.md:205 msgid "Monitoring Synapse Metrics with Prometheus and Grafana" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:184 +#: ../../../docs/configuring-playbook-synapse.md:207 msgid "This playbook allows you to enable Synapse metrics, which can provide insight into the performance and activity of Synapse." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:186 +#: ../../../docs/configuring-playbook-synapse.md:209 msgid "To enable Synapse runtime metrics, see: [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](configuring-playbook-prometheus-grafana.md) and [its subsection](configuring-playbook-prometheus-grafana.md#expose-metrics-of-other-services-roles)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:188 +#: ../../../docs/configuring-playbook-synapse.md:211 msgid "To enable Synapse usage metrics, see: [Enabling synapse-usage-exporter for Synapse usage statistics](configuring-playbook-synapse-usage-exporter.md)" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:190 +#: ../../../docs/configuring-playbook-synapse.md:213 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:192 +#: ../../../docs/configuring-playbook-synapse.md:215 msgid "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-synapse`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:194 +#: ../../../docs/configuring-playbook-synapse.md:217 msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:196 +#: ../../../docs/configuring-playbook-synapse.md:219 msgid "Because Synapse is originally very chatty when it comes to logging, we intentionally reduce its [logging level](https://docs.python.org/3/library/logging.html#logging-levels) from `INFO` to `WARNING`." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:198 +#: ../../../docs/configuring-playbook-synapse.md:221 msgid "If you'd like to debug an issue or [report a Synapse bug](https://github.com/element-hq/synapse/issues/new/choose) to the developers, it'd be better if you temporarily increase the logging verbosity to `INFO`. To do so, add the following configuration to your `vars.yml` file and re-run the playbook:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook.pot b/i18n/translation-templates/docs/configuring-playbook.pot index 1edeb1fb8..6ef4e48be 100644 --- a/i18n/translation-templates/docs/configuring-playbook.pot +++ b/i18n/translation-templates/docs/configuring-playbook.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -169,155 +169,155 @@ msgid "[Setting up Cinny](configuring-playbook-client-cinny.md), if you've enabl msgstr "" #: ../../../docs/configuring-playbook.md:90 -msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" +msgid "[Setting up Sable](configuring-playbook-client-sable.md), if you've enabled [Sable](https://github.com/7w1/sable), a web client focusing primarily on simple, elegant and secure interface" msgstr "" #: ../../../docs/configuring-playbook.md:92 +msgid "[Setting up SchildiChat Web](configuring-playbook-client-schildichat-web.md), if you've enabled [SchildiChat Web](https://schildi.chat/), a web client based on [Element Web](https://element.io/) with some extras and tweaks" +msgstr "" + +#: ../../../docs/configuring-playbook.md:94 msgid "[Setting up FluffyChat Web](configuring-playbook-client-fluffychat-web.md), if you've enabled [FluffyChat Web](https://github.com/krille-chan/fluffychat), a cute cross-platform messenger (web, iOS, Android) for Matrix written in [Flutter](https://flutter.dev/)" msgstr "" -#: ../../../docs/configuring-playbook.md:95 +#: ../../../docs/configuring-playbook.md:97 msgid "Authentication and user-related" msgstr "" -#: ../../../docs/configuring-playbook.md:97 +#: ../../../docs/configuring-playbook.md:99 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" -#: ../../../docs/configuring-playbook.md:99 +#: ../../../docs/configuring-playbook.md:101 msgid "[Setting up Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md) (Next-generation auth for Matrix, based on OAuth 2.0/OIDC)" msgstr "" -#: ../../../docs/configuring-playbook.md:101 +#: ../../../docs/configuring-playbook.md:103 msgid "[Setting up Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:103 -msgid "[Setting up Synapse Admin](configuring-playbook-synapse-admin.md)" -msgstr "" - #: ../../../docs/configuring-playbook.md:105 -msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" +msgid "[Setting up Ketesa](configuring-playbook-ketesa.md)" msgstr "" #: ../../../docs/configuring-playbook.md:107 -msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" +msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" msgstr "" #: ../../../docs/configuring-playbook.md:109 -msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" +msgid "[Setting up the REST authentication password provider module](configuring-playbook-rest-auth.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:111 -msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" +msgid "[Setting up the Shared Secret Auth password provider module](configuring-playbook-shared-secret-auth.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:113 -msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (advanced)" +msgid "[Setting up the LDAP authentication password provider module](configuring-playbook-ldap-auth.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:115 -msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)" +msgid "[Setting up matrix-ldap-registration-proxy](configuring-playbook-matrix-ldap-registration-proxy.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:117 -msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)" +msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:119 -msgid "File Storage" +msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)" msgstr "" #: ../../../docs/configuring-playbook.md:121 -msgid "Use alternative file storage to the default `media_store` folder." +msgid "File Storage" msgstr "" #: ../../../docs/configuring-playbook.md:123 -msgid "[Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md)" +msgid "Use alternative file storage to the default `media_store` folder." msgstr "" #: ../../../docs/configuring-playbook.md:125 -msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" +msgid "[Storing Matrix media files using matrix-media-repo](configuring-playbook-matrix-media-repo.md)" msgstr "" #: ../../../docs/configuring-playbook.md:127 -msgid "[Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" +msgid "[Storing Synapse media files on Amazon S3 or another compatible Object Storage](configuring-playbook-s3.md)" msgstr "" #: ../../../docs/configuring-playbook.md:129 -msgid "[Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md)" +msgid "[Storing Synapse media files on Amazon S3 with Goofys](configuring-playbook-s3-goofys.md)" msgstr "" #: ../../../docs/configuring-playbook.md:131 -msgid "Bridging other networks" +msgid "[Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](configuring-playbook-synapse-s3-storage-provider.md)" msgstr "" #: ../../../docs/configuring-playbook.md:133 -msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." +msgid "Bridging other networks" msgstr "" #: ../../../docs/configuring-playbook.md:135 -msgid "[Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges" +msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" #: ../../../docs/configuring-playbook.md:137 -msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)" +msgid "[Setting up a Generic Mautrix Bridge](configuring-playbook-bridge-mautrix-bridges.md) — a common guide for configuring mautrix bridges" msgstr "" #: ../../../docs/configuring-playbook.md:139 -msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)" +msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)" msgstr "" #: ../../../docs/configuring-playbook.md:141 -msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)" +msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" #: ../../../docs/configuring-playbook.md:143 -msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)" +msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)" msgstr "" #: ../../../docs/configuring-playbook.md:145 -msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)" +msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)" msgstr "" #: ../../../docs/configuring-playbook.md:147 -msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" +msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)" msgstr "" #: ../../../docs/configuring-playbook.md:149 -msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" +msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" #: ../../../docs/configuring-playbook.md:151 -msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" +msgid "[Setting up Instagram bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-instagram.md)" msgstr "" #: ../../../docs/configuring-playbook.md:153 -msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" +msgid "[Setting up Messenger bridging via Mautrix Meta](configuring-playbook-bridge-mautrix-meta-messenger.md)" msgstr "" #: ../../../docs/configuring-playbook.md:155 -msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" +msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" msgstr "" #: ../../../docs/configuring-playbook.md:157 -msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" +msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" msgstr "" #: ../../../docs/configuring-playbook.md:159 -msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" +msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" msgstr "" #: ../../../docs/configuring-playbook.md:161 -msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" +msgid "[Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](configuring-playbook-bridge-mautrix-wsproxy.md)" msgstr "" #: ../../../docs/configuring-playbook.md:163 -msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" +msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" msgstr "" #: ../../../docs/configuring-playbook.md:165 -msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md)" +msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md)" msgstr "" #: ../../../docs/configuring-playbook.md:167 @@ -465,61 +465,61 @@ msgid "[Setting up Matrix RTC](configuring-playbook-matrix-rtc.md) (optional)" msgstr "" #: ../../../docs/configuring-playbook.md:238 -msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - -#: ../../../docs/configuring-playbook.md:240 msgid "[Setting up synapse-auto-compressor](configuring-playbook-synapse-auto-compressor.md) for compressing the database on Synapse homeservers" msgstr "" -#: ../../../docs/configuring-playbook.md:242 +#: ../../../docs/configuring-playbook.md:240 msgid "[Setting up Matrix Corporal](configuring-playbook-matrix-corporal.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:244 +#: ../../../docs/configuring-playbook.md:242 msgid "[Setting up Matrix.to](configuring-playbook-matrixto.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:246 +#: ../../../docs/configuring-playbook.md:244 msgid "[Setting up Etherpad](configuring-playbook-etherpad.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:248 +#: ../../../docs/configuring-playbook.md:246 msgid "[Setting up the Jitsi video-conferencing platform](configuring-playbook-jitsi.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:250 +#: ../../../docs/configuring-playbook.md:248 msgid "[Setting up Cactus Comments](configuring-playbook-cactus-comments.md) — a federated comment system built on Matrix" msgstr "" -#: ../../../docs/configuring-playbook.md:252 +#: ../../../docs/configuring-playbook.md:250 msgid "[Setting up Pantalaimon (E2EE aware proxy daemon)](configuring-playbook-pantalaimon.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:254 +#: ../../../docs/configuring-playbook.md:252 msgid "[Setting up the Sygnal push gateway](configuring-playbook-sygnal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:256 +#: ../../../docs/configuring-playbook.md:254 msgid "[Setting up the ntfy push notifications server](configuring-playbook-ntfy.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:258 +#: ../../../docs/configuring-playbook.md:256 msgid "Deprecated / unmaintained / removed services" msgstr "" -#: ../../../docs/configuring-playbook.md:260 +#: ../../../docs/configuring-playbook.md:258 msgid "**Note**: since a deprecated or unmaintained service will not be updated, its bug or vulnerability will be unlikely to get patched. It is recommended to migrate from the service to an alternative if any, and make sure to do your own research before you decide to keep it running nonetheless." msgstr "" -#: ../../../docs/configuring-playbook.md:262 +#: ../../../docs/configuring-playbook.md:260 msgid "[Configuring conduwuit](configuring-playbook-conduwuit.md) (removed; this component has been abandoned and unmaintained)" msgstr "" -#: ../../../docs/configuring-playbook.md:264 +#: ../../../docs/configuring-playbook.md:262 msgid "[Setting up the Sliding Sync proxy](configuring-playbook-sliding-sync-proxy.md) for clients which require Sliding Sync support (like old Element X versions, before it got switched to Simplified Sliding Sync)" msgstr "" +#: ../../../docs/configuring-playbook.md:264 +msgid "[Setting up Appservice Slack bridging](configuring-playbook-bridge-appservice-slack.md) (removed; this component has been discontinued)" +msgstr "" + #: ../../../docs/configuring-playbook.md:266 msgid "[Setting up Appservice Webhooks bridging](configuring-playbook-bridge-appservice-webhooks.md) (deprecated; 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))" msgstr "" @@ -575,3 +575,7 @@ msgstr "" #: ../../../docs/configuring-playbook.md:292 msgid "[Setting up MX Puppet Twitter bridging](configuring-playbook-bridge-mx-puppet-twitter.md) (removed; this component has been unmaintained for a long time, so it has been removed from the playbook. Consider [setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md))" msgstr "" + +#: ../../../docs/configuring-playbook.md:294 +msgid "[Setting up Synapse Auto Invite Accept](configuring-playbook-synapse-auto-accept-invite.md) (removed; since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0) the same feature is available natively.)" +msgstr "" diff --git a/i18n/translation-templates/docs/container-images.pot b/i18n/translation-templates/docs/container-images.pot index 40a15eb74..e38962304 100644 --- a/i18n/translation-templates/docs/container-images.pot +++ b/i18n/translation-templates/docs/container-images.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -148,6 +148,14 @@ msgstr "" msgid "Simple, elegant and secure web client" msgstr "" +#: ../../../docs/container-images.md:0 +msgid "[Sable](configuring-playbook-client-sable.md)" +msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "[7w1/sable](https://ghcr.io/7w1/sable)" +msgstr "" + #: ../../../docs/container-images.md:0 msgid "[SchildiChat Web](configuring-playbook-client-schildichat-web.md)" msgstr "" @@ -160,11 +168,11 @@ msgstr "" msgid "Based on Element Web, with a more traditional instant messaging experience" msgstr "" -#: ../../../docs/container-images.md:44 +#: ../../../docs/container-images.md:45 msgid "Server Components" msgstr "" -#: ../../../docs/container-images.md:46 +#: ../../../docs/container-images.md:47 msgid "Services that run on the server to make the various parts of your installation work." msgstr "" @@ -264,11 +272,11 @@ msgstr "" msgid "JWT service for integrating [Element Call](./configuring-playbook-element-call.md) with [LiveKit Server](./configuring-playbook-livekit-server.md)" msgstr "" -#: ../../../docs/container-images.md:59 +#: ../../../docs/container-images.md:60 msgid "Authentication" msgstr "" -#: ../../../docs/container-images.md:61 +#: ../../../docs/container-images.md:62 msgid "Extend and modify how users are authenticated on your homeserver." msgstr "" @@ -344,11 +352,11 @@ msgstr "" msgid "Spam checker module" msgstr "" -#: ../../../docs/container-images.md:73 +#: ../../../docs/container-images.md:74 msgid "File Storage" msgstr "" -#: ../../../docs/container-images.md:75 +#: ../../../docs/container-images.md:76 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" @@ -380,11 +388,11 @@ msgstr "" msgid "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." msgstr "" -#: ../../../docs/container-images.md:83 +#: ../../../docs/container-images.md:84 msgid "Bridges" msgstr "" -#: ../../../docs/container-images.md:85 +#: ../../../docs/container-images.md:86 msgid "Bridges can be used to connect your Matrix installation with third-party communication networks." msgstr "" @@ -568,14 +576,6 @@ msgstr "" msgid "Bridge to [Discord](https://discordapp.com/)" msgstr "" -#: ../../../docs/container-images.md:0 -msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" -msgstr "" - -#: ../../../docs/container-images.md:0 -msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" -msgstr "" - #: ../../../docs/container-images.md:0 msgid "[matrix-hookshot](configuring-playbook-bridge-hookshot.md)" msgstr "" @@ -809,15 +809,15 @@ msgid "OAuth 2.0 and OpenID Provider server" msgstr "" #: ../../../docs/container-images.md:0 -msgid "[synapse-admin](configuring-playbook-synapse-admin.md)" +msgid "[ketesa](configuring-playbook-ketesa.md)" msgstr "" #: ../../../docs/container-images.md:0 -msgid "[etke.cc/synapse-admin](https://ghcr.io/etkecc/synapse-admin)" +msgid "[etkecc/ketesa](https://ghcr.io/etkecc/ketesa)" msgstr "" #: ../../../docs/container-images.md:0 -msgid "Web UI tool for administrating users and rooms on your Matrix server" +msgid "Fully-featured web UI for administrating your Matrix homeserver — users, rooms, media, sessions, and more" msgstr "" #: ../../../docs/container-images.md:0 @@ -908,14 +908,6 @@ msgstr "" msgid "Various services that don't fit any other categories." msgstr "" -#: ../../../docs/container-images.md:0 -msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" -msgstr "" - -#: ../../../docs/container-images.md:0 -msgid "Synapse module to automatically accept invites" -msgstr "" - #: ../../../docs/container-images.md:0 msgid "[synapse_auto_compressor](configuring-playbook-synapse-auto-compressor.md)" msgstr "" @@ -1052,11 +1044,11 @@ msgstr "" msgid "A native Matrix video conferencing application" msgstr "" -#: ../../../docs/container-images.md:168 +#: ../../../docs/container-images.md:167 msgid "Container images of deprecated / unmaintained services" msgstr "" -#: ../../../docs/container-images.md:170 +#: ../../../docs/container-images.md:169 msgid "The list of the deprecated or unmaintained services is available [here](configuring-playbook.md#deprecated--unmaintained--removed-services)." msgstr "" @@ -1120,6 +1112,14 @@ msgstr "" msgid "Matrix Identity Server" msgstr "" +#: ../../../docs/container-images.md:0 +msgid "[matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md)" +msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "[matrixdotorg/matrix-appservice-slack](https://hub.docker.com/r/matrixdotorg/matrix-appservice-slack)" +msgstr "" + #: ../../../docs/container-images.md:0 msgid "[matrix-appservice-webhooks](configuring-playbook-bridge-appservice-webhooks.md)" msgstr "" @@ -1223,3 +1223,11 @@ msgstr "" #: ../../../docs/container-images.md:0 msgid "Sliding Sync support for clients which require it (like old Element X versions, before it got switched to Simplified Sliding Sync)" msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "[synapse_auto_accept_invite](configuring-playbook-synapse-auto-accept-invite.md)" +msgstr "" + +#: ../../../docs/container-images.md:0 +msgid "Synapse module to automatically accept invites" +msgstr "" diff --git a/i18n/translation-templates/docs/registering-users.pot b/i18n/translation-templates/docs/registering-users.pot index 079c29b2c..bb0eeecb5 100644 --- a/i18n/translation-templates/docs/registering-users.pot +++ b/i18n/translation-templates/docs/registering-users.pot @@ -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-04-03 11:56+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -57,7 +57,7 @@ msgid "Registering users manually" msgstr "" #: ../../../docs/registering-users.md:25 -#: ../../../docs/registering-users.md:130 +#: ../../../docs/registering-users.md:127 msgid "**Notes**:" msgstr "" @@ -138,105 +138,101 @@ msgid "Managing users via a Web UI" msgstr "" #: ../../../docs/registering-users.md:98 -msgid "To manage users more easily (via a web user-interace), you can install [Synapse Admin](configuring-playbook-synapse-admin.md)." +msgid "To manage users and your homeserver more easily (via a web interface), you can install [Ketesa](configuring-playbook-ketesa.md) — a fully-featured admin UI covering users, rooms, media, sessions, and MAS management." msgstr "" #: ../../../docs/registering-users.md:100 -msgid "[!WARNING] If you're using [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), note that user management via synapse-admin is not fully working yet. See the [Expectations](configuring-playbook-matrix-authentication-service.md#expectations) section for more information." -msgstr "" - -#: ../../../docs/registering-users.md:103 msgid "Letting certain users register on your private server" msgstr "" -#: ../../../docs/registering-users.md:105 +#: ../../../docs/registering-users.md:102 msgid "If you'd rather **keep your server private** (public registration closed, as is the default), and **let certain people create accounts by themselves** (instead of creating user accounts manually like this), consider installing and making use of [matrix-registration](configuring-playbook-matrix-registration.md)." msgstr "" -#: ../../../docs/registering-users.md:107 +#: ../../../docs/registering-users.md:104 msgid "Enabling public user registration" msgstr "" -#: ../../../docs/registering-users.md:109 +#: ../../../docs/registering-users.md:106 msgid "To **open up user registration publicly** (usually **not recommended**), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/registering-users.md:111 +#: ../../../docs/registering-users.md:108 msgid "For Synapse:" msgstr "" -#: ../../../docs/registering-users.md:117 +#: ../../../docs/registering-users.md:114 msgid "For Dendrite:" msgstr "" -#: ../../../docs/registering-users.md:123 +#: ../../../docs/registering-users.md:120 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/registering-users.md:132 +#: ../../../docs/registering-users.md:129 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/registering-users.md:134 +#: ../../../docs/registering-users.md:131 msgid "`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." msgstr "" -#: ../../../docs/registering-users.md:136 +#: ../../../docs/registering-users.md:133 msgid "If you're opening up registrations publicly like this, you might also wish to [configure CAPTCHA protection](configuring-captcha.md)." msgstr "" -#: ../../../docs/registering-users.md:138 +#: ../../../docs/registering-users.md:135 msgid "Adding/Removing Administrator privileges to an existing user" msgstr "" -#: ../../../docs/registering-users.md:140 +#: ../../../docs/registering-users.md:137 msgid "Adding/Removing Administrator privileges to an existing user in Synapse" msgstr "" -#: ../../../docs/registering-users.md:142 +#: ../../../docs/registering-users.md:139 msgid "To change the admin privileges for a user in Synapse's local database, you need to run an SQL query like this against the `synapse` database:" msgstr "" -#: ../../../docs/registering-users.md:148 +#: ../../../docs/registering-users.md:145 msgid "where:" msgstr "" -#: ../../../docs/registering-users.md:150 +#: ../../../docs/registering-users.md:147 msgid "`ADMIN_VALUE` being either `0` (regular user) or `1` (admin)" msgstr "" -#: ../../../docs/registering-users.md:151 +#: ../../../docs/registering-users.md:148 msgid "`USER` and `example.com` pointing to a valid user on your server" msgstr "" -#: ../../../docs/registering-users.md:153 +#: ../../../docs/registering-users.md:150 msgid "If you're using the integrated Postgres server and not an [external Postgres server](configuring-playbook-external-postgres.md), you can launch a Postgres into the `synapse` database by:" msgstr "" -#: ../../../docs/registering-users.md:155 +#: ../../../docs/registering-users.md:152 msgid "running `/matrix/postgres/bin/cli` — to launch [`psql`](https://www.postgresql.org/docs/current/app-psql.html)" msgstr "" -#: ../../../docs/registering-users.md:156 +#: ../../../docs/registering-users.md:153 msgid "running `\\c synapse` — to change to the `synapse` database" msgstr "" -#: ../../../docs/registering-users.md:158 +#: ../../../docs/registering-users.md:155 msgid "You can then proceed to run the query above." msgstr "" -#: ../../../docs/registering-users.md:160 +#: ../../../docs/registering-users.md:157 msgid "**Note**: directly modifying the raw data of Synapse (or any other software) could cause the software to break. You've been warned!" msgstr "" -#: ../../../docs/registering-users.md:162 +#: ../../../docs/registering-users.md:159 msgid "Adding/Removing Administrator privileges to an existing user in Matrix Authentication Service" msgstr "" -#: ../../../docs/registering-users.md:164 +#: ../../../docs/registering-users.md:161 msgid "Promoting/demoting a user in Matrix Authentication Service can be done using the [`mas-cli`](./configuring-playbook-matrix-authentication-service.md#management) management tool's [`manage promote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-promote-admin) and [`manage demote-admin`](https://element-hq.github.io/matrix-authentication-service/reference/cli/manage.html#manage-demote-admin) commands. For example: `/matrix/matrix-authentication-service/bin/mas-cli manage promote-admin some.username`." msgstr "" -#: ../../../docs/registering-users.md:166 +#: ../../../docs/registering-users.md:163 msgid "You can also do it via the [MAS Admin API](https://element-hq.github.io/matrix-authentication-service/api/index.html)'s `POST /api/admin/v1/users/{id}/set-admin` endpoint." msgstr "" diff --git a/i18n/translation-templates/docs/self-building.pot b/i18n/translation-templates/docs/self-building.pot index 41315f8ee..314249690 100644 --- a/i18n/translation-templates/docs/self-building.pot +++ b/i18n/translation-templates/docs/self-building.pot @@ -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-04-03 12:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,7 +49,7 @@ msgid "`matrix-synapse`" msgstr "" #: ../../../docs/self-building.md:29 -msgid "`matrix-synapse-admin`" +msgid "`matrix-ketesa`" msgstr "" #: ../../../docs/self-building.md:30 @@ -65,31 +65,31 @@ msgid "`cinny`" msgstr "" #: ../../../docs/self-building.md:33 -msgid "`matrix-registration`" +msgid "`sable`" msgstr "" #: ../../../docs/self-building.md:34 -msgid "`coturn`" +msgid "`matrix-registration`" msgstr "" #: ../../../docs/self-building.md:35 -msgid "`matrix-corporal`" +msgid "`coturn`" msgstr "" #: ../../../docs/self-building.md:36 -msgid "`exim-relay`" +msgid "`matrix-corporal`" msgstr "" #: ../../../docs/self-building.md:37 -msgid "`matrix-bridge-hookshot`" +msgid "`exim-relay`" msgstr "" #: ../../../docs/self-building.md:38 -msgid "`matrix-bridge-appservice-irc`" +msgid "`matrix-bridge-hookshot`" msgstr "" #: ../../../docs/self-building.md:39 -msgid "`matrix-bridge-appservice-slack`" +msgid "`matrix-bridge-appservice-irc`" msgstr "" #: ../../../docs/self-building.md:40 diff --git a/roles/custom/matrix-ketesa/defaults/main.yml b/roles/custom/matrix-ketesa/defaults/main.yml new file mode 100644 index 000000000..5bb0a88c9 --- /dev/null +++ b/roles/custom/matrix-ketesa/defaults/main.yml @@ -0,0 +1,259 @@ +# SPDX-FileCopyrightText: 2020 - 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dennis Ciba +# SPDX-FileCopyrightText: 2021 - 2025 MDAD project contributors +# SPDX-FileCopyrightText: 2021 Ahmad Haghighi +# SPDX-FileCopyrightText: 2022 - 2026 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2023 Samuel Meenzen +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- +# matrix-ketesa is Ketesa — a fully-featured, mobile-friendly admin interface for Matrix homeservers powered by Synapse. +# Project source code URL: https://github.com/etkecc/ketesa + +matrix_ketesa_enabled: true + +# A path on host where all related files will be saved +matrix_ketesa_base_path: "{{ matrix_base_data_path }}/ketesa" +matrix_ketesa_config_path: "{{ matrix_ketesa_base_path }}/config" +matrix_ketesa_container_src_files_path: "{{ matrix_ketesa_base_path }}/docker-src" + +matrix_ketesa_container_uid: '' +matrix_ketesa_container_gid: '' + +matrix_ketesa_container_image_self_build: false +matrix_ketesa_container_image_self_build_repo: "https://github.com/etkecc/ketesa.git" + +# renovate: datasource=docker depName=ghcr.io/etkecc/ketesa +matrix_ketesa_version: v1.0.0 +matrix_ketesa_container_image: "{{ matrix_ketesa_container_image_registry_prefix }}etkecc/ketesa:{{ matrix_ketesa_version }}" +matrix_ketesa_container_image_registry_prefix: "{{ 'localhost/' if matrix_ketesa_container_image_self_build else matrix_ketesa_container_image_registry_prefix_upstream }}" +matrix_ketesa_container_image_registry_prefix_upstream: "{{ matrix_ketesa_container_image_registry_prefix_upstream_default }}" +matrix_ketesa_container_image_registry_prefix_upstream_default: "ghcr.io/" +matrix_ketesa_container_image_force_pull: "{{ matrix_ketesa_container_image.endswith(':latest') }}" + +# The base container network +matrix_ketesa_container_network: matrix-ketesa + +# A list of additional container networks that the container would be connected to. +# The role does not create these networks, so make sure they already exist. +# Use this to expose this container to a reverse proxy, which runs in a different container network. +matrix_ketesa_container_additional_networks: [] + +# Controls whether the matrix-ketesa container exposes its HTTP port (tcp/8080 in the container). +# +# Takes an ":" or "" value (e.g. "127.0.0.1:8766"), or empty string to not expose. +matrix_ketesa_container_http_host_bind_port: '' + +# A list of extra arguments to pass to the container +matrix_ketesa_container_extra_arguments: [] + +# matrix_ketesa_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. +# See `../templates/labels.j2` for details. +# +# To inject your own other container labels, see `matrix_ketesa_container_labels_additional_labels`. +matrix_ketesa_container_labels_traefik_enabled: true +matrix_ketesa_container_labels_traefik_docker_network: "{{ matrix_ketesa_container_network }}" +matrix_ketesa_container_labels_traefik_hostname: "{{ matrix_ketesa_hostname }}" +# The path prefix must either be `/` or not end with a slash (e.g. `/ketesa`). +matrix_ketesa_container_labels_traefik_path_prefix: "{{ matrix_ketesa_path_prefix }}" +matrix_ketesa_container_labels_traefik_rule: "Host(`{{ matrix_ketesa_container_labels_traefik_hostname }}`){% if matrix_ketesa_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_ketesa_container_labels_traefik_path_prefix }}`){% endif %}" +matrix_ketesa_container_labels_traefik_priority: 0 +matrix_ketesa_container_labels_traefik_entrypoints: web-secure +matrix_ketesa_container_labels_traefik_tls: "{{ matrix_ketesa_container_labels_traefik_entrypoints != 'web' }}" +matrix_ketesa_container_labels_traefik_tls_certResolver: default # noqa var-naming +# This setting is to define a list of IP addresses to allow access to Ketesa. +# Each IP address should be in CIDR format, e.g. xxx.xxx.xxx.xxx/xx. +# For more information, see: https://doc.traefik.io/traefik/middlewares/http/ipallowlist/ +# If the list is empty, all IP addresses are allowed. +matrix_ketesa_container_labels_traefik_ipallowlist_sourcerange: [] + +# Controls which additional headers to attach to all HTTP responses. +# To add your own headers, use `matrix_ketesa_container_labels_traefik_additional_response_headers_custom` +matrix_ketesa_container_labels_traefik_additional_response_headers: "{{ matrix_ketesa_container_labels_traefik_additional_response_headers_auto | combine(matrix_ketesa_container_labels_traefik_additional_response_headers_custom) }}" +matrix_ketesa_container_labels_traefik_additional_response_headers_auto: | + {{ + {} + | combine ({'X-XSS-Protection': matrix_ketesa_http_header_xss_protection} if matrix_ketesa_http_header_xss_protection else {}) + | combine ({'X-Content-Type-Options': matrix_ketesa_http_header_content_type_options} if matrix_ketesa_http_header_content_type_options else {}) + | combine ({'Content-Security-Policy': matrix_ketesa_http_header_content_security_policy} if matrix_ketesa_http_header_content_security_policy else {}) + | combine ({'Permission-Policy': matrix_ketesa_http_header_content_permission_policy} if matrix_ketesa_http_header_content_permission_policy else {}) + | combine ({'Strict-Transport-Security': matrix_ketesa_http_header_strict_transport_security} if matrix_ketesa_http_header_strict_transport_security and matrix_ketesa_container_labels_traefik_tls else {}) + }} +matrix_ketesa_container_labels_traefik_additional_response_headers_custom: {} + +# matrix_ketesa_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. +# See `../templates/labels.j2` for details. +# +# Example: +# matrix_ketesa_container_labels_additional_labels: | +# my.label=1 +# another.label="here" +matrix_ketesa_container_labels_additional_labels: '' + +# List of systemd services that matrix-ketesa.service depends on +matrix_ketesa_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" + +# List of systemd services that matrix-ketesa.service wants +matrix_ketesa_systemd_wanted_services_list: [] + +# Specifies the value of the `X-XSS-Protection` header +# Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. +# +# Learn more about it is here: +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection +# - https://portswigger.net/web-security/cross-site-scripting/reflected +matrix_ketesa_http_header_xss_protection: "1; mode=block" + +# Specifies the value of the `X-Content-Type-Options` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options +matrix_ketesa_http_header_content_type_options: nosniff + +# Specifies the value of the `Content-Security-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy +matrix_ketesa_http_header_content_security_policy: frame-ancestors 'self' + +# Specifies the value of the `Permission-Policy` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permission-Policy +matrix_ketesa_http_header_content_permission_policy: "{{ 'interest-cohort=()' if matrix_ketesa_floc_optout_enabled else '' }}" + +# Specifies the value of the `Strict-Transport-Security` header. +# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +matrix_ketesa_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_ketesa_hsts_preload_enabled else '' }}" + +# Controls whether to send a "Permissions-Policy interest-cohort=();" header along with all responses +# +# Learn more about what it is here: +# - https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea +# - https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network +# - https://amifloced.org/ +# +# Of course, a better solution is to just stop using browsers (like Chrome), which participate in such tracking practices. +# See: `matrix_ketesa_content_permission_policy` +matrix_ketesa_floc_optout_enabled: true + +# Controls if HSTS preloading is enabled +# +# In its strongest and recommended form, the [HSTS policy](https://www.chromium.org/hsts) includes all subdomains, and +# indicates a willingness to be "preloaded" into browsers: +# `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload` +# For more information visit: +# - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security +# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security +# - https://hstspreload.org/#opt-in +# See: `matrix_ketesa_http_header_strict_transport_security` +matrix_ketesa_hsts_preload_enabled: false + +# The hostname at which Ketesa is served. +matrix_ketesa_hostname: "{{ matrix_server_fqn_matrix }}" + +# The path at which Ketesa is exposed. +# This value must either be `/` or not end with a slash (e.g. `/ketesa`). +matrix_ketesa_path_prefix: /synapse-admin + +# Default Ketesa configuration template which covers the generic use case. +# You can customize it by controlling the various variables inside it. +# +# For a more advanced customization, you can extend the default (see `matrix_ketesa_configuration_extension_json`) +# or completely replace this variable with your own template. +# +# The side-effect of this lookup is that Ansible would even parse the JSON for us, returning a dict. +# This is unlike what it does when looking up YAML template files (no automatic parsing there). +matrix_ketesa_configuration_default: + restrictBaseUrl: "{{ matrix_ketesa_config_restrictBaseUrl }}" + externalAuthProvider: "{{ matrix_ketesa_config_externalAuthProvider }}" + corsCredentials: "{{ matrix_ketesa_config_corsCredentials }}" + asManagedUsers: "{{ matrix_ketesa_config_asManagedUsers }}" + menu: "{{ matrix_ketesa_config_menu }}" + +# Your custom JSON configuration for Ketesa should go to `matrix_ketesa_configuration_extension_json`. +# This configuration extends the default starting configuration (`matrix_ketesa_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_ketesa_configuration_default`. +# +# Example configuration extension follows: +# +# matrix_ketesa_configuration_extension_json: | +# { +# "some_setting": true, +# "another_setting": false +# } +matrix_ketesa_configuration_extension_json: '{}' + +# This is similar to `matrix_ketesa_configuration_extension_json`, but intended for use by playbook or group vars +matrix_ketesa_configuration_extension_json_auto: '{}' + +matrix_ketesa_configuration_extension: "{{ matrix_ketesa_configuration_extension_json_auto | from_json | combine(matrix_ketesa_configuration_extension_json | from_json if matrix_ketesa_configuration_extension_json | from_json is mapping else {}, recursive=True) }}" + +# Holds the final Ketesa configuration (a combination of the default and its extension). +# You most likely don't need to touch this variable. Instead, see `matrix_ketesa_configuration_default`. +matrix_ketesa_configuration: "{{ matrix_ketesa_configuration_default | combine(matrix_ketesa_configuration_extension, recursive=True) }}" + +# Controls the restrictBaseUrl configuration setting, which, if defined, +# restricts the homeserver(s), so that the user can no longer define a homeserver manually during login. +matrix_ketesa_config_restrictBaseUrl: "{{ matrix_homeserver_url }}" # noqa var-naming + +# Controls the externalAuthProvider configuration setting, which, if defined, +# enables a special compatibility mode that works better for external auth providers like LDAP, MAS, etc. +matrix_ketesa_config_externalAuthProvider: false # noqa var-naming + +# Controls the corsCredentials configuration setting, which, if defined, +# allows including credentials (cookies, authorization headers, or TLS client certificates) in requests +# ref: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#including_credentials +matrix_ketesa_config_corsCredentials: "same-origin" # noqa var-naming + +# Controls the menu configuration setting, which, if defined, adds new menu items to the Ketesa UI. +# The format is a list of objects, where each object has the following keys: +# - `label` (string, required): The label of the menu item. +# - `i18n` (dict, optional): Dictionary of translations for the label. The keys should be BCP 47 language tags (e.g., en, fr, de) supported by Ketesa (see src/i18n). +# - `icon` (string, optional): The icon of the menu item, one of the https://github.com/etkecc/ketesa/blob/main/src/components/icons.ts +# - `url` (string, required): The URL of the menu item. +# Example: +# [ +# { +# "label": "Contact support", +# "i18n": { +# "de": "Support kontaktieren", +# "fr": "Contacter le support", +# "zh": "联系支持" +# }, +# "icon": "SupportAgent", +# "url": "https://github.com/etkecc/ketesa/issues" +# } +# ] +matrix_ketesa_config_menu: [] + +# Controls the asManagedUsers configuration setting (managed by playbook), which, if defined, +# restricts modifications of the specified users (e.g., bridge-managed). +# You should use JS regex syntax to match the user IDs. +# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] +# WARNING: you want to use matrix_ketesa_config_asManagedUsers_custom instead of this variable. +matrix_ketesa_config_asManagedUsers_auto: [] # noqa var-naming + +# Controls the asManagedUsers configuration setting (managed per host), which, if defined, +# restricts modifications of the specified users (e.g., bridge-managed). +# You should use JS regex syntax to match the user IDs. +# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] +matrix_ketesa_config_asManagedUsers_custom: [] # noqa var-naming + +# Controls the asManagedUsers configuration setting, which, if defined, +# restricts modifications of the specified users (e.g., bridge-managed). +# You should use JS regex syntax to match the user IDs. +# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] +# WARNING: you want to use matrix_ketesa_config_asManagedUsers_custom instead of this variable. +matrix_ketesa_config_asManagedUsers: "{{ matrix_ketesa_config_asManagedUsers_auto + matrix_ketesa_config_asManagedUsers_custom }}" # noqa var-naming + +# matrix_ketesa_restart_necessary controls whether the service +# will be restarted (when true) or merely started (when false) by the +# systemd service manager role (when conditional restart is enabled). +# +# This value is automatically computed during installation based on whether +# any configuration files, the systemd service file, or the container image changed. +# The default of `false` means "no restart needed" — appropriate when the role's +# installation tasks haven't run (e.g., due to --tags skipping them). +matrix_ketesa_restart_necessary: false diff --git a/roles/custom/matrix-synapse-admin/tasks/main.yml b/roles/custom/matrix-ketesa/tasks/main.yml similarity index 67% rename from roles/custom/matrix-synapse-admin/tasks/main.yml rename to roles/custom/matrix-ketesa/tasks/main.yml index c66e9998e..d7b40c124 100644 --- a/roles/custom/matrix-synapse-admin/tasks/main.yml +++ b/roles/custom/matrix-ketesa/tasks/main.yml @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev # SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2026 Nikita Chernyi # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -7,19 +8,19 @@ - tags: - setup-all - - setup-synapse-admin + - setup-ketesa - install-all - - install-synapse-admin + - install-ketesa block: - - when: matrix_synapse_admin_enabled | bool + - when: matrix_ketesa_enabled | bool ansible.builtin.include_tasks: "{{ role_path }}/tasks/validate_config.yml" - - when: matrix_synapse_admin_enabled | bool + - when: matrix_ketesa_enabled | bool ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_install.yml" - tags: - setup-all - - setup-synapse-admin + - setup-ketesa block: - - when: not matrix_synapse_admin_enabled | bool + - when: not matrix_ketesa_enabled | bool ansible.builtin.include_tasks: "{{ role_path }}/tasks/setup_uninstall.yml" diff --git a/roles/custom/matrix-ketesa/tasks/setup_install.yml b/roles/custom/matrix-ketesa/tasks/setup_install.yml new file mode 100644 index 000000000..58f130a29 --- /dev/null +++ b/roles/custom/matrix-ketesa/tasks/setup_install.yml @@ -0,0 +1,130 @@ +# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev +# SPDX-FileCopyrightText: 2020 Dennis Ciba +# SPDX-FileCopyrightText: 2021 Aaron Raimist +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2022 Marko Weltzer +# SPDX-FileCopyrightText: 2022 - 2026 Nikita Chernyi +# SPDX-FileCopyrightText: 2022 Sebastian Gumprich +# SPDX-FileCopyrightText: 2024 David Mehren +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +# Migrate from the old matrix-synapse-admin role. +# The service was renamed to matrix-ketesa. Stop and remove the old one. + +- name: Check if matrix-synapse-admin.service exists + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-synapse-admin.service" + register: matrix_ketesa_legacy_synapse_admin_service_stat + +- name: Stop and remove legacy matrix-synapse-admin systemd service + when: matrix_ketesa_legacy_synapse_admin_service_stat.stat.exists | bool + block: + - name: Ensure legacy matrix-synapse-admin service is stopped + ansible.builtin.service: + name: matrix-synapse-admin + state: stopped + enabled: false + failed_when: false + + - name: Remove legacy matrix-synapse-admin service file + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-synapse-admin.service" + state: absent + + - name: Remove legacy matrix-synapse-admin data directory + ansible.builtin.file: + path: "{{ matrix_base_data_path }}/synapse-admin" + state: absent + +- name: Ensure matrix-ketesa paths exists + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: '0750' + owner: "{{ matrix_user_name }}" + group: "{{ matrix_group_name }}" + with_items: + - {path: "{{ matrix_ketesa_base_path }}", when: true} + - {path: "{{ matrix_ketesa_config_path }}", when: true} + - {path: "{{ matrix_ketesa_container_src_files_path }}", when: "{{ matrix_ketesa_container_image_self_build }}"} + when: "item.when | bool" + +- name: Ensure matrix-ketesa labels file is created + ansible.builtin.template: + src: "{{ role_path }}/templates/labels.j2" + dest: "{{ matrix_ketesa_base_path }}/labels" + owner: "{{ matrix_user_name }}" + group: "{{ matrix_group_name }}" + mode: '0640' + register: matrix_ketesa_support_files_result + +- name: Ensure matrix-ketesa configuration installed + ansible.builtin.copy: + content: "{{ matrix_ketesa_configuration | to_nice_json }}" + dest: "{{ matrix_ketesa_config_path }}/config.json" + mode: '0644' + owner: "{{ matrix_user_name }}" + group: "{{ matrix_group_name }}" + register: matrix_ketesa_config_result + +- name: Ensure matrix-ketesa image is pulled + community.docker.docker_image: + name: "{{ matrix_ketesa_container_image }}" + source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" + force_source: "{{ matrix_ketesa_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_ketesa_container_image_force_pull }}" + when: not matrix_ketesa_container_image_self_build | bool + register: matrix_ketesa_container_image_pull_result + retries: "{{ devture_playbook_help_container_retries_count }}" + delay: "{{ devture_playbook_help_container_retries_delay }}" + until: matrix_ketesa_container_image_pull_result is not failed + +- name: Ensure matrix-ketesa repository is present when self-building + ansible.builtin.git: + repo: "{{ matrix_ketesa_container_image_self_build_repo }}" + dest: "{{ matrix_ketesa_container_src_files_path }}" + version: "{{ matrix_ketesa_container_image.split(':')[1] }}" + force: "yes" + become: true + become_user: "{{ matrix_user_name }}" + register: matrix_ketesa_git_pull_results + when: matrix_ketesa_container_image_self_build | bool + +- name: Ensure matrix-ketesa Docker image is built + community.docker.docker_image: + name: "{{ matrix_ketesa_container_image }}" + source: build + force_source: "{{ matrix_ketesa_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" + force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_ketesa_git_pull_results.changed }}" + build: + dockerfile: Dockerfile + path: "{{ matrix_ketesa_container_src_files_path }}" + pull: true + when: matrix_ketesa_container_image_self_build | bool + +- name: Ensure matrix-ketesa container network is created + community.general.docker_network: + enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" + name: "{{ matrix_ketesa_container_network }}" + driver: bridge + driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" + +- name: Ensure matrix-ketesa.service installed + ansible.builtin.template: + src: "{{ role_path }}/templates/systemd/matrix-ketesa.service.j2" + dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ketesa.service" + mode: '0644' + register: matrix_ketesa_systemd_service_result + +- name: Determine whether Ketesa needs a restart + ansible.builtin.set_fact: + matrix_ketesa_restart_necessary: >- + {{ + matrix_ketesa_support_files_result.changed | default(false) + or matrix_ketesa_config_result.changed | default(false) + or matrix_ketesa_systemd_service_result.changed | default(false) + or matrix_ketesa_container_image_pull_result.changed | default(false) + }} diff --git a/roles/custom/matrix-ketesa/tasks/setup_uninstall.yml b/roles/custom/matrix-ketesa/tasks/setup_uninstall.yml new file mode 100644 index 000000000..7f3c4c26a --- /dev/null +++ b/roles/custom/matrix-ketesa/tasks/setup_uninstall.yml @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev +# SPDX-FileCopyrightText: 2026 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Check existence of matrix-ketesa service + ansible.builtin.stat: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ketesa.service" + register: matrix_ketesa_service_stat + +- when: matrix_ketesa_service_stat.stat.exists | bool + block: + - name: Ensure matrix-ketesa is stopped + ansible.builtin.service: + name: matrix-ketesa + state: stopped + enabled: false + daemon_reload: true + + - name: Ensure matrix-ketesa.service doesn't exist + ansible.builtin.file: + path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-ketesa.service" + state: absent + + - name: Ensure matrix-ketesa directory doesn't exist + ansible.builtin.file: + path: "{{ matrix_ketesa_base_path }}" + state: absent diff --git a/roles/custom/matrix-ketesa/tasks/validate_config.yml b/roles/custom/matrix-ketesa/tasks/validate_config.yml new file mode 100644 index 000000000..1f63e1463 --- /dev/null +++ b/roles/custom/matrix-ketesa/tasks/validate_config.yml @@ -0,0 +1,58 @@ +# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev +# SPDX-FileCopyrightText: 2022 MDAD project contributors +# SPDX-FileCopyrightText: 2025 Suguru Hirahara +# SPDX-FileCopyrightText: 2026 Nikita Chernyi +# +# SPDX-License-Identifier: AGPL-3.0-or-later + +--- + +- name: Fail if matrix-ketesa is enabled for a non-Synapse homeserver + ansible.builtin.fail: + msg: >- + matrix-ketesa can only be used with the Synapse homeserver implementation. + Your configuration has `matrix_ketesa_enabled: true`, but `matrix_homeserver_implementation` is set to `{{ matrix_homeserver_implementation }}`. + Disable matrix-ketesa or switch to Synapse. + when: + - matrix_ketesa_enabled | bool + - matrix_homeserver_implementation != 'synapse' + +- name: (Deprecation) Catch and report renamed matrix-ketesa settings + ansible.builtin.fail: + msg: >- + Your configuration contains a variable, which now has a different name. + Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). + when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" + with_items: + - {'old': 'matrix_synapse_admin_docker_repo', 'new': 'matrix_ketesa_container_image_self_build_repo'} + - {'old': 'matrix_synapse_admin_container_self_build', 'new': 'matrix_ketesa_container_image_self_build'} + - {'old': 'matrix_synapse_admin_container_self_build_repo', 'new': 'matrix_ketesa_container_image_self_build_repo'} + - {'old': 'matrix_synapse_admin_public_endpoint', 'new': 'matrix_ketesa_path_prefix'} + - {'old': 'matrix_synapse_admin_nginx_proxy_integration_enabled', 'new': ''} + - {'old': 'matrix_synapse_admin_docker_image_name_prefix', 'new': 'matrix_ketesa_container_image_registry_prefix'} + - {'old': 'matrix_synapse_admin_docker_image', 'new': 'matrix_ketesa_container_image'} + - {'old': 'matrix_synapse_admin_docker_image_force_pull', 'new': 'matrix_ketesa_container_image_force_pull'} + - {'old': 'matrix_synapse_admin_docker_image_registry_prefix', 'new': 'matrix_ketesa_container_image_registry_prefix'} + - {'old': 'matrix_synapse_admin_docker_image_registry_prefix_upstream', 'new': 'matrix_ketesa_container_image_registry_prefix_upstream'} + - {'old': 'matrix_synapse_admin_docker_image_registry_prefix_upstream_default', 'new': 'matrix_ketesa_container_image_registry_prefix_upstream_default'} + - {'old': 'matrix_synapse_admin_docker_src_files_path', 'new': 'matrix_ketesa_container_src_files_path'} + +- when: matrix_ketesa_container_labels_traefik_enabled | bool + block: + - name: Fail if required matrix-ketesa Traefik settings not defined + ansible.builtin.fail: + msg: >- + You need to define a required configuration setting (`{{ item }}`). + when: "lookup('vars', item, default='') == ''" + with_items: + - matrix_ketesa_container_labels_traefik_hostname + - matrix_ketesa_container_labels_traefik_path_prefix + + # We ensure it doesn't end with a slash, because we handle both (slash and no-slash). + # Knowing that `matrix_ketesa_container_labels_traefik_path_prefix` does not end with a slash + # ensures we know how to set these routes up without having to do "does it end with a slash" checks elsewhere. + - name: Fail if matrix_ketesa_container_labels_traefik_path_prefix ends with a slash + ansible.builtin.fail: + msg: >- + matrix_ketesa_container_labels_traefik_path_prefix (`{{ matrix_ketesa_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/ketesa`). + when: "matrix_ketesa_container_labels_traefik_path_prefix != '/' and matrix_ketesa_container_labels_traefik_path_prefix[-1] == '/'" diff --git a/roles/custom/matrix-ketesa/templates/labels.j2 b/roles/custom/matrix-ketesa/templates/labels.j2 new file mode 100644 index 000000000..4fdec769a --- /dev/null +++ b/roles/custom/matrix-ketesa/templates/labels.j2 @@ -0,0 +1,59 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev +SPDX-FileCopyrightText: 2025 MDAD project contributors +SPDX-FileCopyrightText: 2026 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if matrix_ketesa_container_labels_traefik_enabled %} +traefik.enable=true + +{% if matrix_ketesa_container_labels_traefik_docker_network %} +traefik.docker.network={{ matrix_ketesa_container_labels_traefik_docker_network }} +{% endif %} + +traefik.http.services.matrix-ketesa.loadbalancer.server.port=8080 + +{% set middlewares = [] %} + +{% if matrix_ketesa_container_labels_traefik_ipallowlist_sourcerange | length > 0 %} +traefik.http.middlewares.matrix-ketesa-ipallowlist.ipallowlist.sourcerange={{ matrix_ketesa_container_labels_traefik_ipallowlist_sourcerange | join(',') }} +{% set middlewares = middlewares + ['matrix-ketesa-ipallowlist'] %} +{% endif %} + +{% if matrix_ketesa_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-ketesa-slashless-redirect.redirectregex.regex=({{ matrix_ketesa_container_labels_traefik_path_prefix | quote }})$ +traefik.http.middlewares.matrix-ketesa-slashless-redirect.redirectregex.replacement=${1}/ +{% set middlewares = middlewares + ['matrix-ketesa-slashless-redirect'] %} +{% endif %} + +{% if matrix_ketesa_container_labels_traefik_path_prefix != '/' %} +traefik.http.middlewares.matrix-ketesa-strip-prefix.stripprefix.prefixes={{ matrix_ketesa_container_labels_traefik_path_prefix }} +{% set middlewares = middlewares + ['matrix-ketesa-strip-prefix'] %} +{% endif %} + +{% if matrix_ketesa_container_labels_traefik_additional_response_headers.keys() | length > 0 %} +{% for name, value in matrix_ketesa_container_labels_traefik_additional_response_headers.items() %} +traefik.http.middlewares.matrix-ketesa-add-headers.headers.customresponseheaders.{{ name }}={{ value }} +{% endfor %} +{% set middlewares = middlewares + ['matrix-ketesa-add-headers'] %} +{% endif %} + +traefik.http.routers.matrix-ketesa.rule={{ matrix_ketesa_container_labels_traefik_rule }} +{% if matrix_ketesa_container_labels_traefik_priority | int > 0 %} +traefik.http.routers.matrix-ketesa.priority={{ matrix_ketesa_container_labels_traefik_priority }} +{% endif %} +{% if middlewares | length > 0 %} +traefik.http.routers.matrix-ketesa.middlewares={{ middlewares | join(',') }} +{% endif %} +traefik.http.routers.matrix-ketesa.service=matrix-ketesa +traefik.http.routers.matrix-ketesa.entrypoints={{ matrix_ketesa_container_labels_traefik_entrypoints }} +traefik.http.routers.matrix-ketesa.tls={{ matrix_ketesa_container_labels_traefik_tls | to_json }} +{% if matrix_ketesa_container_labels_traefik_tls %} +traefik.http.routers.matrix-ketesa.tls.certResolver={{ matrix_ketesa_container_labels_traefik_tls_certResolver }} +{% endif %} + +{% endif %} + +{{ matrix_ketesa_container_labels_additional_labels }} diff --git a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 b/roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2 similarity index 52% rename from roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 rename to roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2 index 47eafe72f..2770f0079 100644 --- a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2 +++ b/roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2 @@ -1,11 +1,11 @@ #jinja2: lstrip_blocks: True [Unit] -Description=matrix-synapse-admin -{% for service in matrix_synapse_admin_systemd_required_services_list %} +Description=matrix-ketesa +{% for service in matrix_ketesa_systemd_required_services_list %} Requires={{ service }} After={{ service }} {% endfor %} -{% for service in matrix_synapse_admin_systemd_wanted_services_list %} +{% for service in matrix_ketesa_systemd_wanted_services_list %} Wants={{ service }} {% endfor %} DefaultDependencies=no @@ -13,39 +13,39 @@ DefaultDependencies=no [Service] Type=simple Environment="HOME={{ devture_systemd_docker_base_systemd_unit_home_path }}" -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' -ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-admin 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ketesa 2>/dev/null || true' +ExecStartPre=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ketesa 2>/dev/null || true' ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ --rm \ - --name=matrix-synapse-admin \ + --name=matrix-ketesa \ --log-driver=none \ --cap-drop=ALL \ --read-only \ - --user={{ matrix_synapse_admin_container_uid }}:{{ matrix_synapse_admin_container_gid }} \ - --network={{ matrix_synapse_admin_container_network }} \ - {% if matrix_synapse_admin_container_http_host_bind_port %} - -p {{ matrix_synapse_admin_container_http_host_bind_port }}:8080 \ + --user={{ matrix_ketesa_container_uid }}:{{ matrix_ketesa_container_gid }} \ + --network={{ matrix_ketesa_container_network }} \ + {% if matrix_ketesa_container_http_host_bind_port %} + -p {{ matrix_ketesa_container_http_host_bind_port }}:8080 \ {% endif %} - --label-file={{ matrix_synapse_admin_base_path }}/labels \ - --mount type=bind,src={{ matrix_synapse_admin_config_path }}/config.json,dst=/var/public/config.json,ro \ - {% for arg in matrix_synapse_admin_container_extra_arguments %} + --label-file={{ matrix_ketesa_base_path }}/labels \ + --mount type=bind,src={{ matrix_ketesa_config_path }}/config.json,dst=/var/public/config.json,ro \ + {% for arg in matrix_ketesa_container_extra_arguments %} {{ arg }} \ {% endfor %} - {{ matrix_synapse_admin_container_image }} + {{ matrix_ketesa_container_image }} -{% for network in matrix_synapse_admin_container_additional_networks %} -ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-synapse-admin +{% for network in matrix_ketesa_container_additional_networks %} +ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} network connect {{ network }} matrix-ketesa {% endfor %} -ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-synapse-admin +ExecStart={{ devture_systemd_docker_base_host_command_docker }} start --attach matrix-ketesa -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-synapse-admin 2>/dev/null || true' -ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-synapse-admin 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} stop -t {{ devture_systemd_docker_base_container_stop_grace_time_seconds }} matrix-ketesa 2>/dev/null || true' +ExecStop=-{{ devture_systemd_docker_base_host_command_sh }} -c '{{ devture_systemd_docker_base_host_command_docker }} rm matrix-ketesa 2>/dev/null || true' Restart=always RestartSec=30 -SyslogIdentifier=matrix-synapse-admin +SyslogIdentifier=matrix-ketesa [Install] WantedBy=multi-user.target diff --git a/roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2.license b/roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2.license new file mode 100644 index 000000000..2215aa321 --- /dev/null +++ b/roles/custom/matrix-ketesa/templates/systemd/matrix-ketesa.service.j2.license @@ -0,0 +1,5 @@ +SPDX-FileCopyrightText: 2020 - 2026 Slavi Pantaleev +SPDX-FileCopyrightText: 2020 Dan Arnfield +SPDX-FileCopyrightText: 2026 Nikita Chernyi + +SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix-static-files/defaults/main.yml b/roles/custom/matrix-static-files/defaults/main.yml index 137dee2ba..ee8ef8eb7 100644 --- a/roles/custom/matrix-static-files/defaults/main.yml +++ b/roles/custom/matrix-static-files/defaults/main.yml @@ -192,15 +192,15 @@ matrix_static_files_file_matrix_client_property_io_element_e2ee_default: true # See: https://github.com/element-hq/element-web/blob/develop/docs/e2ee.md matrix_static_files_file_matrix_client_property_io_element_e2ee_force_disable: false -# Controls whether `cc.etke.synapse-admin`-related entries should be added to the client well-known. -# By default, if there are entries in `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin`, we show them (by enabling this). -matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: "{{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin | default({}) | dict2items | length > 0 }}" +# Controls whether `cc.etke.ketesa`-related entries should be added to the client well-known. +# By default, if there are entries in `matrix_static_files_file_matrix_client_property_cc_etke_ketesa`, we show them (by enabling this). +matrix_static_files_file_matrix_client_property_cc_etke_ketesa_enabled: "{{ matrix_static_files_file_matrix_client_property_cc_etke_ketesa | default({}) | dict2items | length > 0 }}" + +# Controls the cc.etke.ketesa property in the /.well-known/matrix/client file. +matrix_static_files_file_matrix_client_property_cc_etke_ketesa: "{{ matrix_static_files_file_matrix_client_property_cc_etke_ketesa_auto | combine(matrix_static_files_file_matrix_client_property_cc_etke_ketesa_custom, recursive=True) }}" +matrix_static_files_file_matrix_client_property_cc_etke_ketesa_auto: {} +matrix_static_files_file_matrix_client_property_cc_etke_ketesa_custom: {} -# Controls the cc.etke.synapse-admin property in the /.well-known/matrix/client file. -# See `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_entries_enabled` -matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin: "{{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto | combine(matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_custom, recursive=True) }}" -matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_auto: {} -matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_custom: {} # Controls whether `org.matrix.msc4143.rtc_foci`-related entries should be added to the client well-known. # By default, if there are entries in `matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci`, we show them (by enabling this). diff --git a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 index feabaeb2b..75fbff472 100644 --- a/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 +++ b/roles/custom/matrix-static-files/templates/public/.well-known/matrix/client.j2 @@ -52,9 +52,10 @@ "default": {{ matrix_static_files_file_matrix_client_property_io_element_e2ee_default|to_json }} } {% endif %} - {% if matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled %}, - "cc.etke.synapse-admin": {{ matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin | to_json }} + {% if matrix_static_files_file_matrix_client_property_cc_etke_ketesa_enabled %}, + "cc.etke.ketesa": {{ matrix_static_files_file_matrix_client_property_cc_etke_ketesa | to_json }} {% endif %} + {% if matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci_enabled %}, "org.matrix.msc4143.rtc_foci": {{ matrix_static_files_file_matrix_client_property_org_matrix_msc4143_rtc_foci | to_json }} {% endif %} diff --git a/roles/custom/matrix-synapse-admin/defaults/main.yml b/roles/custom/matrix-synapse-admin/defaults/main.yml deleted file mode 100644 index 515b98223..000000000 --- a/roles/custom/matrix-synapse-admin/defaults/main.yml +++ /dev/null @@ -1,260 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2021 Aaron Raimist -# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Dennis Ciba -# SPDX-FileCopyrightText: 2021 - 2025 MDAD project contributors -# SPDX-FileCopyrightText: 2021 Ahmad Haghighi -# SPDX-FileCopyrightText: 2022 - 2025 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2023 Samuel Meenzen -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- -# matrix-synapse-admin is a web UI for managing the Synapse Matrix server -# Project source code URL: https://github.com/Awesome-Technologies/synapse-admin -# Fork source code URL: https://github.com/etkecc/synapse-admin - -matrix_synapse_admin_enabled: true - -# A path on host where all related files will be saved -matrix_synapse_admin_base_path: "{{ matrix_base_data_path }}/synapse-admin" -matrix_synapse_admin_config_path: "{{ matrix_synapse_admin_base_path }}/config" -matrix_synapse_admin_container_src_files_path: "{{ matrix_synapse_admin_base_path }}/docker-src" - -matrix_synapse_admin_container_uid: '' -matrix_synapse_admin_container_gid: '' - -matrix_synapse_admin_container_image_self_build: false -matrix_synapse_admin_container_image_self_build_repo: "https://github.com/etkecc/synapse-admin.git" - -# renovate: datasource=docker depName=ghcr.io/etkecc/synapse-admin -matrix_synapse_admin_version: v0.11.4-etke54 -matrix_synapse_admin_container_image: "{{ matrix_synapse_admin_container_image_registry_prefix }}etkecc/synapse-admin:{{ matrix_synapse_admin_version }}" -matrix_synapse_admin_container_image_registry_prefix: "{{ 'localhost/' if matrix_synapse_admin_container_image_self_build else matrix_synapse_admin_container_image_registry_prefix_upstream }}" -matrix_synapse_admin_container_image_registry_prefix_upstream: "{{ matrix_synapse_admin_container_image_registry_prefix_upstream_default }}" -matrix_synapse_admin_container_image_registry_prefix_upstream_default: "ghcr.io/" -matrix_synapse_admin_container_image_force_pull: "{{ matrix_synapse_admin_container_image.endswith(':latest') }}" - -# The base container network -matrix_synapse_admin_container_network: matrix-synapse-admin - -# A list of additional container networks that the container would be connected to. -# The role does not create these networks, so make sure they already exist. -# Use this to expose this container to a reverse proxy, which runs in a different container network. -matrix_synapse_admin_container_additional_networks: [] - -# Controls whether the matrix-synapse-admin container exposes its HTTP port (tcp/8080 in the container). -# -# Takes an ":" or "" value (e.g. "127.0.0.1:8766"), or empty string to not expose. -matrix_synapse_admin_container_http_host_bind_port: '' - -# A list of extra arguments to pass to the container -matrix_synapse_admin_container_extra_arguments: [] - -# matrix_synapse_admin_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. -# See `../templates/labels.j2` for details. -# -# To inject your own other container labels, see `matrix_synapse_admin_container_labels_additional_labels`. -matrix_synapse_admin_container_labels_traefik_enabled: true -matrix_synapse_admin_container_labels_traefik_docker_network: "{{ matrix_synapse_admin_container_network }}" -matrix_synapse_admin_container_labels_traefik_hostname: "{{ matrix_synapse_admin_hostname }}" -# The path prefix must either be `/` or not end with a slash (e.g. `/synapse-admin`). -matrix_synapse_admin_container_labels_traefik_path_prefix: "{{ matrix_synapse_admin_path_prefix }}" -matrix_synapse_admin_container_labels_traefik_rule: "Host(`{{ matrix_synapse_admin_container_labels_traefik_hostname }}`){% if matrix_synapse_admin_container_labels_traefik_path_prefix != '/' %} && PathPrefix(`{{ matrix_synapse_admin_container_labels_traefik_path_prefix }}`){% endif %}" -matrix_synapse_admin_container_labels_traefik_priority: 0 -matrix_synapse_admin_container_labels_traefik_entrypoints: web-secure -matrix_synapse_admin_container_labels_traefik_tls: "{{ matrix_synapse_admin_container_labels_traefik_entrypoints != 'web' }}" -matrix_synapse_admin_container_labels_traefik_tls_certResolver: default # noqa var-naming -# This setting is to define a list ip addresses to allow access to synapse-admin. -# Each IP address should be in CIDR format, e.g. xxx.xxx.xxx.xxx/xx. -# For more information, see: https://doc.traefik.io/traefik/middlewares/http/ipallowlist/ -# If the list is empty, all IP addresses are allowed. -matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange: [] - -# Controls which additional headers to attach to all HTTP responses. -# To add your own headers, use `matrix_synapse_admin_container_labels_traefik_additional_response_headers_custom` -matrix_synapse_admin_container_labels_traefik_additional_response_headers: "{{ matrix_synapse_admin_container_labels_traefik_additional_response_headers_auto | combine(matrix_synapse_admin_container_labels_traefik_additional_response_headers_custom) }}" -matrix_synapse_admin_container_labels_traefik_additional_response_headers_auto: | - {{ - {} - | combine ({'X-XSS-Protection': matrix_synapse_admin_http_header_xss_protection} if matrix_synapse_admin_http_header_xss_protection else {}) - | combine ({'X-Content-Type-Options': matrix_synapse_admin_http_header_content_type_options} if matrix_synapse_admin_http_header_content_type_options else {}) - | combine ({'Content-Security-Policy': matrix_synapse_admin_http_header_content_security_policy} if matrix_synapse_admin_http_header_content_security_policy else {}) - | combine ({'Permission-Policy': matrix_synapse_admin_http_header_content_permission_policy} if matrix_synapse_admin_http_header_content_permission_policy else {}) - | combine ({'Strict-Transport-Security': matrix_synapse_admin_http_header_strict_transport_security} if matrix_synapse_admin_http_header_strict_transport_security and matrix_synapse_admin_container_labels_traefik_tls else {}) - }} -matrix_synapse_admin_container_labels_traefik_additional_response_headers_custom: {} - -# matrix_synapse_admin_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. -# See `../templates/labels.j2` for details. -# -# Example: -# matrix_synapse_admin_container_labels_additional_labels: | -# my.label=1 -# another.label="here" -matrix_synapse_admin_container_labels_additional_labels: '' - -# List of systemd services that matrix-synapse-admin.service depends on -matrix_synapse_admin_systemd_required_services_list: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" - -# List of systemd services that matrix-synapse-admin.service wants -matrix_synapse_admin_systemd_wanted_services_list: [] - -# Specifies the value of the `X-XSS-Protection` header -# Stops pages from loading when they detect reflected cross-site scripting (XSS) attacks. -# -# Learn more about it is here: -# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection -# - https://portswigger.net/web-security/cross-site-scripting/reflected -matrix_synapse_admin_http_header_xss_protection: "1; mode=block" - -# Specifies the value of the `X-Content-Type-Options` header. -# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options -matrix_synapse_admin_http_header_content_type_options: nosniff - -# Specifies the value of the `Content-Security-Policy` header. -# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy -matrix_synapse_admin_http_header_content_security_policy: frame-ancestors 'self' - -# Specifies the value of the `Permission-Policy` header. -# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permission-Policy -matrix_synapse_admin_http_header_content_permission_policy: "{{ 'interest-cohort=()' if matrix_synapse_admin_floc_optout_enabled else '' }}" - -# Specifies the value of the `Strict-Transport-Security` header. -# See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security -matrix_synapse_admin_http_header_strict_transport_security: "max-age=31536000; includeSubDomains{{ '; preload' if matrix_synapse_admin_hsts_preload_enabled else '' }}" - -# Controls whether to send a "Permissions-Policy interest-cohort=();" header along with all responses -# -# Learn more about what it is here: -# - https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea -# - https://paramdeo.com/blog/opting-your-website-out-of-googles-floc-network -# - https://amifloced.org/ -# -# Of course, a better solution is to just stop using browsers (like Chrome), which participate in such tracking practices. -# See: `matrix_synapse_admin_content_permission_policy` -matrix_synapse_admin_floc_optout_enabled: true - -# Controls if HSTS preloading is enabled -# -# In its strongest and recommended form, the [HSTS policy](https://www.chromium.org/hsts) includes all subdomains, and -# indicates a willingness to be "preloaded" into browsers: -# `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload` -# For more information visit: -# - https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security -# - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security -# - https://hstspreload.org/#opt-in -# See: `matrix_synapse_admin_http_header_strict_transport_security` -matrix_synapse_admin_hsts_preload_enabled: false - -# The hostname at which Synapse Admin is served. -matrix_synapse_admin_hostname: "{{ matrix_server_fqn_matrix }}" - -# The path at which Synapse Admin is exposed. -# This value must either be `/` or not end with a slash (e.g. `/synapse-admin`). -matrix_synapse_admin_path_prefix: /synapse-admin - -# Default synapse-admin configuration template which covers the generic use case. -# You can customize it by controlling the various variables inside it. -# -# For a more advanced customization, you can extend the default (see `matrix_synapse_admin_configuration_extension_json`) -# or completely replace this variable with your own template. -# -# The side-effect of this lookup is that Ansible would even parse the JSON for us, returning a dict. -# This is unlike what it does when looking up YAML template files (no automatic parsing there). -matrix_synapse_admin_configuration_default: - restrictBaseUrl: "{{ matrix_synapse_admin_config_restrictBaseUrl }}" - externalAuthProvider: "{{ matrix_synapse_admin_config_externalAuthProvider }}" - corsCredentials: "{{ matrix_synapse_admin_config_corsCredentials }}" - asManagedUsers: "{{ matrix_synapse_admin_config_asManagedUsers }}" - menu: "{{ matrix_synapse_admin_config_menu }}" - -# Your custom JSON configuration for synapse-admin should go to `matrix_synapse_admin_configuration_extension_json`. -# This configuration extends the default starting configuration (`matrix_synapse_admin_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_synapse_admin_configuration_default`. -# -# Example configuration extension follows: -# -# matrix_synapse_admin_configuration_extension_json: | -# { -# "some_setting": true, -# "another_setting": false -# } -matrix_synapse_admin_configuration_extension_json: '{}' - -# This is similar to `matrix_synapse_admin_configuration_extension_json`, but intended for use by playbook or group vars -matrix_synapse_admin_configuration_extension_json_auto: '{}' - -matrix_synapse_admin_configuration_extension: "{{ matrix_synapse_admin_configuration_extension_json_auto | from_json | combine(matrix_synapse_admin_configuration_extension_json | from_json if matrix_synapse_admin_configuration_extension_json | from_json is mapping else {}, recursive=True) }}" - -# Holds the final synapse-admin configuration (a combination of the default and its extension). -# You most likely don't need to touch this variable. Instead, see `matrix_synapse_admin_configuration_default`. -matrix_synapse_admin_configuration: "{{ matrix_synapse_admin_configuration_default | combine(matrix_synapse_admin_configuration_extension, recursive=True) }}" - -# Controls the restrictBaseUrl configuration setting, which, if defined, -# restricts the homeserver(s), so that the user can no longer define a homeserver manually during login. -matrix_synapse_admin_config_restrictBaseUrl: "{{ matrix_homeserver_url }}" # noqa var-naming - -# Controls the externalAuthProvider configuration setting, which, if defined, -# enables a special compatibility mode that works better for external auth providers like LDAP, MAS, etc. -matrix_synapse_admin_config_externalAuthProvider: false # noqa var-naming - -# Controls the corsCredentials configuration setting, which, if defined, -# allows including credentials (cookies, authorization headers, or TLS client certificates) in requests -# ref: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#including_credentials -matrix_synapse_admin_config_corsCredentials: "same-origin" # noqa var-naming - -# Controls the menu configuration setting, which, if defined, adds new menu items to the Synapse Admin UI. -# The format is a list of objects, where each object has the following keys: -# - `label` (string, required): The label of the menu item. -# - `i18n` (dict, optional): Dictionary of translations for the label. The keys should be BCP 47 language tags (e.g., en, fr, de) supported by Synapse Admin (see src/i18n). -# - `icon` (string, optional): The icon of the menu item, one of the https://github.com/etkecc/synapse-admin/blob/main/src/components/icons.ts -# - `url` (string, required): The URL of the menu item. -# Example: -# [ -# { -# "label": "Contact support", -# "i18n": { -# "de": "Support kontaktieren", -# "fr": "Contacter le support", -# "zh": "联系支持" -# }, -# "icon": "SupportAgent", -# "url": "https://github.com/etkecc/synapse-admin/issues" -# } -# ] -matrix_synapse_admin_config_menu: [] - -# Controls the asManagedUsers configuration setting (managed by playbook), which, if defined, -# restricts modifications of the specified users (e.g., bridge-managed). -# You should use JS regex syntax to match the user IDs. -# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] -# WARNING: you want to use matrix_synapse_admin_config_asManagedUsers_custom instead of this variable. -matrix_synapse_admin_config_asManagedUsers_auto: [] # noqa var-naming - -# Controls the asManagedUsers configuration setting (managed per host), which, if defined, -# restricts modifications of the specified users (e.g., bridge-managed). -# You should use JS regex syntax to match the user IDs. -# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] -matrix_synapse_admin_config_asManagedUsers_custom: [] # noqa var-naming - -# Controls the asManagedUsers configuration setting, which, if defined, -# restricts modifications of the specified users (e.g., bridge-managed). -# You should use JS regex syntax to match the user IDs. -# Example for mautrix-telegram: ["^@telegram_[a-zA-Z0-9]+:example\\.com$"] -# WARNING: you want to use matrix_synapse_admin_config_asManagedUsers_custom instead of this variable. -matrix_synapse_admin_config_asManagedUsers: "{{ matrix_synapse_admin_config_asManagedUsers_auto + matrix_synapse_admin_config_asManagedUsers_custom }}" # noqa var-naming - -# matrix_synapse_admin_restart_necessary controls whether the service -# will be restarted (when true) or merely started (when false) by the -# systemd service manager role (when conditional restart is enabled). -# -# This value is automatically computed during installation based on whether -# any configuration files, the systemd service file, or the container image changed. -# The default of `false` means "no restart needed" — appropriate when the role's -# installation tasks haven't run (e.g., due to --tags skipping them). -matrix_synapse_admin_restart_necessary: false diff --git a/roles/custom/matrix-synapse-admin/tasks/setup_install.yml b/roles/custom/matrix-synapse-admin/tasks/setup_install.yml deleted file mode 100644 index fac0f7fd3..000000000 --- a/roles/custom/matrix-synapse-admin/tasks/setup_install.yml +++ /dev/null @@ -1,102 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2024 Slavi Pantaleev -# SPDX-FileCopyrightText: 2020 Dennis Ciba -# SPDX-FileCopyrightText: 2021 Aaron Raimist -# SPDX-FileCopyrightText: 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2022 Marko Weltzer -# SPDX-FileCopyrightText: 2022 Nikita Chernyi -# SPDX-FileCopyrightText: 2022 Sebastian Gumprich -# SPDX-FileCopyrightText: 2024 David Mehren -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Ensure matrix-synapse-admin paths exists - ansible.builtin.file: - path: "{{ item.path }}" - state: directory - mode: '0750' - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - with_items: - - {path: "{{ matrix_synapse_admin_base_path }}", when: true} - - {path: "{{ matrix_synapse_admin_config_path }}", when: true} - - {path: "{{ matrix_synapse_admin_container_src_files_path }}", when: "{{ matrix_synapse_admin_container_image_self_build }}"} - when: "item.when | bool" - -- name: Ensure matrix-synapse-admin labels file is created - ansible.builtin.template: - src: "{{ role_path }}/templates/labels.j2" - dest: "{{ matrix_synapse_admin_base_path }}/labels" - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - mode: '0640' - register: matrix_synapse_admin_support_files_result - -- name: Ensure matrix-synapse-admin configuration installed - ansible.builtin.copy: - content: "{{ matrix_synapse_admin_configuration | to_nice_json }}" - dest: "{{ matrix_synapse_admin_config_path }}/config.json" - mode: '0644' - owner: "{{ matrix_user_name }}" - group: "{{ matrix_group_name }}" - register: matrix_synapse_admin_config_result - -- name: Ensure matrix-synapse-admin image is pulled - community.docker.docker_image: - name: "{{ matrix_synapse_admin_container_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_synapse_admin_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_admin_container_image_force_pull }}" - when: not matrix_synapse_admin_container_image_self_build | bool - register: matrix_synapse_admin_container_image_pull_result - retries: "{{ devture_playbook_help_container_retries_count }}" - delay: "{{ devture_playbook_help_container_retries_delay }}" - until: matrix_synapse_admin_container_image_pull_result is not failed - -- name: Ensure matrix-synapse-admin repository is present when self-building - ansible.builtin.git: - repo: "{{ matrix_synapse_admin_container_image_self_build_repo }}" - dest: "{{ matrix_synapse_admin_container_src_files_path }}" - version: "{{ matrix_synapse_admin_container_image.split(':')[1] }}" - force: "yes" - become: true - become_user: "{{ matrix_user_name }}" - register: matrix_synapse_admin_git_pull_results - when: matrix_synapse_admin_container_image_self_build | bool - -- name: Ensure matrix-synapse-admin Docker image is built - community.docker.docker_image: - name: "{{ matrix_synapse_admin_container_image }}" - source: build - force_source: "{{ matrix_synapse_admin_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_synapse_admin_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_synapse_admin_container_src_files_path }}" - pull: true - when: matrix_synapse_admin_container_image_self_build | bool - -- name: Ensure matrix-synapse-admin container network is created - community.general.docker_network: - enable_ipv6: "{{ devture_systemd_docker_base_ipv6_enabled }}" - name: "{{ matrix_synapse_admin_container_network }}" - driver: bridge - driver_options: "{{ devture_systemd_docker_base_container_networks_driver_options }}" - -- name: Ensure matrix-synapse-admin.service installed - ansible.builtin.template: - src: "{{ role_path }}/templates/systemd/matrix-synapse-admin.service.j2" - dest: "{{ devture_systemd_docker_base_systemd_path }}/matrix-synapse-admin.service" - mode: '0644' - register: matrix_synapse_admin_systemd_service_result - -- name: Determine whether Synapse Admin needs a restart - ansible.builtin.set_fact: - matrix_synapse_admin_restart_necessary: >- - {{ - matrix_synapse_admin_support_files_result.changed | default(false) - or matrix_synapse_admin_config_result.changed | default(false) - or matrix_synapse_admin_systemd_service_result.changed | default(false) - or matrix_synapse_admin_container_image_pull_result.changed | default(false) - }} diff --git a/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml b/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml deleted file mode 100644 index 5436bc82b..000000000 --- a/roles/custom/matrix-synapse-admin/tasks/setup_uninstall.yml +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-FileCopyrightText: 2022 - 2023 Slavi Pantaleev -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Check existence of matrix-synapse-admin service - ansible.builtin.stat: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-synapse-admin.service" - register: matrix_synapse_admin_service_stat - -- when: matrix_synapse_admin_service_stat.stat.exists | bool - block: - - name: Ensure matrix-synapse-admin is stopped - ansible.builtin.service: - name: matrix-synapse-admin - state: stopped - enabled: false - daemon_reload: true - - - name: Ensure matrix-synapse-admin.service doesn't exist - ansible.builtin.file: - path: "{{ devture_systemd_docker_base_systemd_path }}/matrix-synapse-admin.service" - state: absent - - - name: Ensure matrix-synapse-admin directory doesn't exist - ansible.builtin.file: - path: "{{ matrix_synapse_admin_base_path }}" - state: absent diff --git a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml b/roles/custom/matrix-synapse-admin/tasks/validate_config.yml deleted file mode 100644 index 77439ef8d..000000000 --- a/roles/custom/matrix-synapse-admin/tasks/validate_config.yml +++ /dev/null @@ -1,57 +0,0 @@ -# SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev -# SPDX-FileCopyrightText: 2022 MDAD project contributors -# SPDX-FileCopyrightText: 2025 Suguru Hirahara -# -# SPDX-License-Identifier: AGPL-3.0-or-later - ---- - -- name: Fail if matrix-synapse-admin is enabled for a non-Synapse homeserver - ansible.builtin.fail: - msg: >- - matrix-synapse-admin can only be used with the Synapse homeserver implementation. - Your configuration has `matrix_synapse_admin_enabled: true`, but `matrix_homeserver_implementation` is set to `{{ matrix_homeserver_implementation }}`. - Disable matrix-synapse-admin or switch to Synapse. - when: - - matrix_synapse_admin_enabled | bool - - matrix_homeserver_implementation != 'synapse' - -- name: (Deprecation) Catch and report renamed matrix-synapse-admin settings - ansible.builtin.fail: - msg: >- - Your configuration contains a variable, which now has a different name. - Please rename the variable (`{{ item.old }}` -> `{{ item.new }}`) on your configuration file (vars.yml). - when: "lookup('ansible.builtin.varnames', ('^' + item.old + '$'), wantlist=True) | length > 0" - with_items: - - {'old': 'matrix_synapse_admin_docker_repo', 'new': 'matrix_synapse_admin_container_self_build_repo'} - - {'old': 'matrix_synapse_admin_container_self_build', 'new': 'matrix_synapse_admin_container_image_self_build'} - - {'old': 'matrix_synapse_admin_container_self_build_repo', 'new': 'matrix_synapse_admin_container_image_self_build_repo'} - - {'old': 'matrix_synapse_admin_public_endpoint', 'new': 'matrix_synapse_admin_path_prefix'} - - {'old': 'matrix_synapse_admin_nginx_proxy_integration_enabled', 'new': ''} - - {'old': 'matrix_synapse_admin_docker_image_name_prefix', 'new': 'matrix_synapse_admin_container_image_registry_prefix'} - - {'old': 'matrix_synapse_admin_docker_image', 'new': 'matrix_synapse_admin_container_image'} - - {'old': 'matrix_synapse_admin_docker_image_force_pull', 'new': 'matrix_synapse_admin_container_image_force_pull'} - - {'old': 'matrix_synapse_admin_docker_image_registry_prefix', 'new': 'matrix_synapse_admin_container_image_registry_prefix'} - - {'old': 'matrix_synapse_admin_docker_image_registry_prefix_upstream', 'new': 'matrix_synapse_admin_container_image_registry_prefix_upstream'} - - {'old': 'matrix_synapse_admin_docker_image_registry_prefix_upstream_default', 'new': 'matrix_synapse_admin_container_image_registry_prefix_upstream_default'} - - {'old': 'matrix_synapse_admin_docker_src_files_path', 'new': 'matrix_synapse_admin_container_src_files_path'} - -- when: matrix_synapse_admin_container_labels_traefik_enabled | bool - block: - - name: Fail if required matrix-synapse-admin Traefik settings not defined - ansible.builtin.fail: - msg: >- - You need to define a required configuration setting (`{{ item }}`). - when: "lookup('vars', item, default='') == ''" - with_items: - - matrix_synapse_admin_container_labels_traefik_hostname - - matrix_synapse_admin_container_labels_traefik_path_prefix - - # We ensure it doesn't end with a slash, because we handle both (slash and no-slash). - # Knowing that `matrix_synapse_admin_container_labels_traefik_path_prefix` does not end with a slash - # ensures we know how to set these routes up without having to do "does it end with a slash" checks elsewhere. - - name: Fail if matrix_synapse_admin_container_labels_traefik_path_prefix ends with a slash - ansible.builtin.fail: - msg: >- - matrix_synapse_admin_container_labels_traefik_path_prefix (`{{ matrix_synapse_admin_container_labels_traefik_path_prefix }}`) must either be `/` or not end with a slash (e.g. `/synapse-admin`). - when: "matrix_synapse_admin_container_labels_traefik_path_prefix != '/' and matrix_synapse_admin_container_labels_traefik_path_prefix[-1] == '/'" diff --git a/roles/custom/matrix-synapse-admin/templates/labels.j2 b/roles/custom/matrix-synapse-admin/templates/labels.j2 deleted file mode 100644 index e030d49ca..000000000 --- a/roles/custom/matrix-synapse-admin/templates/labels.j2 +++ /dev/null @@ -1,58 +0,0 @@ -{# -SPDX-FileCopyrightText: 2023 - 2024 Slavi Pantaleev -SPDX-FileCopyrightText: 2025 MDAD project contributors - -SPDX-License-Identifier: AGPL-3.0-or-later -#} - -{% if matrix_synapse_admin_container_labels_traefik_enabled %} -traefik.enable=true - -{% if matrix_synapse_admin_container_labels_traefik_docker_network %} -traefik.docker.network={{ matrix_synapse_admin_container_labels_traefik_docker_network }} -{% endif %} - -traefik.http.services.matrix-synapse-admin.loadbalancer.server.port=8080 - -{% set middlewares = [] %} - -{% if matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange | length > 0 %} -traefik.http.middlewares.matrix-synapse-admin-ipallowlist.ipallowlist.sourcerange={{ matrix_synapse_admin_container_labels_traefik_ipallowlist_sourcerange | join(',') }} -{% set middlewares = middlewares + ['matrix-synapse-admin-ipallowlist'] %} -{% endif %} - -{% if matrix_synapse_admin_container_labels_traefik_path_prefix != '/' %} -traefik.http.middlewares.matrix-synapse-admin-slashless-redirect.redirectregex.regex=({{ matrix_synapse_admin_container_labels_traefik_path_prefix | quote }})$ -traefik.http.middlewares.matrix-synapse-admin-slashless-redirect.redirectregex.replacement=${1}/ -{% set middlewares = middlewares + ['matrix-synapse-admin-slashless-redirect'] %} -{% endif %} - -{% if matrix_synapse_admin_container_labels_traefik_path_prefix != '/' %} -traefik.http.middlewares.matrix-synapse-admin-strip-prefix.stripprefix.prefixes={{ matrix_synapse_admin_container_labels_traefik_path_prefix }} -{% set middlewares = middlewares + ['matrix-synapse-admin-strip-prefix'] %} -{% endif %} - -{% if matrix_synapse_admin_container_labels_traefik_additional_response_headers.keys() | length > 0 %} -{% for name, value in matrix_synapse_admin_container_labels_traefik_additional_response_headers.items() %} -traefik.http.middlewares.matrix-synapse-admin-add-headers.headers.customresponseheaders.{{ name }}={{ value }} -{% endfor %} -{% set middlewares = middlewares + ['matrix-synapse-admin-add-headers'] %} -{% endif %} - -traefik.http.routers.matrix-synapse-admin.rule={{ matrix_synapse_admin_container_labels_traefik_rule }} -{% if matrix_synapse_admin_container_labels_traefik_priority | int > 0 %} -traefik.http.routers.matrix-synapse-admin.priority={{ matrix_synapse_admin_container_labels_traefik_priority }} -{% endif %} -{% if middlewares | length > 0 %} -traefik.http.routers.matrix-synapse-admin.middlewares={{ middlewares | join(',') }} -{% endif %} -traefik.http.routers.matrix-synapse-admin.service=matrix-synapse-admin -traefik.http.routers.matrix-synapse-admin.entrypoints={{ matrix_synapse_admin_container_labels_traefik_entrypoints }} -traefik.http.routers.matrix-synapse-admin.tls={{ matrix_synapse_admin_container_labels_traefik_tls | to_json }} -{% if matrix_synapse_admin_container_labels_traefik_tls %} -traefik.http.routers.matrix-synapse-admin.tls.certResolver={{ matrix_synapse_admin_container_labels_traefik_tls_certResolver }} -{% endif %} - -{% endif %} - -{{ matrix_synapse_admin_container_labels_additional_labels }} diff --git a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license b/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license deleted file mode 100644 index 9b305e18b..000000000 --- a/roles/custom/matrix-synapse-admin/templates/systemd/matrix-synapse-admin.service.j2.license +++ /dev/null @@ -1,4 +0,0 @@ -SPDX-FileCopyrightText: 2020 - 2025 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Dan Arnfield - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/roles/custom/matrix_playbook_migration/defaults/main.yml b/roles/custom/matrix_playbook_migration/defaults/main.yml index 45b5f5d4e..cec31d74f 100644 --- a/roles/custom/matrix_playbook_migration/defaults/main.yml +++ b/roles/custom/matrix_playbook_migration/defaults/main.yml @@ -14,10 +14,13 @@ matrix_playbook_migration_validated_version: '' # The version that the playbook expects the user to have validated against. # This is bumped whenever a breaking change is introduced. # The value configured here needs to exist in `matrix_playbook_migration_breaking_changes` as well. -matrix_playbook_migration_expected_version: "v2026.04.02.0" +matrix_playbook_migration_expected_version: "v2026.04.03.0" # A list of breaking changes, used to inform users what changed between their validated version and the expected version. matrix_playbook_migration_breaking_changes: + - version: "v2026.04.03.0" + summary: "(BC Break) Synapse Admin is now Ketesa — role renamed and all variables changed from matrix_synapse_admin_* to matrix_ketesa_*" + changelog_url: "https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#2026-04-03" - version: "v2026.04.02.0" summary: "(BC Break) Draupnir-for-all self-service provisioning is now disabled by default" changelog_url: "https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/CHANGELOG.md#2026-04-02" @@ -90,6 +93,8 @@ matrix_playbook_migration_debian_signedby_migration_repository_path: "/etc/apt/s matrix_playbook_migration_docker_trusted_gpg_d_migration_enabled: true matrix_playbook_migration_docker_trusted_gpg_d_migration_repository_path: "/etc/apt/sources.list.d/docker.list" +matrix_playbook_migration_matrix_synapse_admin_ketesa_variable_transition_checks_enabled: true + # Controls if variable transition checks (related to the matrix-nginx-proxy elimination) will run. # If you'd like to keep some `matrix_nginx_proxy` and other variables around and not be warned about them, disable this. # Note: this is not just about `matrix_nginx_proxy_*` variables, but about various other variables that were removed diff --git a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml index c778c5023..83d3477c0 100644 --- a/roles/custom/matrix_playbook_migration/tasks/validate_config.yml +++ b/roles/custom/matrix_playbook_migration/tasks/validate_config.yml @@ -843,3 +843,23 @@ The following variables in your configuration need to be removed: {{ lookup('ansible.builtin.varnames', '^matrix_synapse_ext_synapse_auto_accept_invite_.+', wantlist=True) | join(', ') }} when: "lookup('ansible.builtin.varnames', '^matrix_synapse_ext_synapse_auto_accept_invite_.+', wantlist=True) | length > 0" + +# Note: we intentionally do NOT use a blanket `^matrix_synapse_admin_.+` pattern here. +# The matrix-synapse role has its own `matrix_synapse_admin_contact` variable (and others like +# `matrix_synapse_container_labels_*_synapse_admin_api_*`) that share the same prefix but relate +# to the Synapse Admin HTTP API, not the Ketesa web UI. A blanket match would produce false positives. +- name: (Deprecation) Catch and report matrix-synapse-admin variables renamed to matrix-ketesa + ansible.builtin.fail: + msg: |- + Synapse Admin has been rebranded to Ketesa. The `matrix-synapse-admin` role has been renamed to `matrix-ketesa`. + + All `matrix_synapse_admin_*` variables must be renamed to `matrix_ketesa_*` in your configuration file (vars.yml). + + Additionally, note that the Docker image changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. + + See `docs/configuring-playbook-ketesa.md` for more information. + + The following variables in your configuration need to be renamed: {{ lookup('ansible.builtin.varnames', '^matrix_synapse_admin_(enabled|base_path|config|container|hostname|path_prefix|http_|floc_|hsts_|restart_|systemd_)', wantlist=True) | join(', ') }} + when: + - matrix_playbook_migration_matrix_synapse_admin_ketesa_variable_transition_checks_enabled | bool + - "lookup('ansible.builtin.varnames', '^matrix_synapse_admin_(enabled|base_path|config|container|hostname|path_prefix|http_|floc_|hsts_|restart_|systemd_)', wantlist=True) | length > 0" diff --git a/setup.yml b/setup.yml index 60e926916..b319b087e 100644 --- a/setup.yml +++ b/setup.yml @@ -96,7 +96,7 @@ - custom/matrix-dendrite - custom/matrix-conduit - custom/matrix-continuwuity - - custom/matrix-synapse-admin + - custom/matrix-ketesa - custom/matrix-synapse-usage-exporter - galaxy/prometheus_nginxlog_exporter - galaxy/prometheus_node_exporter