From d618dc8cc62c6caa7f2cc67415873d305c952fa8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 7 Mar 2026 10:45:14 +0000 Subject: [PATCH] Automatic translations update --- i18n/translation-templates/CHANGELOG.pot | 7469 +++++++++-------- i18n/translation-templates/README.pot | 114 +- .../docs/configuring-playbook-bot-baibot.pot | 230 +- ...uring-playbook-bridge-appservice-slack.pot | 232 +- ...guring-playbook-bridge-mautrix-discord.pot | 94 +- ...figuring-playbook-bridge-mautrix-slack.pot | 66 +- .../configuring-playbook-client-sable.pot | 113 + .../configuring-playbook-continuwuity.pot | 46 +- .../docs/configuring-playbook-email.pot | 64 +- .../docs/configuring-playbook-jitsi.pot | 78 +- .../configuring-playbook-livekit-server.pot | 64 +- .../docs/configuring-playbook-matrix-rtc.pot | 6 +- ...onfiguring-playbook-prometheus-grafana.pot | 12 +- .../configuring-playbook-synapse-admin.pot | 74 +- ...ng-playbook-synapse-auto-accept-invite.pot | 50 +- ...g-playbook-synapse-s3-storage-provider.pot | 8 +- .../docs/configuring-playbook-synapse.pot | 94 +- .../docs/configuring-playbook-turn.pot | 160 +- .../docs/configuring-playbook.pot | 118 +- .../docs/container-images.pot | 62 +- i18n/translation-templates/docs/faq.pot | 146 +- .../translation-templates/docs/installing.pot | 36 +- i18n/translation-templates/docs/just.pot | 10 +- .../docs/maintenance-synapse.pot | 38 +- .../docs/prerequisites.pot | 26 +- .../docs/self-building.pot | 16 +- 26 files changed, 4834 insertions(+), 4592 deletions(-) create mode 100644 i18n/translation-templates/docs/configuring-playbook-client-sable.pot diff --git a/i18n/translation-templates/CHANGELOG.pot b/i18n/translation-templates/CHANGELOG.pot index 61b4ea062..2c981bf53 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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7851 +17,8072 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../../CHANGELOG.md:1 -msgid "2026-02-12" +msgid "2026-03-01" msgstr "" #: ../../../CHANGELOG.md:3 -msgid "Dimension integration manager has been removed from the playbook" +msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently" 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 "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:" 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 "the Synapse `s3_storage_provider` module configuration" msgstr "" -#: ../../../CHANGELOG.md:9 -msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:8 +msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)" 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." +#: ../../../CHANGELOG.md:10 +msgid "Previously, this variable could be set, but was not effectively applied by either of these paths." 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." +#: ../../../CHANGELOG.md:12 +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:15 -#: ../../../CHANGELOG.md:108 -msgid "You need to do the following replacement:" +#: ../../../CHANGELOG.md:14 +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:17 -msgid "`matrix_client_hydrogen_` -> `hydrogen_`" +#: ../../../CHANGELOG.md:16 +msgid "2026-02-26" 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." +#: ../../../CHANGELOG.md:18 +msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`" msgstr "" -#: ../../../CHANGELOG.md:21 -msgid "2026-02-11" +#: ../../../CHANGELOG.md:20 +msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role." msgstr "" -#: ../../../CHANGELOG.md:23 -msgid "(BC Break) coturn role has been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:22 +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: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." +#: ../../../CHANGELOG.md:24 +msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available." 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." +#: ../../../CHANGELOG.md:26 +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:31 -msgid "conduwuit has been removed from the playbook" +#: ../../../CHANGELOG.md:28 +msgid "2026-02-21" msgstr "" -#: ../../../CHANGELOG.md:33 -msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." +#: ../../../CHANGELOG.md:30 +msgid "(BC Break) coturn is no longer auto-enabled by default" 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:32 +msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment." +msgstr "" + +#: ../../../CHANGELOG.md:34 +msgid "This reduces resources and attach surface for deployments which:" +msgstr "" + +#: ../../../CHANGELOG.md:36 +msgid "either don't need calls at all" 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." +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:39 -msgid "2026-02-09" +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:41 -msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" +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:43 -msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:" 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)." +#: ../../../CHANGELOG.md:52 +msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik" 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." +#: ../../../CHANGELOG.md:54 +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:49 -msgid "**For existing installations**, retrieve your current values from the server:" +#: ../../../CHANGELOG.md:56 +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:55 -msgid "Then add to your `vars.yml`:" +#: ../../../CHANGELOG.md:58 +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:60 +msgid "2026-02-17" +msgstr "" + +#: ../../../CHANGELOG.md:62 +msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments" 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." +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:66 -msgid "2026-02-08" +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:68 -msgid "Zulip bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:130 +#: ../../../CHANGELOG.md:140 +#: ../../../CHANGELOG.md:201 +#: ../../../CHANGELOG.md:223 +#: ../../../CHANGELOG.md:758 +msgid "As always, the playbook would let you know about this and point out any variables you may have missed." 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." +msgid "synapse-auto-invite-accept has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:72 -msgid "Switched to faster secret derivation for service passwords" +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: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." +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: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." +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: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." +msgid "2026-02-16" 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." +msgid "matrix-appservice-slack has been removed from the playbook" 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." +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:84 -msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" +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: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." +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: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." +msgid "2026-02-13" +msgstr "" + +#: ../../../CHANGELOG.md:90 +msgid "Conditional service restart for `install-*` commands" msgstr "" #: ../../../CHANGELOG.md:92 -msgid "ma1sd has been removed from the playbook" +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:94 -msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time." +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before." 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)." +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: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." +msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:" msgstr "" #: ../../../CHANGELOG.md:100 -msgid "2026-02-07" +msgid "**Before**:" +msgstr "" + +#: ../../../CHANGELOG.md:101 +msgid "total time: ~56 seconds 🐌" msgstr "" #: ../../../CHANGELOG.md:102 -msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" +msgid "Traefik restarted: yes (unnecessarily) ❌" +msgstr "" + +#: ../../../CHANGELOG.md:103 +msgid "dependent services restarted: yes, all of them ❌" 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 "**After**:" +msgstr "" + +#: ../../../CHANGELOG.md:105 +msgid "total time: ~27 seconds ⚡" 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 "Traefik restarted: no ✅" msgstr "" -#: ../../../CHANGELOG.md:110 -msgid "`matrix_client_cinny_` -> `cinny_`" +#: ../../../CHANGELOG.md:107 +msgid "dependent services restarted: no ✅" +msgstr "" + +#: ../../../CHANGELOG.md:109 +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:112 +msgid "2026-02-12" msgstr "" #: ../../../CHANGELOG.md:114 -msgid "The Sliding Sync proxy has been removed from the playbook" +msgid "Dimension integration manager has been removed from the playbook" 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`)." +msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained." 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)." +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:120 -msgid "2026-02-04" +msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments" msgstr "" #: ../../../CHANGELOG.md:122 -msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" +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: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." +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:126 -msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" +#: ../../../CHANGELOG.md:219 +msgid "You need to do the following replacement:" 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." +#: ../../../CHANGELOG.md:128 +msgid "`matrix_client_hydrogen_` -> `hydrogen_`" msgstr "" -#: ../../../CHANGELOG.md:135 -msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" +#: ../../../CHANGELOG.md:132 +msgid "2026-02-11" 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))." +#: ../../../CHANGELOG.md:134 +msgid "(BC Break) coturn role has been relocated and variable names need adjustments" 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:136 +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: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:138 +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:143 -msgid "This change:" +#: ../../../CHANGELOG.md:142 +msgid "conduwuit has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:144 -msgid "**Automatically enables** when sync workers are configured (no action required)" -msgstr "" - -#: ../../../CHANGELOG.md:145 -msgid "**Works universally** with any authentication system" +msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned." msgstr "" #: ../../../CHANGELOG.md:146 -msgid "**Replaces the old implementation** entirely to keep the codebase simple" +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:147 -msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" +#: ../../../CHANGELOG.md:148 +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:149 -msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" +#: ../../../CHANGELOG.md:150 +msgid "2026-02-09" +msgstr "" + +#: ../../../CHANGELOG.md:152 +msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`" +msgstr "" + +#: ../../../CHANGELOG.md:154 +msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)" +msgstr "" + +#: ../../../CHANGELOG.md:156 +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:158 +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:160 -msgid "2025-12-09" -msgstr "" - -#: ../../../CHANGELOG.md:162 -msgid "Traefik Cert Dumper upgrade" -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." +msgid "**For existing installations**, retrieve your current values from the server:" 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." +msgid "Then add to your `vars.yml`:" msgstr "" -#: ../../../CHANGELOG.md:168 -msgid "2025-11-23" +#: ../../../CHANGELOG.md:175 +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:170 -msgid "Matrix.to support" +#: ../../../CHANGELOG.md:177 +msgid "2026-02-08" 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:179 +msgid "Zulip bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:174 -msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." +#: ../../../CHANGELOG.md:181 +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:176 -msgid "2025-11-09" +#: ../../../CHANGELOG.md:183 +msgid "Switched to faster secret derivation for service passwords" msgstr "" -#: ../../../CHANGELOG.md:178 -msgid "matrix-appservice-webhooks has been removed from the playbook" +#: ../../../CHANGELOG.md:185 +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: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:187 +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: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)." -msgstr "" - -#: ../../../CHANGELOG.md:184 -msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" -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)." -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 "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:191 -msgid "`matrix_mautrix_instagram_*`" +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: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 "**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:195 -msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" +msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:196 -msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" +#: ../../../CHANGELOG.md:197 +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:198 -msgid "2025-11-08" +#: ../../../CHANGELOG.md:199 +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:200 -msgid "MatrixZulipBridge support" +#: ../../../CHANGELOG.md:203 +msgid "ma1sd has been removed from the playbook" 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/)." +#: ../../../CHANGELOG.md:205 +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:204 -msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +#: ../../../CHANGELOG.md:207 +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:206 -msgid "2025-11-07" +#: ../../../CHANGELOG.md:209 +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:208 -msgid "The matrix-chatgpt-bot has been removed from the playbook" +#: ../../../CHANGELOG.md:211 +msgid "2026-02-07" 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." +#: ../../../CHANGELOG.md:213 +msgid "(BC Break) Cinny role has been relocated and variable names need adjustments" 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:215 +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:214 -msgid "2025-11-05" +#: ../../../CHANGELOG.md:217 +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:216 -msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" -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." -msgstr "" - -#: ../../../CHANGELOG.md:222 -msgid "`matrix_mx_puppet_discord_*`" -msgstr "" - -#: ../../../CHANGELOG.md:223 -msgid "`matrix_mx_puppet_instagram_*`" -msgstr "" - -#: ../../../CHANGELOG.md:224 -msgid "`matrix_mx_puppet_slack_*`" +#: ../../../CHANGELOG.md:221 +msgid "`matrix_client_cinny_` -> `cinny_`" msgstr "" #: ../../../CHANGELOG.md:225 -msgid "`matrix_mx_puppet_twitter_*`" +msgid "The Sliding Sync proxy has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:227 +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:229 -msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" -msgstr "" - -#: ../../../CHANGELOG.md:230 -msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" +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:231 -msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" +msgid "2026-02-04" 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:233 +msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)" msgstr "" -#: ../../../CHANGELOG.md:234 -msgid "2025-11-04" +#: ../../../CHANGELOG.md:235 +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:236 -msgid "The Go Skype bridge 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." -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)." -msgstr "" - -#: ../../../CHANGELOG.md:242 -msgid "2025-10-02" +#: ../../../CHANGELOG.md:237 +msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:" msgstr "" #: ../../../CHANGELOG.md:244 -msgid "Element Admin support" +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: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)." +msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse" 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." +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: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)." +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:253 -msgid "2025-04-26" +#: ../../../CHANGELOG.md:252 +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:254 +msgid "This change:" msgstr "" #: ../../../CHANGELOG.md:255 -msgid "Continuwuity support" +msgid "**Automatically enables** when sync workers are configured (no action required)" +msgstr "" + +#: ../../../CHANGELOG.md:256 +msgid "**Works universally** with any authentication system" 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 "**Replaces the old implementation** entirely to keep the codebase simple" 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." +#: ../../../CHANGELOG.md:258 +msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments" 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." -msgstr "" - -#: ../../../CHANGELOG.md:263 -msgid "People that used to run conduwuit, may wish to:" -msgstr "" - -#: ../../../CHANGELOG.md:265 -msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" -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" -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:260 +msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:" msgstr "" #: ../../../CHANGELOG.md:271 -msgid "2025-04-09" +msgid "2025-12-09" msgstr "" #: ../../../CHANGELOG.md:273 -msgid "Element Call frontend installation is now optional" +msgid "Traefik Cert Dumper upgrade" 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**." +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: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)." +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: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)." +msgid "2025-11-23" 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:" +msgid "Matrix.to support" msgstr "" #: ../../../CHANGELOG.md:283 -msgid "Adjusting your `vars.yml` configuration like this:" +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:290 -msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" +#: ../../../CHANGELOG.md:285 +msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:292 -msgid "Getting rid of the `call.element.example.com` DNS record" +#: ../../../CHANGELOG.md:287 +msgid "2025-11-09" +msgstr "" + +#: ../../../CHANGELOG.md:289 +msgid "matrix-appservice-webhooks has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:291 +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:293 +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:295 -msgid "2025-03-15" +msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:297 -msgid "Element Call support" +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: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:331 +msgid "The playbook will let you know if you're using any variables for those bridges:" 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." +msgid "`matrix_mautrix_facebook_*`" 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:302 +msgid "`matrix_mautrix_instagram_*`" msgstr "" -#: ../../../CHANGELOG.md:305 -msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." +#: ../../../CHANGELOG.md:304 +#: ../../../CHANGELOG.md:338 +msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:" msgstr "" -#: ../../../CHANGELOG.md:308 -msgid "2025-03-08" +#: ../../../CHANGELOG.md:306 +msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:310 -msgid "6ïļâƒĢ IPv6 support enablement recommended by default" +#: ../../../CHANGELOG.md:307 +msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)" 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." +#: ../../../CHANGELOG.md:309 +msgid "2025-11-08" msgstr "" -#: ../../../CHANGELOG.md:314 -msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." +#: ../../../CHANGELOG.md:311 +msgid "MatrixZulipBridge support" msgstr "" -#: ../../../CHANGELOG.md:316 -msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" +#: ../../../CHANGELOG.md:313 +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:318 -msgid "enabling IPv6 support for the Docker container networks:" +#: ../../../CHANGELOG.md:315 +msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:317 +msgid "2025-11-07" 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`)" +msgid "The matrix-chatgpt-bot has been removed from the playbook" msgstr "" #: ../../../CHANGELOG.md:321 -msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" +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:322 -msgid "re-run the playbook fully: `just install-all`" +#: ../../../CHANGELOG.md:323 +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:324 -msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" +#: ../../../CHANGELOG.md:325 +msgid "2025-11-05" msgstr "" -#: ../../../CHANGELOG.md:326 -msgid "2025-02-26" +#: ../../../CHANGELOG.md:327 +msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:328 -msgid "ðŸŠĶ Bye-bye, Email2Matrix" +#: ../../../CHANGELOG.md:329 +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: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." +#: ../../../CHANGELOG.md:333 +msgid "`matrix_mx_puppet_discord_*`" 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." +#: ../../../CHANGELOG.md:334 +msgid "`matrix_mx_puppet_instagram_*`" msgstr "" #: ../../../CHANGELOG.md:335 -msgid "2025-02-23" +msgid "`matrix_mx_puppet_slack_*`" msgstr "" -#: ../../../CHANGELOG.md:337 -msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" +#: ../../../CHANGELOG.md:336 +msgid "`matrix_mx_puppet_twitter_*`" 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:340 +msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)" 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**." +msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)" msgstr "" -#: ../../../CHANGELOG.md:344 -msgid "In light of this new information, you have 2 options:" +#: ../../../CHANGELOG.md:342 +msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)" 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:343 +msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)" 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:345 +msgid "2025-11-04" 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:347 +msgid "The Go Skype bridge has been removed from the playbook" msgstr "" -#: ../../../CHANGELOG.md:352 -msgid "Consider closing the STUN/UDP port with the following configuration:" +#: ../../../CHANGELOG.md:349 +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:358 -msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" +#: ../../../CHANGELOG.md:351 +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:360 -msgid "2025-02-21" +#: ../../../CHANGELOG.md:353 +msgid "2025-10-02" msgstr "" -#: ../../../CHANGELOG.md:362 -msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" +#: ../../../CHANGELOG.md:355 +msgid "Element Admin support" +msgstr "" + +#: ../../../CHANGELOG.md:357 +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:359 +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:361 +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: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`." +msgid "2025-04-26" msgstr "" #: ../../../CHANGELOG.md:366 -msgid "This variable did **2 different things at once**:" +msgid "Continuwuity support" msgstr "" #: ../../../CHANGELOG.md:368 -msgid "ensured that container networks were created with IPv6 being enabled" +msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support." 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:370 +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:372 -msgid "`ip6tables` defaults to `true` for everyone" +#: ../../../CHANGELOG.md:585 +msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook." msgstr "" -#: ../../../CHANGELOG.md:373 -msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" +#: ../../../CHANGELOG.md:374 +msgid "People that used to run conduwuit, may wish to:" 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 "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)" msgstr "" -#: ../../../CHANGELOG.md:378 -msgid "This change affects you like this:" +#: ../../../CHANGELOG.md:377 +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: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):" +#: ../../../CHANGELOG.md:379 +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: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 "2025-04-09" 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 "Element Call frontend installation is now optional" +msgstr "" + +#: ../../../CHANGELOG.md:386 +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:388 +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:390 +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:392 +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:394 -msgid "Support for bridging to Bluesky via mautrix-bluesky" -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)." -msgstr "" - -#: ../../../CHANGELOG.md:398 -msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." +msgid "Adjusting your `vars.yml` configuration like this:" msgstr "" #: ../../../CHANGELOG.md:401 -msgid "2025-02-19" +msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)" msgstr "" #: ../../../CHANGELOG.md:403 -msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" +msgid "Getting rid of the `call.element.example.com` DNS record" 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:406 +msgid "2025-03-15" 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." +#: ../../../CHANGELOG.md:408 +msgid "Element Call support" msgstr "" -#: ../../../CHANGELOG.md:409 -msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." +#: ../../../CHANGELOG.md:410 +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:411 -msgid "ðŸ’Ą Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." +#: ../../../CHANGELOG.md:412 +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: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:414 +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:416 +msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page." 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)." +msgid "2025-03-08" +msgstr "" + +#: ../../../CHANGELOG.md:421 +msgid "6ïļâƒĢ IPv6 support enablement recommended by default" msgstr "" #: ../../../CHANGELOG.md:423 -msgid "2025-02-17" +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:425 -msgid "FluffyChat Web support" +msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support." 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." +msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:" msgstr "" #: ../../../CHANGELOG.md:429 -msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." +msgid "enabling IPv6 support for the Docker container networks:" +msgstr "" + +#: ../../../CHANGELOG.md:430 +msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file" +msgstr "" + +#: ../../../CHANGELOG.md:431 +msgid "stop all services (`just stop-all`)" msgstr "" #: ../../../CHANGELOG.md:432 -msgid "2025-02-03" +msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`" msgstr "" -#: ../../../CHANGELOG.md:434 -msgid "The mautrix-hangouts bridge has been removed from the playbook" +#: ../../../CHANGELOG.md:433 +msgid "re-run the playbook fully: `just install-all`" 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." +#: ../../../CHANGELOG.md:435 +msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)" msgstr "" -#: ../../../CHANGELOG.md:438 -msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022." +#: ../../../CHANGELOG.md:437 +msgid "2025-02-26" 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:439 +msgid "ðŸŠĶ Bye-bye, Email2Matrix" +msgstr "" + +#: ../../../CHANGELOG.md:441 +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:443 -msgid "2025-01-27" +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:445 -msgid "Redis and KeyDB are no longer part of the playbook" +#: ../../../CHANGELOG.md:446 +msgid "2025-02-23" 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:448 +msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again" msgstr "" -#: ../../../CHANGELOG.md:449 -msgid "The playbook has gone through several iterations of memorystore implementations:" -msgstr "" - -#: ../../../CHANGELOG.md:451 -msgid "It initially used Redis, auto-installing it when needed by features/services" +#: ../../../CHANGELOG.md:450 +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: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" -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" +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:455 -msgid "To reduce configuration complexity and maintenance overhead, we are now:" +msgid "In light of this new information, you have 2 options:" msgstr "" #: ../../../CHANGELOG.md:457 -msgid "removing Redis and KeyDB support entirely" +msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:" msgstr "" -#: ../../../CHANGELOG.md:458 -msgid "using Valkey as the sole Redis-compatible memorystore implementation" +#: ../../../CHANGELOG.md:459 +msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again." msgstr "" -#: ../../../CHANGELOG.md:460 -msgid "To update your configuration:" -msgstr "" - -#: ../../../CHANGELOG.md:462 -msgid "**Most users** don't need to do anything" +#: ../../../CHANGELOG.md:461 +msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:" msgstr "" #: ../../../CHANGELOG.md:463 -msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" +msgid "Consider closing the STUN/UDP port with the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:466 -msgid "2025-01-19" +#: ../../../CHANGELOG.md:469 +msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)" msgstr "" -#: ../../../CHANGELOG.md:468 -msgid "conduwuit support" +#: ../../../CHANGELOG.md:471 +msgid "2025-02-21" 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:473 +msgid "Docker daemon options are no longer adjusted when IPv6 is enabled" 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:475 +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: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:477 +msgid "This variable did **2 different things at once**:" 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." +#: ../../../CHANGELOG.md:479 +msgid "ensured that container networks were created with IPv6 being enabled" msgstr "" -#: ../../../CHANGELOG.md:481 -msgid "2025-01-14" +#: ../../../CHANGELOG.md:480 +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:482 +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:483 -msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" +msgid "`ip6tables` defaults to `true` for everyone" msgstr "" -#: ../../../CHANGELOG.md:485 -msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +#: ../../../CHANGELOG.md:484 +msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary" 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." +#: ../../../CHANGELOG.md:486 +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: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 "This change affects you like this:" 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 "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected" +msgstr "" + +#: ../../../CHANGELOG.md:492 +msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):" 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 "✅ .. 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:501 -msgid "2024-11-26" -msgstr "" - -#: ../../../CHANGELOG.md:503 -msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" +#: ../../../CHANGELOG.md:494 +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: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)." +msgid "Support for bridging to Bluesky via mautrix-bluesky" 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 "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:509 -msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago." +msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page." 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." +#: ../../../CHANGELOG.md:512 +msgid "2025-02-19" msgstr "" -#: ../../../CHANGELOG.md:513 -msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." +#: ../../../CHANGELOG.md:514 +msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP" 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." +#: ../../../CHANGELOG.md:516 +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: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." +#: ../../../CHANGELOG.md:518 +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:520 -msgid "2024-11-23" +msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**." msgstr "" #: ../../../CHANGELOG.md:522 -msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" +msgid "ðŸ’Ą Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`." 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." -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.)." -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 "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: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." -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 "[!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: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 "2025-02-17" 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 "FluffyChat Web support" 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 "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:540 +msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page." +msgstr "" + +#: ../../../CHANGELOG.md:543 +msgid "2025-02-03" +msgstr "" + +#: ../../../CHANGELOG.md:545 +msgid "The mautrix-hangouts bridge has been removed from the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:547 +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: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 "This is because Google Hangouts has been discontinued since the 1st of November 2022." 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 "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:554 +msgid "2025-01-27" +msgstr "" + +#: ../../../CHANGELOG.md:556 +msgid "Redis and KeyDB are no longer part of the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:558 +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:560 +msgid "The playbook has gone through several iterations of memorystore implementations:" msgstr "" #: ../../../CHANGELOG.md:562 -msgid "2024-11-14" +msgid "It initially used Redis, auto-installing it when needed by features/services" +msgstr "" + +#: ../../../CHANGELOG.md:563 +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:564 -msgid "HTTP-compression support for Traefik-based setups" +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: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`)." +msgid "To reduce configuration complexity and maintenance overhead, we are now:" 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 "removing Redis and KeyDB support entirely" 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." +#: ../../../CHANGELOG.md:569 +msgid "using Valkey as the sole Redis-compatible memorystore implementation" 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`)." +#: ../../../CHANGELOG.md:571 +msgid "To update your configuration:" +msgstr "" + +#: ../../../CHANGELOG.md:573 +msgid "**Most users** don't need to do anything" 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:" -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)" +msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead" msgstr "" #: ../../../CHANGELOG.md:577 -msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" +msgid "2025-01-19" 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`)" +#: ../../../CHANGELOG.md:579 +msgid "conduwuit support" msgstr "" -#: ../../../CHANGELOG.md:580 -msgid "Timeout adjustments for Traefik-based setups" +#: ../../../CHANGELOG.md:581 +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: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:583 +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: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." +#: ../../../CHANGELOG.md:587 +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: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:589 +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: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:592 +msgid "2025-01-14" msgstr "" -#: ../../../CHANGELOG.md:590 -msgid "Example of the default timeout values used by the playbook:" +#: ../../../CHANGELOG.md:594 +msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13" 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:596 +msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)." +msgstr "" + +#: ../../../CHANGELOG.md:598 +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:600 +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:602 +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:604 -msgid "2024-11-08" -msgstr "" - -#: ../../../CHANGELOG.md:606 -msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client" -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)." -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 "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: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`" +msgid "2024-11-26" msgstr "" -#: ../../../CHANGELOG.md:615 -msgid "2024-10-28" +#: ../../../CHANGELOG.md:614 +msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media" msgstr "" -#: ../../../CHANGELOG.md:617 -msgid "(BC Break) Postmoogle's variable names need adjustments" +#: ../../../CHANGELOG.md:616 +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: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." +#: ../../../CHANGELOG.md:618 +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:621 -msgid "2024-10-19" +#: ../../../CHANGELOG.md:620 +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:623 -msgid "Support for Matrix Authentication Service" +#: ../../../CHANGELOG.md:622 +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:625 -msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." +#: ../../../CHANGELOG.md:624 +msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing." 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." +#: ../../../CHANGELOG.md:626 +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: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." +#: ../../../CHANGELOG.md:628 +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: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 "2024-11-23" msgstr "" -#: ../../../CHANGELOG.md:634 -msgid "2024-09-27" +#: ../../../CHANGELOG.md:633 +msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB" msgstr "" -#: ../../../CHANGELOG.md:636 -msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" +#: ../../../CHANGELOG.md:635 +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: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:637 +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:640 -msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration." +#: ../../../CHANGELOG.md:639 +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:642 -msgid "You need to do the following replacements:" +#: ../../../CHANGELOG.md:641 +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:644 -msgid "`devture_postgres_` -> `postgres_`" +#: ../../../CHANGELOG.md:643 +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:645 -msgid "`devture_traefik_` -> `traefik_`" +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:650 -msgid "2024-09-12" +#: ../../../CHANGELOG.md:647 +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:652 -msgid "Support for baibot" -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. ðŸĪ–" -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)." -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:649 +#: ../../../CHANGELOG.md:989 +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:660 -msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." -msgstr "" - -#: ../../../CHANGELOG.md:662 -msgid "Switching synapse-admin to etke.cc's fork" -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." -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." -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." +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: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 "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:673 +msgid "2024-11-14" +msgstr "" + +#: ../../../CHANGELOG.md:675 +msgid "HTTP-compression support for Traefik-based setups" +msgstr "" + +#: ../../../CHANGELOG.md:677 +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:679 +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:681 +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:683 -msgid "2024-08-17" +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:685 -msgid "New appservice-double-puppet service for better double-puppeting" +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: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." +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:688 +msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`" 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." +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: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." +msgid "Timeout adjustments for Traefik-based setups" 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 "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:695 -msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +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:697 +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:699 +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: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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:706 -msgid "2024-08-15" -msgstr "" - -#: ../../../CHANGELOG.md:708 -msgid "matrix-media-repo now configured for Authenticated Media" -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))." +msgid "Example of the default timeout values used by the playbook:" 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." +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: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." +#: ../../../CHANGELOG.md:715 +msgid "2024-11-08" 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 "Support for synapse-admin auto-configuration via /.well-known/matrix/client" msgstr "" #: ../../../CHANGELOG.md:719 -msgid "2024-08-08" +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:721 -msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" +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: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 "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: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)." +#: ../../../CHANGELOG.md:726 +msgid "2024-10-28" 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:" +#: ../../../CHANGELOG.md:728 +msgid "(BC Break) Postmoogle's variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:733 -msgid "2024-07-25" +#: ../../../CHANGELOG.md:730 +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:735 -msgid "synapse-usage-exporter support" +#: ../../../CHANGELOG.md:732 +msgid "2024-10-19" 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 "Support for Matrix Authentication Service" 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 "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)." +msgstr "" + +#: ../../../CHANGELOG.md:738 +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:740 +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:742 -msgid "2024-07-06" +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:744 -msgid "matrix-alertmanager-receiver support" +#: ../../../CHANGELOG.md:745 +msgid "2024-09-27" 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)." +#: ../../../CHANGELOG.md:747 +msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments" msgstr "" -#: ../../../CHANGELOG.md:748 -msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." +#: ../../../CHANGELOG.md:749 +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:750 -msgid "Traefik v3 and HTTP/3 are here now" +#: ../../../CHANGELOG.md:751 +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: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:753 +msgid "You need to do the following replacements:" msgstr "" -#: ../../../CHANGELOG.md:754 -msgid "Traefik v3" +#: ../../../CHANGELOG.md:755 +msgid "`devture_postgres_` -> `postgres_`" 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/)." +msgid "`devture_traefik_` -> `traefik_`" msgstr "" -#: ../../../CHANGELOG.md:758 -msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." +#: ../../../CHANGELOG.md:761 +msgid "2024-09-12" 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." +#: ../../../CHANGELOG.md:763 +msgid "Support for baibot" msgstr "" -#: ../../../CHANGELOG.md:762 -msgid "**Most people using the playbook should not have to do any changes**." +#: ../../../CHANGELOG.md:765 +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: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/)." +#: ../../../CHANGELOG.md:767 +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: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)." +#: ../../../CHANGELOG.md:769 +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: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." +#: ../../../CHANGELOG.md:771 +msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page." msgstr "" -#: ../../../CHANGELOG.md:770 -msgid "HTTP/3 is enabled by default" +#: ../../../CHANGELOG.md:773 +msgid "Switching synapse-admin to etke.cc's fork" 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:775 +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: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**." +#: ../../../CHANGELOG.md:777 +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: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)." +#: ../../../CHANGELOG.md:779 +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: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)." -msgstr "" - -#: ../../../CHANGELOG.md:780 -msgid "To **disable HTTP/3**, you can use the following configuration:" +#: ../../../CHANGELOG.md:781 +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: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 "2024-08-17" msgstr "" -#: ../../../CHANGELOG.md:807 -msgid "2024-07-01" +#: ../../../CHANGELOG.md:796 +msgid "New appservice-double-puppet service for better double-puppeting" msgstr "" -#: ../../../CHANGELOG.md:809 -msgid "synapse-admin is now restricted to your homeserver's URL by default" +#: ../../../CHANGELOG.md:798 +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: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 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: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." +#: ../../../CHANGELOG.md:802 +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:815 -msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" +#: ../../../CHANGELOG.md:804 +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:806 +msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../CHANGELOG.md:812 +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:814 +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:817 +msgid "2024-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:819 +msgid "matrix-media-repo now configured for Authenticated Media" +msgstr "" + +#: ../../../CHANGELOG.md:821 +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:823 -msgid "2024-06-25" +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:825 -msgid "The URL-prefix for Hookshot generic webhooks has changed" +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:827 -msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." +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:829 -msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." +#: ../../../CHANGELOG.md:830 +msgid "2024-08-08" 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`)." +#: ../../../CHANGELOG.md:832 +msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3" 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." +#: ../../../CHANGELOG.md:834 +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:835 -msgid "When generating new webhooks, you should start seeing the new URLs being used." +#: ../../../CHANGELOG.md:836 +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: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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:842 -msgid "2024-06-22" +#: ../../../CHANGELOG.md:838 +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:844 -msgid "The maubot user is now managed by the playbook" +msgid "2024-07-25" 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 "synapse-usage-exporter support" 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 "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: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 "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:853 -msgid "2024-06-03" +msgid "2024-07-06" msgstr "" #: ../../../CHANGELOG.md:855 -msgid "WeChat bridging support" +msgid "matrix-alertmanager-receiver support" 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." +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:859 -msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." +msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details." msgstr "" -#: ../../../CHANGELOG.md:862 -msgid "2024-03-26" +#: ../../../CHANGELOG.md:861 +msgid "Traefik v3 and HTTP/3 are here now" msgstr "" -#: ../../../CHANGELOG.md:864 -msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" +#: ../../../CHANGELOG.md:863 +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: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/)." +#: ../../../CHANGELOG.md:865 +msgid "Traefik v3" 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/)." +#: ../../../CHANGELOG.md:867 +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: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`)." +#: ../../../CHANGELOG.md:869 +msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)." 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." +#: ../../../CHANGELOG.md:871 +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: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." +#: ../../../CHANGELOG.md:873 +msgid "**Most people using the playbook should not have to do any changes**." 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)." +#: ../../../CHANGELOG.md:875 +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:877 +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:879 +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:881 +msgid "HTTP/3 is enabled by default" +msgstr "" + +#: ../../../CHANGELOG.md:883 +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:885 +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:887 -msgid "2024-03-24" +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:889 -msgid "Initial work on IPv6 support" +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: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)." +msgid "To **disable HTTP/3**, you can use the following configuration:" msgstr "" -#: ../../../CHANGELOG.md:893 -msgid "It should be noted that:" +#: ../../../CHANGELOG.md:905 +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: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" +#: ../../../CHANGELOG.md:918 +msgid "2024-07-01" 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)" +#: ../../../CHANGELOG.md:920 +msgid "synapse-admin is now restricted to your homeserver's URL by default" msgstr "" -#: ../../../CHANGELOG.md:897 -msgid "this is all very new and untested" +#: ../../../CHANGELOG.md:922 +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:899 -msgid "Pantalaimon support" +#: ../../../CHANGELOG.md:924 +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: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." -msgstr "" - -#: ../../../CHANGELOG.md:903 -msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:906 -msgid "2024-03-05" -msgstr "" - -#: ../../../CHANGELOG.md:908 -msgid "Support for Draupnir-for-all" -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)." -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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:917 -msgid "2024-02-19" -msgstr "" - -#: ../../../CHANGELOG.md:919 -msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" -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." -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." -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)" -msgstr "" - -#: ../../../CHANGELOG.md:931 -msgid "The documentation pages contain more information on how to migrate." +#: ../../../CHANGELOG.md:926 +msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:" msgstr "" #: ../../../CHANGELOG.md:934 -msgid "2024-02-14" +msgid "2024-06-25" msgstr "" #: ../../../CHANGELOG.md:936 -msgid "Much larger Synapse caches and cache auto-tuning enabled by default" +msgid "The URL-prefix for Hookshot generic webhooks has changed" 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)." +msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`." 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)." +msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)." 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:" +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: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" -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 "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:946 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +msgid "When generating new webhooks, you should start seeing the new URLs being used." msgstr "" #: ../../../CHANGELOG.md:948 -msgid "These values should be good defaults for most servers, but may change over time as we experiment further." +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: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." +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:953 -msgid "2024-01-31" +msgid "2024-06-22" msgstr "" #: ../../../CHANGELOG.md:955 -msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" +msgid "The maubot user is now managed by the playbook" 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." +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: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." +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: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." +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:964 -msgid "2024-01-20" +msgid "2024-06-03" msgstr "" #: ../../../CHANGELOG.md:966 -msgid "Support for more efficient (specialized) Synapse workers" +msgid "WeChat bridging support" 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 "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: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 "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started." 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)." +#: ../../../CHANGELOG.md:973 +msgid "2024-03-26" msgstr "" -#: ../../../CHANGELOG.md:974 -msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." +#: ../../../CHANGELOG.md:975 +msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis" msgstr "" #: ../../../CHANGELOG.md:977 -msgid "2024-01-17" +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:979 -msgid "Switching to Element's AGPLv3-licensed Synapse release" +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: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:" +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: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" +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: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" +#: ../../../CHANGELOG.md:985 +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: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." -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)." -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." -msgstr "" - -#: ../../../CHANGELOG.md:992 -msgid "**What does this mean to you?**" -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." -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:987 +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: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!" +msgid "2024-03-24" 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:" +msgid "Initial work on IPv6 support" +msgstr "" + +#: ../../../CHANGELOG.md:1002 +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:1004 +msgid "It should be noted that:" +msgstr "" + +#: ../../../CHANGELOG.md:1006 +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:1007 +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:1008 +msgid "this is all very new and untested" +msgstr "" + +#: ../../../CHANGELOG.md:1010 +msgid "Pantalaimon support" msgstr "" #: ../../../CHANGELOG.md:1012 -msgid "Notes:" +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: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" +msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started." 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:1017 +msgid "2024-03-05" msgstr "" -#: ../../../CHANGELOG.md:1018 -msgid "2024-01-16" +#: ../../../CHANGELOG.md:1019 +msgid "Support for Draupnir-for-all" msgstr "" -#: ../../../CHANGELOG.md:1020 -msgid "`Draupnir` has been relicensed to AFL-3.0" +#: ../../../CHANGELOG.md:1021 +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: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." +#: ../../../CHANGELOG.md:1023 +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:1024 -msgid "2024-01-15" -msgstr "" - -#: ../../../CHANGELOG.md:1026 -msgid "Goodbye, `matrix-nginx-proxy` ðŸŠĶ" +#: ../../../CHANGELOG.md:1025 +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: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." +msgid "2024-02-19" msgstr "" #: ../../../CHANGELOG.md:1030 -msgid "Backstory on `matrix-nginx-proxy`" +msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge" 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." +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: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." +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:1036 -msgid "To us, `matrix-nginx-proxy` was:" +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:1038 -msgid "an [nginx](https://nginx.org/)-based reverse-proxy" -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)" +msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.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" -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" +msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)" 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 documentation pages contain more information on how to migrate." 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)" +#: ../../../CHANGELOG.md:1045 +msgid "2024-02-14" 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:1047 +msgid "Much larger Synapse caches and cache auto-tuning enabled by default" 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:1049 +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: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:1051 +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: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." +#: ../../../CHANGELOG.md:1053 +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: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`." -msgstr "" - -#: ../../../CHANGELOG.md:1054 -msgid "Going Traefik-native and cutting out all middlemen" +#: ../../../CHANGELOG.md:1055 +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:1056 -msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." +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: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." +#: ../../../CHANGELOG.md:1057 +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" 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." +#: ../../../CHANGELOG.md:1059 +msgid "These values should be good defaults for most servers, but may change over time as we experiment further." msgstr "" -#: ../../../CHANGELOG.md:1062 -msgid "Traefik now has an extra job" +#: ../../../CHANGELOG.md:1061 +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: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." +msgid "2024-01-31" 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." +msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain" 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." +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: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." +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: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)." +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:1074 -msgid "Traefik serving this second purpose has a few downsides:" -msgstr "" - -#: ../../../CHANGELOG.md:1076 -msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" +#: ../../../CHANGELOG.md:1075 +msgid "2024-01-20" 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" +msgid "Support for more efficient (specialized) Synapse workers" 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)." +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: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." +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: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." +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: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." +msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section." msgstr "" -#: ../../../CHANGELOG.md:1087 -msgid "People managing their own Traefik instance need to do minor changes" +#: ../../../CHANGELOG.md:1088 +msgid "2024-01-17" 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." +#: ../../../CHANGELOG.md:1090 +msgid "Switching to Element's AGPLv3-licensed Synapse release" 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." +#: ../../../CHANGELOG.md:1092 +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:1093 -msgid "People fronting Traefik with another reverse proxy need to do minor changes" +#: ../../../CHANGELOG.md:1094 +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: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)." +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: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)." +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:1099 -msgid "Supported reverse proxy types are now fewer" +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: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 "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:1103 -msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups." +msgid "**What does this mean to you?**" msgstr "" #: ../../../CHANGELOG.md:1105 -msgid "The complexity of this is too high, so we only support 3 values right now:" +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: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)" -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 "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: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 "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: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 "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: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`." +#: ../../../CHANGELOG.md:1123 +msgid "Notes:" msgstr "" -#: ../../../CHANGELOG.md:1115 -msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +#: ../../../CHANGELOG.md:1125 +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: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)" +#: ../../../CHANGELOG.md:1127 +msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution." 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" +#: ../../../CHANGELOG.md:1129 +msgid "2024-01-16" msgstr "" -#: ../../../CHANGELOG.md:1120 -msgid "Container networking changes" +#: ../../../CHANGELOG.md:1131 +msgid "`Draupnir` has been relicensed to AFL-3.0" 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." +#: ../../../CHANGELOG.md:1133 +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: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." +#: ../../../CHANGELOG.md:1135 +msgid "2024-01-15" 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." +#: ../../../CHANGELOG.md:1137 +msgid "Goodbye, `matrix-nginx-proxy` ðŸŠĶ" 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:1139 +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: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:1141 +msgid "Backstory on `matrix-nginx-proxy`" 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:1143 +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:1134 -msgid "Metrics exposure changes" +#: ../../../CHANGELOG.md:1145 +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:1136 -msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." +#: ../../../CHANGELOG.md:1147 +msgid "To us, `matrix-nginx-proxy` was:" 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)." -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." -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!" -msgstr "" - -#: ../../../CHANGELOG.md:1146 -msgid "Matrix static files" -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." +#: ../../../CHANGELOG.md:1149 +msgid "an [nginx](https://nginx.org/)-based reverse-proxy" 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 "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:1151 +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: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 "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:1153 +msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)" msgstr "" #: ../../../CHANGELOG.md:1154 -msgid "A note on performance" +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:1156 -msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better." +#: ../../../CHANGELOG.md:1155 +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: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." +#: ../../../CHANGELOG.md:1157 +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:1160 -msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." +#: ../../../CHANGELOG.md:1159 +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: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." +#: ../../../CHANGELOG.md:1161 +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: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:1163 +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: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:1165 +msgid "Going Traefik-native and cutting out all middlemen" msgstr "" -#: ../../../CHANGELOG.md:1168 -msgid "Migration procedure" +#: ../../../CHANGELOG.md:1167 +msgid "In our new setup, you'll see the bare minimum number of reverse-proxies." msgstr "" -#: ../../../CHANGELOG.md:1170 -msgid "The updated playbook will automatically perform some migration tasks for you:" +#: ../../../CHANGELOG.md:1169 +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: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." +#: ../../../CHANGELOG.md:1171 +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: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 "Traefik now has an extra job" 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." +#: ../../../CHANGELOG.md:1175 +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: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." +#: ../../../CHANGELOG.md:1177 +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: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." +#: ../../../CHANGELOG.md:1179 +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: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." +#: ../../../CHANGELOG.md:1181 +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:1184 -msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." +#: ../../../CHANGELOG.md:1183 +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: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." +#: ../../../CHANGELOG.md:1185 +msgid "Traefik serving this second purpose has a few downsides:" +msgstr "" + +#: ../../../CHANGELOG.md:1187 +msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services" msgstr "" #: ../../../CHANGELOG.md:1188 -msgid "Conclusion" +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: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." +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: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!" +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:1195 -msgid "2024-01-14" +#: ../../../CHANGELOG.md:1194 +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:1197 -msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy" +#: ../../../CHANGELOG.md:1196 +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: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 "People managing their own Traefik instance need to do minor changes" 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 "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: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 "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: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 "People fronting Traefik with another reverse proxy need to do minor changes" msgstr "" -#: ../../../CHANGELOG.md:1207 -msgid "Adapt your configuration as seen below:" +#: ../../../CHANGELOG.md:1206 +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: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." +#: ../../../CHANGELOG.md:1208 +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:1210 +msgid "Supported reverse proxy types are now fewer" +msgstr "" + +#: ../../../CHANGELOG.md:1212 +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:1214 +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:1216 +msgid "The complexity of this is too high, so we only support 3 values right now:" +msgstr "" + +#: ../../../CHANGELOG.md:1218 +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:1219 +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:1220 +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:1222 +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:1224 +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:1226 +msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:" +msgstr "" + +#: ../../../CHANGELOG.md:1228 +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:1229 +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:1231 +msgid "Container networking changes" +msgstr "" + +#: ../../../CHANGELOG.md:1233 +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:1235 +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:1237 +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:1239 +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:1241 +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:1243 -msgid "2024-01-13" +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:1245 -msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" +msgid "Metrics exposure changes" 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." +msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server." 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)." +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: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 "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: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 "`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: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 "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:1257 -msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" +msgid "Matrix static files" msgstr "" #: ../../../CHANGELOG.md:1259 -msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" +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: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))" +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:1263 -msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`" +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:1266 -msgid "2024-01-05" +#: ../../../CHANGELOG.md:1265 +msgid "A note on performance" msgstr "" -#: ../../../CHANGELOG.md:1268 -msgid "matrix-mailer has been replaced by the exim-relay external role" +#: ../../../CHANGELOG.md:1267 +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: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." +#: ../../../CHANGELOG.md:1269 +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: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." +#: ../../../CHANGELOG.md:1271 +msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment." msgstr "" -#: ../../../CHANGELOG.md:1274 -msgid "To migrate:" +#: ../../../CHANGELOG.md:1273 +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:1276 -msgid "pull the playbook changes, as usual" +#: ../../../CHANGELOG.md:1275 +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:1277 -msgid "update your roles (run `just roles` or `make roles`)" -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 "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:1279 -msgid "re-run the playbook (`install-all` or `setup-all`)" +msgid "Migration procedure" 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`)." +msgid "The updated playbook will automatically perform some migration tasks for you:" msgstr "" -#: ../../../CHANGELOG.md:1284 -msgid "2024-01-02" +#: ../../../CHANGELOG.md:1283 +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:1286 -msgid "mautrix-signal now powered by the new Go-based bridge" +#: ../../../CHANGELOG.md:1285 +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: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." +#: ../../../CHANGELOG.md:1287 +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: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 "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: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 "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:1293 +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:1295 -msgid "2023-10-23" +msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing." msgstr "" #: ../../../CHANGELOG.md:1297 -msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" +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: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 "Conclusion" 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 "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: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 "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: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." +#: ../../../CHANGELOG.md:1306 +msgid "2024-01-14" 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." +#: ../../../CHANGELOG.md:1308 +msgid "(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:" +#: ../../../CHANGELOG.md:1310 +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: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." +#: ../../../CHANGELOG.md:1312 +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: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." +#: ../../../CHANGELOG.md:1314 +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: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." +#: ../../../CHANGELOG.md:1316 +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:1317 -msgid "Here are **actions you may wish to take** as a result of this change:" +#: ../../../CHANGELOG.md:1318 +msgid "Adapt your configuration as seen below:" 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." -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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:1326 -msgid "2023-10-18" -msgstr "" - -#: ../../../CHANGELOG.md:1328 -msgid "Postgres parameters are automatically tuned now" -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." -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/." -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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:1339 -msgid "2023-08-31" -msgstr "" - -#: ../../../CHANGELOG.md:1341 -msgid "SchildiChat Web support" -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." -msgstr "" - -#: ../../../CHANGELOG.md:1345 -msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." -msgstr "" - -#: ../../../CHANGELOG.md:1348 -msgid "2023-08-23" -msgstr "" - -#: ../../../CHANGELOG.md:1350 -msgid "mautrix-wsproxy support" -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)." +#: ../../../CHANGELOG.md:1351 +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: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 "2024-01-13" msgstr "" -#: ../../../CHANGELOG.md:1357 -msgid "2023-07-24" +#: ../../../CHANGELOG.md:1356 +msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings" msgstr "" -#: ../../../CHANGELOG.md:1359 -msgid "matrix-registration-bot usage changed" +#: ../../../CHANGELOG.md:1358 +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: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 "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: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 "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:1365 -msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" +#: ../../../CHANGELOG.md:1364 +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:1366 -msgid "`matrix_bot_matrix_registration_bot_api_token`" +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:1369 -msgid "2023-07-21" +#: ../../../CHANGELOG.md:1368 +msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:" msgstr "" -#: ../../../CHANGELOG.md:1371 -msgid "mautrix-gmessages support" +#: ../../../CHANGELOG.md:1370 +msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere" 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 "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:1376 -msgid "2023-07-17" +#: ../../../CHANGELOG.md:1374 +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:1378 -msgid "matrix-media-repo support" +#: ../../../CHANGELOG.md:1377 +msgid "2024-01-05" 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." +#: ../../../CHANGELOG.md:1379 +msgid "matrix-mailer has been replaced by the exim-relay external role" 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." +#: ../../../CHANGELOG.md:1381 +#: ../../../CHANGELOG.md:2019 +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:1383 +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:1385 -msgid "2023-05-25" +msgid "To migrate:" msgstr "" #: ../../../CHANGELOG.md:1387 -msgid "Enabling `forget_rooms_on_leave` by default for Synapse" +msgid "pull the playbook changes, as usual" +msgstr "" + +#: ../../../CHANGELOG.md:1388 +msgid "update your roles (run `just roles` or `make roles`)" 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**." +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:1391 -msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." +#: ../../../CHANGELOG.md:1390 +msgid "re-run the playbook (`install-all` or `setup-all`)" 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 "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: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`" +msgid "2024-01-02" msgstr "" -#: ../../../CHANGELOG.md:1398 -msgid "2023-04-03" +#: ../../../CHANGELOG.md:1397 +msgid "mautrix-signal now powered by the new Go-based bridge" msgstr "" -#: ../../../CHANGELOG.md:1400 -msgid "The matrix-jitsi role lives independently now" +#: ../../../CHANGELOG.md:1399 +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: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." +#: ../../../CHANGELOG.md:1401 +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: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." +#: ../../../CHANGELOG.md:1403 +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:1406 -msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" +msgid "2023-10-23" msgstr "" #: ../../../CHANGELOG.md:1408 -msgid "**native Traefik support** has been added" +msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse" 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)" +#: ../../../CHANGELOG.md:1410 +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:1411 -msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." +#: ../../../CHANGELOG.md:1412 +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:1413 -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:1415 -msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" +#: ../../../CHANGELOG.md:1414 +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:1416 -msgid "`matrix_jitsi_` -> `jitsi_`" +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:1417 -#: ../../../CHANGELOG.md:1444 -msgid "some other internal variables have changed, but the playbook will tell you about them" +#: ../../../CHANGELOG.md:1418 +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:1419 -msgid "2023-03-22" +#: ../../../CHANGELOG.md:1420 +msgid "The **historical reasoning** behind this change is as follows:" msgstr "" -#: ../../../CHANGELOG.md:1421 -msgid "ntfy Web App is disabled by default" +#: ../../../CHANGELOG.md:1422 +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: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))." +#: ../../../CHANGELOG.md:1424 +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: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))." +#: ../../../CHANGELOG.md:1426 +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:1428 -msgid "2023-03-21" +msgid "Here are **actions you may wish to take** as a result of this change:" msgstr "" #: ../../../CHANGELOG.md:1430 -msgid "The matrix-prometheus role lives independently 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: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." +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: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." +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: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." +#: ../../../CHANGELOG.md:1437 +msgid "2023-10-18" 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." +#: ../../../CHANGELOG.md:1439 +msgid "Postgres parameters are automatically tuned now" 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_`" +#: ../../../CHANGELOG.md:1441 +msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now." msgstr "" #: ../../../CHANGELOG.md:1443 -msgid "`matrix_prometheus_` -> `prometheus_`" +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:1445 +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:1447 -msgid "2023-03-12" +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:1449 -msgid "synapse-auto-compressor support" +#: ../../../CHANGELOG.md:1450 +msgid "2023-08-31" 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." +#: ../../../CHANGELOG.md:1452 +msgid "SchildiChat Web support" 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:" -msgstr "" - -#: ../../../CHANGELOG.md:1455 -msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" +#: ../../../CHANGELOG.md:1454 +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:1456 -msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore" +msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started." 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 "2023-08-23" 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 "mautrix-wsproxy support" msgstr "" #: ../../../CHANGELOG.md:1463 -msgid "2023-03-07" +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:1465 -msgid "Sliding Sync proxy (Element X) 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: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)." +#: ../../../CHANGELOG.md:1468 +msgid "2023-07-24" 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." +#: ../../../CHANGELOG.md:1470 +msgid "matrix-registration-bot usage changed" 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." +#: ../../../CHANGELOG.md:1472 +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:1474 -msgid "2023-03-02" +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:1476 -msgid "The matrix-etherpad role lives independently now" +msgid "`matrix_bot_matrix_registration_bot_bot_access_token`" 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." +#: ../../../CHANGELOG.md:1477 +msgid "`matrix_bot_matrix_registration_bot_api_token`" 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 "2023-07-21" 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:" +msgid "mautrix-gmessages support" msgstr "" #: ../../../CHANGELOG.md:1484 -msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" -msgstr "" - -#: ../../../CHANGELOG.md:1486 -msgid "Replace `matrix_etherpad_mode: dimension` with:" +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:1487 -msgid "for `matrix-nginx-proxy` users:" -msgstr "" - -#: ../../../CHANGELOG.md:1488 -msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" +msgid "2023-07-17" msgstr "" #: ../../../CHANGELOG.md:1489 -msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" -msgstr "" - -#: ../../../CHANGELOG.md:1490 -msgid "for Traefik users:" +msgid "matrix-media-repo support" msgstr "" #: ../../../CHANGELOG.md:1491 -msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" +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:1493 -msgid "Rename all other variables:" +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:1494 -msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" +#: ../../../CHANGELOG.md:1496 +msgid "2023-05-25" 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 "Enabling `forget_rooms_on_leave` by default for Synapse" msgstr "" #: ../../../CHANGELOG.md:1500 -msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" +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:1503 -msgid "2023-02-26" +#: ../../../CHANGELOG.md:1502 +msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving." msgstr "" -#: ../../../CHANGELOG.md:1505 -msgid "Traefik is the default reverse-proxy now" +#: ../../../CHANGELOG.md:1504 +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: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." +#: ../../../CHANGELOG.md:1506 +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: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 "2023-04-03" 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 "The matrix-jitsi role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1513 -msgid "Traefik managed by the playbook" -msgstr "" - -#: ../../../CHANGELOG.md:1514 -msgid "Traefik managed by the user in another way" +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: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 "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:1517 -msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook" +msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:" msgstr "" -#: ../../../CHANGELOG.md:1518 -msgid "`nginx` webserver operated by the user, running without a container on the same server" +#: ../../../CHANGELOG.md:1519 +msgid "**native Traefik support** has been added" 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." +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: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." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not." msgstr "" #: ../../../CHANGELOG.md:1524 -msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" +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:1526 -msgid "Traefik is now the default reverse-proxy for new installations" +msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`" 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 "`matrix_jitsi_` -> `jitsi_`" msgstr "" -#: ../../../CHANGELOG.md:1529 -msgid "How do I switch my existing setup to Traefik?" +#: ../../../CHANGELOG.md:1528 +#: ../../../CHANGELOG.md:1555 +msgid "some other internal variables have changed, but the playbook will tell you about them" 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)." +#: ../../../CHANGELOG.md:1530 +msgid "2023-03-22" msgstr "" -#: ../../../CHANGELOG.md:1533 -msgid "If you experience trouble:" +#: ../../../CHANGELOG.md:1532 +msgid "ntfy Web App is disabled by default" 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" +#: ../../../CHANGELOG.md:1534 +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:1536 -msgid "Ask for help in our [support channels](README.md#support)" -msgstr "" - -#: ../../../CHANGELOG.md:1537 -msgid "Try switching to Traefik again later" +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: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." +msgid "2023-03-21" msgstr "" #: ../../../CHANGELOG.md:1541 -msgid "I already use my own Traefik server. How do I plug that in?" +msgid "The matrix-prometheus role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1543 -msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." +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:1545 -msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" +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:1547 -msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." +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: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." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not." msgstr "" #: ../../../CHANGELOG.md:1551 -msgid "How do I remain on matrix-nginx-proxy?" +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: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 "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`" msgstr "" -#: ../../../CHANGELOG.md:1555 -msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." +#: ../../../CHANGELOG.md:1554 +msgid "`matrix_prometheus_` -> `prometheus_`" 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." +#: ../../../CHANGELOG.md:1558 +msgid "2023-03-12" msgstr "" -#: ../../../CHANGELOG.md:1559 -msgid "How do I keep using my own other reverse-proxy?" +#: ../../../CHANGELOG.md:1560 +msgid "synapse-auto-compressor support" 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 "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:1564 -msgid "2023-02-25" +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:1566 -msgid "rageshake support" +msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`" 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:1567 +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:1570 -msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." +#: ../../../CHANGELOG.md:1569 +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:1573 -msgid "2023-02-17" +#: ../../../CHANGELOG.md:1571 +msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1575 -msgid "Synapse templates customization support" +#: ../../../CHANGELOG.md:1574 +msgid "2023-03-07" msgstr "" -#: ../../../CHANGELOG.md:1577 -msgid "The playbook can now help you customize Synapse's templates." +#: ../../../CHANGELOG.md:1576 +msgid "Sliding Sync proxy (Element X) support" 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 "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:1581 -msgid "The matrix-redis role lives independently now" +#: ../../../CHANGELOG.md:1580 +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:1583 -msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1582 +msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page." 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 "2023-03-02" 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_`)." +msgid "The matrix-etherpad role lives independently now" msgstr "" #: ../../../CHANGELOG.md:1589 -msgid "The matrix-ntfy role lives independently now" +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:1591 -msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not." 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." +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: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_`)." +msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`" +msgstr "" + +#: ../../../CHANGELOG.md:1597 +msgid "Replace `matrix_etherpad_mode: dimension` with:" msgstr "" #: ../../../CHANGELOG.md:1598 -msgid "2023-02-15" +msgid "for `matrix-nginx-proxy` users:" +msgstr "" + +#: ../../../CHANGELOG.md:1599 +msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`" msgstr "" #: ../../../CHANGELOG.md:1600 -msgid "The matrix-grafana role lives independently now" +msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`" +msgstr "" + +#: ../../../CHANGELOG.md:1601 +msgid "for Traefik users:" 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." +msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit" 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." +msgid "Rename all other variables:" +msgstr "" + +#: ../../../CHANGELOG.md:1605 +msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`" 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_`)." +msgid "`matrix_etherpad_` -> `etherpad_`" msgstr "" -#: ../../../CHANGELOG.md:1609 -msgid "2023-02-13" +#: ../../../CHANGELOG.md:1608 +msgid "Along with this relocation, the new role also:" +msgstr "" + +#: ../../../CHANGELOG.md:1610 +msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures" msgstr "" #: ../../../CHANGELOG.md:1611 -msgid "The matrix-backup-borg role lives independently now" +msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)" 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 "2023-02-26" 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 "Traefik is the default reverse-proxy now" 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 "**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:1620 -msgid "2023-02-12" +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:1622 -msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support" +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:1624 -msgid "**TLDR**:" +msgid "Traefik managed by the playbook" +msgstr "" + +#: ../../../CHANGELOG.md:1625 +msgid "Traefik managed by the user in another way" 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." +msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)" 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 "another reverse-proxy on another host (`0.0.0.0` port exposure)" 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-nginx-proxy` — an `nginx` container managed by the playbook" 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." +msgid "`nginx` webserver operated by the user, running without a container on the same server" 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 "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:1632 -msgid "Motivation for redoing our reverse-proxy setup" +#: ../../../CHANGELOG.md:1633 +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: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 "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:" 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**." +#: ../../../CHANGELOG.md:1637 +msgid "Traefik is now the default reverse-proxy for new installations" 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." +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: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 "How do I switch my existing setup to Traefik?" 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 "**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:1644 -msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" +msgid "If you experience trouble:" 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 "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:1647 -msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." +msgid "Ask for help in our [support channels](README.md#support)" 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:1648 +msgid "Try switching to Traefik again later" msgstr "" -#: ../../../CHANGELOG.md:1651 -msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" +#: ../../../CHANGELOG.md:1650 +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: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 "I already use my own Traefik server. How do I plug that in?" 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 "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section." 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" +#: ../../../CHANGELOG.md:1656 +msgid "Why is matrix-nginx-proxy used even after switching to Traefik?" 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." +#: ../../../CHANGELOG.md:1658 +msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`." 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`." +#: ../../../CHANGELOG.md:1660 +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: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." +#: ../../../CHANGELOG.md:1662 +msgid "How do I remain on matrix-nginx-proxy?" msgstr "" -#: ../../../CHANGELOG.md:1663 -msgid "How do these changes fix all these problems?" +#: ../../../CHANGELOG.md:1664 +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: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." +#: ../../../CHANGELOG.md:1666 +msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration." 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." +#: ../../../CHANGELOG.md:1668 +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: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:1670 +msgid "How do I keep using my own other reverse-proxy?" 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." -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 "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: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-02-25" msgstr "" #: ../../../CHANGELOG.md:1677 -msgid "Where we're at right now?" +msgid "rageshake 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), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server." 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 "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)." 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`." +#: ../../../CHANGELOG.md:1684 +msgid "2023-02-17" msgstr "" -#: ../../../CHANGELOG.md:1685 -msgid "How do I explicitly switch to Traefik right now?" +#: ../../../CHANGELOG.md:1686 +msgid "Synapse templates customization support" 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 playbook can now help you customize Synapse's templates." 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 "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation." 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 "The matrix-redis role lives independently now" 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 "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact." 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." +#: ../../../CHANGELOG.md:1696 +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: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." +#: ../../../CHANGELOG.md:1698 +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: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." +#: ../../../CHANGELOG.md:1700 +msgid "The matrix-ntfy role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1705 -msgid "Where we're going in the near future?" +#: ../../../CHANGELOG.md:1702 +msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact." 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." +#: ../../../CHANGELOG.md:1704 +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:1706 +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:1709 -msgid "For now, `matrix-nginx-proxy` will stay around." +msgid "2023-02-15" 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 "The matrix-grafana role lives independently now" 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:" +msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact." 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 "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: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`)." -msgstr "" - -#: ../../../CHANGELOG.md:1718 -msgid "How do I help?" +#: ../../../CHANGELOG.md:1717 +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:1720 -msgid "You can help by:" +msgid "2023-02-13" 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" +msgid "The matrix-backup-borg role lives independently now" 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)." +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: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 "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:1729 -msgid "2023-02-10" +#: ../../../CHANGELOG.md:1728 +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:1731 -msgid "Matrix Authentication Support for Jitsi" +msgid "2023-02-12" 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))." +msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial 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)." +msgid "**TLDR**:" msgstr "" #: ../../../CHANGELOG.md:1737 -msgid "Draupnir moderation tool (bot) support" +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:1738 +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: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 "**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:1740 +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:1741 -msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." +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:1744 -msgid "2023-02-05" +#: ../../../CHANGELOG.md:1743 +msgid "Motivation for redoing our reverse-proxy setup" msgstr "" -#: ../../../CHANGELOG.md:1746 -msgid "The matrix-prometheus-postgres-exporter role lives independently now" +#: ../../../CHANGELOG.md:1745 +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:1748 -msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact." +#: ../../../CHANGELOG.md:1747 +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: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 "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: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 "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: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 "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:1755 +msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)" 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." +msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)." msgstr "" -#: ../../../CHANGELOG.md:1759 -msgid "2023-01-26" +#: ../../../CHANGELOG.md:1758 +msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations." msgstr "" -#: ../../../CHANGELOG.md:1761 -msgid "coturn can now use host-networking" +#: ../../../CHANGELOG.md:1760 +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: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." +#: ../../../CHANGELOG.md:1762 +msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:" +msgstr "" + +#: ../../../CHANGELOG.md:1764 +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: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 "[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: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." +#: ../../../CHANGELOG.md:1766 +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: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." +#: ../../../CHANGELOG.md:1768 +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:1775 -msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" +#: ../../../CHANGELOG.md:1770 +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: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:1772 +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: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:1774 +msgid "How do these changes fix all these problems?" 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:1776 +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: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:1778 +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:1780 +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:1782 +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:1784 +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:1786 -msgid "2023-01-21" +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:1788 -msgid "The matrix-prometheus-node-exporter role lives independently now" +msgid "Where we're at right now?" 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." +msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`." 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" +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: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." +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: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`)" +msgid "How do I explicitly switch to Traefik right now?" msgstr "" -#: ../../../CHANGELOG.md:1801 -msgid "2023-01-13" +#: ../../../CHANGELOG.md:1798 +msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:" msgstr "" -#: ../../../CHANGELOG.md:1803 -msgid "Support for running commands via just" +#: ../../../CHANGELOG.md:1804 +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: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." +#: ../../../CHANGELOG.md:1806 +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: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." +#: ../../../CHANGELOG.md:1808 +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: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 "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: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 "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: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 "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:1816 -msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" +msgid "Where we're going in the near future?" msgstr "" #: ../../../CHANGELOG.md:1818 -msgid "Additional helpful commands and shortcuts may be defined in the future." +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: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." +msgid "For now, `matrix-nginx-proxy` will stay around." msgstr "" -#: ../../../CHANGELOG.md:1823 -msgid "2023-01-11" +#: ../../../CHANGELOG.md:1822 +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:1825 -msgid "mautrix-slack support" +#: ../../../CHANGELOG.md:1824 +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:1826 +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: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 "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: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 "How do I help?" msgstr "" -#: ../../../CHANGELOG.md:1832 -msgid "2023-01-10" +#: ../../../CHANGELOG.md:1831 +msgid "You can help by:" msgstr "" -#: ../../../CHANGELOG.md:1834 -msgid "ChatGPT support" +#: ../../../CHANGELOG.md:1833 +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: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." +#: ../../../CHANGELOG.md:1835 +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:1838 -msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." +#: ../../../CHANGELOG.md:1837 +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:1841 -msgid "2022-11-30" +#: ../../../CHANGELOG.md:1840 +msgid "2023-02-10" msgstr "" -#: ../../../CHANGELOG.md:1843 -msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" +#: ../../../CHANGELOG.md:1842 +msgid "Matrix Authentication Support for Jitsi" 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 "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: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 "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:1848 +msgid "Draupnir moderation tool (bot) support" msgstr "" #: ../../../CHANGELOG.md:1850 -msgid "2022-11-28" +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:1852 -msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" +msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)." 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`)." +#: ../../../CHANGELOG.md:1855 +msgid "2023-02-05" 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." +#: ../../../CHANGELOG.md:1857 +msgid "The matrix-prometheus-postgres-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1858 -msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" -msgstr "" - -#: ../../../CHANGELOG.md:1860 -msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" +#: ../../../CHANGELOG.md:1859 +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:1861 -msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" +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: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 "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: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 "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:1867 -msgid "The playbook no longer installs scripts to /usr/local/bin" +#: ../../../CHANGELOG.md:1909 +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:1869 -msgid "The locations of various scripts installed by the playbook have changed." +#: ../../../CHANGELOG.md:1870 +msgid "2023-01-26" 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:" -msgstr "" - -#: ../../../CHANGELOG.md:1873 -msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" +#: ../../../CHANGELOG.md:1872 +msgid "coturn can now use host-networking" msgstr "" #: ../../../CHANGELOG.md:1874 -msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" -msgstr "" - -#: ../../../CHANGELOG.md:1875 -msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" +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:1876 -msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" +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:1879 -msgid "2022-11-25" +#: ../../../CHANGELOG.md:1882 +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:1881 -msgid "2x-5x performance improvements in playbook runtime" +#: ../../../CHANGELOG.md:1884 +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: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." +#: ../../../CHANGELOG.md:1886 +msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues" 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." +#: ../../../CHANGELOG.md:1888 +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:1887 -msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources." +#: ../../../CHANGELOG.md:1890 +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: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`):" +#: ../../../CHANGELOG.md:1892 +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: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**." -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`)**." -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." +#: ../../../CHANGELOG.md:1894 +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: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 "2023-01-21" msgstr "" -#: ../../../CHANGELOG.md:1900 -msgid "2022-11-22" +#: ../../../CHANGELOG.md:1899 +msgid "The matrix-prometheus-node-exporter role lives independently now" msgstr "" -#: ../../../CHANGELOG.md:1902 -msgid "Automatic `matrix_architecture` determination" +#: ../../../CHANGELOG.md:1901 +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: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:1903 +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:1906 -msgid "Docker and the Docker SDK for Python are now installed via external roles" +#: ../../../CHANGELOG.md:1905 +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: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:1907 +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: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`." +msgid "2023-01-13" 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." +msgid "Support for running commands via just" 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." +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:1919 -msgid "2022-11-20" +#: ../../../CHANGELOG.md:1918 +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:1921 -msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" +#: ../../../CHANGELOG.md:1920 +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:1922 +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: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 "`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:1924 +msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags" msgstr "" #: ../../../CHANGELOG.md:1925 -msgid "Background" +msgid "`just start-all` — (re-)starts all services" +msgstr "" + +#: ../../../CHANGELOG.md:1926 +msgid "`just stop-group postgres` — to stop only the Postgres service" 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 "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)" 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)." +msgid "Additional helpful commands and shortcuts may be defined in the future." msgstr "" #: ../../../CHANGELOG.md:1931 -msgid "Solution" +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: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:1934 +msgid "2023-01-11" 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)" -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 "mautrix-slack support" msgstr "" #: ../../../CHANGELOG.md:1938 -msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" +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:1939 -msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" -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" +#: ../../../CHANGELOG.md:1940 +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:1943 -msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" +msgid "2023-01-10" 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 "ChatGPT support" msgstr "" #: ../../../CHANGELOG.md:1947 -msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." +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: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 "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:1951 -msgid "Webserver configuration" +#: ../../../CHANGELOG.md:1952 +msgid "2022-11-30" 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" +#: ../../../CHANGELOG.md:1954 +msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role" 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 "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: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" -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:1958 +msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix." 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." +msgid "2022-11-28" msgstr "" -#: ../../../CHANGELOG.md:1964 -msgid "2022-11-05" +#: ../../../CHANGELOG.md:1963 +msgid "matrix-postgres has been replaced by the ansible-role-postgres external role" msgstr "" -#: ../../../CHANGELOG.md:1966 -msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" +#: ../../../CHANGELOG.md:1965 +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: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:1967 +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: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:1969 +msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:" +msgstr "" + +#: ../../../CHANGELOG.md:1971 +msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)" msgstr "" #: ../../../CHANGELOG.md:1972 -msgid "If you've already got both Etherpad and Dimension in use you could:" +msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one" 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." +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: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" +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:1979 -msgid "2022-11-04" +#: ../../../CHANGELOG.md:1978 +msgid "The playbook no longer installs scripts to /usr/local/bin" msgstr "" -#: ../../../CHANGELOG.md:1981 -msgid "The playbook now uses external roles for some things" +#: ../../../CHANGELOG.md:1980 +msgid "The locations of various scripts installed by the playbook have changed." 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." +#: ../../../CHANGELOG.md:1982 +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:1984 +msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`" msgstr "" #: ../../../CHANGELOG.md:1985 -msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." +msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`" +msgstr "" + +#: ../../../CHANGELOG.md:1986 +msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`" msgstr "" #: ../../../CHANGELOG.md:1987 -msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" +msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`" msgstr "" -#: ../../../CHANGELOG.md:1989 -msgid "those that live within the playbook itself (`roles/custom/*`)" +#: ../../../CHANGELOG.md:1990 +msgid "2022-11-25" 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." +#: ../../../CHANGELOG.md:1992 +msgid "2x-5x performance improvements in playbook runtime" 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." +#: ../../../CHANGELOG.md:1994 +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: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." +#: ../../../CHANGELOG.md:1996 +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: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 "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:2000 -msgid "2022-10-14" +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:2002 -msgid "synapse-s3-storage-provider support" +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:2004 -msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" +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: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 "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: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 "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: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:2011 +msgid "2022-11-22" msgstr "" -#: ../../../CHANGELOG.md:2012 -msgid "Synapse container image customization support" +#: ../../../CHANGELOG.md:2013 +msgid "Automatic `matrix_architecture` determination" 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:2015 +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: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:2017 +msgid "Docker and the Docker SDK for Python are now installed via external roles" 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 "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: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 "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: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:2025 +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:2027 +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:2030 +msgid "2022-11-20" +msgstr "" + +#: ../../../CHANGELOG.md:2032 +msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service" msgstr "" #: ../../../CHANGELOG.md:2034 -msgid "2022-10-02" +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:2036 -msgid "matrix-ldap-registration-proxy support" +msgid "Background" 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." +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:2040 -msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.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:2043 -msgid "2022-09-15" +#: ../../../CHANGELOG.md:2042 +msgid "Solution" msgstr "" -#: ../../../CHANGELOG.md:2045 -msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" +#: ../../../CHANGELOG.md:2044 +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: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:2046 +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:2048 +msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)" msgstr "" #: ../../../CHANGELOG.md:2049 -msgid "we've added support for [Stream writers](#stream-writers-support)" +msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic" 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)" +msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic" msgstr "" #: ../../../CHANGELOG.md:2052 -msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" -msgstr "" - -#: ../../../CHANGELOG.md:2053 -msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" +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:2054 -msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" -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 "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled" msgstr "" #: ../../../CHANGELOG.md:2056 -msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" +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:2058 -msgid "Stream writers support" +msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))." 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." +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: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 "Webserver configuration" msgstr "" #: ../../../CHANGELOG.md:2064 -msgid "If you'd like to customize the number of workers we also make that possible using these variables:" +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:2066 +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:2068 +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:2070 +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:2072 +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:2075 +msgid "2022-11-05" msgstr "" #: ../../../CHANGELOG.md:2077 -msgid "Multiple federation sender workers support" +msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad" 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 "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:2081 -msgid "Multiple pusher workers support" +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: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 "If you've already got both Etherpad and Dimension in use you could:" msgstr "" #: ../../../CHANGELOG.md:2085 -msgid "Background tasks can run on a worker" +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: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 "**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: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:2090 +msgid "2022-11-04" msgstr "" -#: ../../../CHANGELOG.md:2091 -msgid "Appservice worker support is back" +#: ../../../CHANGELOG.md:2092 +msgid "The playbook now uses external roles for some things" 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." +#: ../../../CHANGELOG.md:2094 +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: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." +#: ../../../CHANGELOG.md:2096 +msgid "We're in the process of trimming the playbook and making it reuse Ansible roles." 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." +#: ../../../CHANGELOG.md:2098 +msgid "Starting now, the playbook is composed of 2 types of Ansible roles:" msgstr "" -#: ../../../CHANGELOG.md:2099 -msgid "User Directory worker support is back" +#: ../../../CHANGELOG.md:2100 +msgid "those that live within the playbook itself (`roles/custom/*`)" 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." +#: ../../../CHANGELOG.md:2102 +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: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." +#: ../../../CHANGELOG.md:2104 +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: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." +#: ../../../CHANGELOG.md:2106 +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:2107 -msgid "Using more than 1 media repository worker is now more reliable" -msgstr "" - -#: ../../../CHANGELOG.md:2109 -msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." +#: ../../../CHANGELOG.md:2108 +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: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." +msgid "2022-10-14" msgstr "" #: ../../../CHANGELOG.md:2113 -msgid "Potential Backward Incompatibilities after these Synapse worker changes" +msgid "synapse-s3-storage-provider support" msgstr "" #: ../../../CHANGELOG.md:2115 -msgid "Below we'll discuss **potential backward incompatibilities**." +msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**" 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." +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: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." +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: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." +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: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." +msgid "Synapse container image customization support" msgstr "" -#: ../../../CHANGELOG.md:2126 -msgid "2022-09-09" +#: ../../../CHANGELOG.md:2125 +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:2128 -msgid "Cactus Comments support" +#: ../../../CHANGELOG.md:2127 +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: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:2129 +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:2132 -msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." +#: ../../../CHANGELOG.md:2140 +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:2135 -msgid "2022-08-23" +#: ../../../CHANGELOG.md:2142 +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:2137 -msgid "Postmoogle email bridge support" +#: ../../../CHANGELOG.md:2145 +msgid "2022-10-02" 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." +#: ../../../CHANGELOG.md:2147 +msgid "matrix-ldap-registration-proxy support" msgstr "" -#: ../../../CHANGELOG.md:2141 -msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started." +#: ../../../CHANGELOG.md:2149 +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:2144 -msgid "2022-08-10" +#: ../../../CHANGELOG.md:2151 +msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2146 -msgid "mautrix-whatsapp default configuration changes" +#: ../../../CHANGELOG.md:2154 +msgid "2022-09-15" 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:2156 +msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers" 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." +#: ../../../CHANGELOG.md:2158 +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: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." -msgstr "" - -#: ../../../CHANGELOG.md:2155 -msgid "2022-08-09" -msgstr "" - -#: ../../../CHANGELOG.md:2157 -msgid "Conduit support" -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." +#: ../../../CHANGELOG.md:2160 +msgid "we've added support for [Stream writers](#stream-writers-support)" 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 "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)" +msgstr "" + +#: ../../../CHANGELOG.md:2162 +msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)" msgstr "" #: ../../../CHANGELOG.md:2163 -msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" +msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)" +msgstr "" + +#: ../../../CHANGELOG.md:2164 +msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2165 +msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)" +msgstr "" + +#: ../../../CHANGELOG.md:2166 +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:2167 +msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)" 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 "Stream writers support" msgstr "" -#: ../../../CHANGELOG.md:2172 -msgid "2022-07-29" +#: ../../../CHANGELOG.md:2171 +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:2174 -msgid "mautrix-discord support" +#: ../../../CHANGELOG.md:2173 +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: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." +#: ../../../CHANGELOG.md:2175 +msgid "If you'd like to customize the number of workers we also make that possible using these variables:" 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)." -msgstr "" - -#: ../../../CHANGELOG.md:2181 -msgid "2022-07-27" -msgstr "" - -#: ../../../CHANGELOG.md:2183 -msgid "matrix-appservice-kakaotalk support" -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!" -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:2188 +msgid "Multiple federation sender workers support" msgstr "" #: ../../../CHANGELOG.md:2190 -msgid "2022-07-20" +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:2192 -msgid "maubot support" +msgid "Multiple pusher workers support" 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." +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:2196 -msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." +msgid "Background tasks can run on a worker" msgstr "" -#: ../../../CHANGELOG.md:2199 -msgid "2022-07-14" +#: ../../../CHANGELOG.md:2198 +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:2201 -msgid "mx-puppet-skype removal" +#: ../../../CHANGELOG.md:2200 +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: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." +#: ../../../CHANGELOG.md:2202 +msgid "Appservice worker support is back" msgstr "" -#: ../../../CHANGELOG.md:2205 -msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" +#: ../../../CHANGELOG.md:2204 +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:2207 -msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" +#: ../../../CHANGELOG.md:2206 +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:2208 -msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" -msgstr "" - -#: ../../../CHANGELOG.md:2209 -msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +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:2210 -msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" +msgid "User Directory worker support is back" 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:2212 +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: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:2214 +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: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:2216 +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:2217 -msgid "signald (0.19.0+) upgrade requires data migration" +#: ../../../CHANGELOG.md:2218 +msgid "Using more than 1 media repository worker is now more reliable" 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:2220 +msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker." 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:2222 +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: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:2224 +msgid "Potential Backward Incompatibilities after these Synapse worker changes" 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." +#: ../../../CHANGELOG.md:2226 +msgid "Below we'll discuss **potential backward incompatibilities**." 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 "**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:2230 -msgid "2022-07-05" +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:2232 -msgid "Ntfy push notifications 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: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." +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:2236 -msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." +#: ../../../CHANGELOG.md:2237 +msgid "2022-09-09" msgstr "" #: ../../../CHANGELOG.md:2239 -msgid "2022-06-23" +msgid "Cactus Comments support" msgstr "" #: ../../../CHANGELOG.md:2241 -msgid "(Potential Backward Compatibility Break) Changes around metrics collection" +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: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 "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started." 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-08-23" 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 "Postmoogle email bridge 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 [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: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 Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.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-08-10" 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 "mautrix-whatsapp default configuration changes" 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 "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: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:" -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." +#: ../../../CHANGELOG.md:2261 +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: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 "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: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`" +#: ../../../CHANGELOG.md:2266 +msgid "2022-08-09" 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`)." +#: ../../../CHANGELOG.md:2268 +msgid "Conduit support" 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." +#: ../../../CHANGELOG.md:2270 +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:2269 -msgid "2022-06-13" +#: ../../../CHANGELOG.md:2272 +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:2271 -msgid "go-skype-bridge bridging 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/)." -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." -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." +#: ../../../CHANGELOG.md:2274 +msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:" msgstr "" #: ../../../CHANGELOG.md:2280 -msgid "2022-06-09" +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:2282 -msgid "Running Ansible in a container can now happen on the Matrix server itself" +#: ../../../CHANGELOG.md:2283 +msgid "2022-07-29" 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)." +#: ../../../CHANGELOG.md:2285 +msgid "mautrix-discord support" msgstr "" #: ../../../CHANGELOG.md:2287 -msgid "2022-05-31" +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:2289 -msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" +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: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." +#: ../../../CHANGELOG.md:2292 +msgid "2022-07-27" 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." +#: ../../../CHANGELOG.md:2294 +msgid "matrix-appservice-kakaotalk support" msgstr "" -#: ../../../CHANGELOG.md:2295 -msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" -msgstr "" - -#: ../../../CHANGELOG.md:2297 -msgid "SSH into the Matrix server" +#: ../../../CHANGELOG.md:2296 +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:2298 -msgid "launch `/usr/local/bin/matrix-postgres-cli`" +msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2299 -msgid "switch to the `synapse` database: `\\c synapse`" +#: ../../../CHANGELOG.md:2301 +msgid "2022-07-20" msgstr "" -#: ../../../CHANGELOG.md:2300 -msgid "run the following SQL query:" +#: ../../../CHANGELOG.md:2303 +msgid "maubot support" +msgstr "" + +#: ../../../CHANGELOG.md:2305 +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:2307 +msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:2310 +msgid "2022-07-14" +msgstr "" + +#: ../../../CHANGELOG.md:2312 +msgid "mx-puppet-skype removal" +msgstr "" + +#: ../../../CHANGELOG.md:2314 +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:2316 +msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:" +msgstr "" + +#: ../../../CHANGELOG.md:2318 +msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references" msgstr "" #: ../../../CHANGELOG.md:2319 -msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" +msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2320 +msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2321 +msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)" msgstr "" #: ../../../CHANGELOG.md:2322 -msgid "2022-04-25" +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:2324 -msgid "Buscarron bot support" +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: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" +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:2328 -msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." +msgid "signald (0.19.0+) upgrade requires data migration" msgstr "" -#: ../../../CHANGELOG.md:2331 -msgid "2022-04-21" +#: ../../../CHANGELOG.md:2330 +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:2333 -msgid "matrix-registration-bot support" +#: ../../../CHANGELOG.md:2332 +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: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." +#: ../../../CHANGELOG.md:2334 +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:2337 -msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." +#: ../../../CHANGELOG.md:2336 +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:2340 -msgid "2022-04-19" +#: ../../../CHANGELOG.md:2338 +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:2342 -msgid "BorgBackup support" +#: ../../../CHANGELOG.md:2341 +msgid "2022-07-05" 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." +#: ../../../CHANGELOG.md:2343 +msgid "Ntfy push notifications support" msgstr "" -#: ../../../CHANGELOG.md:2346 -msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." +#: ../../../CHANGELOG.md:2345 +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:2348 -msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" +#: ../../../CHANGELOG.md:2347 +msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started." 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:" +msgid "2022-06-23" 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." +msgid "(Potential Backward Compatibility Break) Changes around metrics collection" 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." +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: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 "**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: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 "**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:2360 -msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" +msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:" msgstr "" #: ../../../CHANGELOG.md:2361 -msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" +msgid "**Metrics may not be enabled by default anymore**:" msgstr "" #: ../../../CHANGELOG.md:2362 -msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +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: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 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: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 "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:2365 +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:2367 -msgid "2022-04-14" +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:2369 -msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" +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:2371 -msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." +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: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 "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:2374 +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: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 "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: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`" +#: ../../../CHANGELOG.md:2376 +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:2378 +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:2380 -msgid "2022-03-17" +msgid "2022-06-13" msgstr "" #: ../../../CHANGELOG.md:2382 -msgid "(Compatibility Break) ma1sd identity server no longer installed by default" +msgid "go-skype-bridge bridging support" 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 "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: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 "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started." 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 "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: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:" +#: ../../../CHANGELOG.md:2391 +msgid "2022-06-09" msgstr "" -#: ../../../CHANGELOG.md:2397 -msgid "2022-02-12" +#: ../../../CHANGELOG.md:2393 +msgid "Running Ansible in a container can now happen on the Matrix server itself" msgstr "" -#: ../../../CHANGELOG.md:2399 -msgid "matrix_encryption_disabler support" +#: ../../../CHANGELOG.md:2395 +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: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:2398 +msgid "2022-05-31" 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:2400 +msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention" +msgstr "" + +#: ../../../CHANGELOG.md:2402 +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:2404 +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:2406 -msgid "2022-02-01" +msgid "**If Synapse fails to start** after your next playbook run, you'll need to:" msgstr "" #: ../../../CHANGELOG.md:2408 -msgid "matrix-hookshot bridging support" +msgid "SSH into the Matrix server" +msgstr "" + +#: ../../../CHANGELOG.md:2409 +msgid "launch `/usr/local/bin/matrix-postgres-cli`" 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." +msgid "switch to the `synapse` database: `\\c synapse`" msgstr "" -#: ../../../CHANGELOG.md:2413 -msgid "2022-01-31" -msgstr "" - -#: ../../../CHANGELOG.md:2415 -msgid "ARM support for matrix-corporal" -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." -msgstr "" - -#: ../../../CHANGELOG.md:2420 -msgid "2022-01-07" -msgstr "" - -#: ../../../CHANGELOG.md:2422 -msgid "Dendrite support" -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)." -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." -msgstr "" - -#: ../../../CHANGELOG.md:2428 -msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" +#: ../../../CHANGELOG.md:2411 +msgid "run the following SQL query:" 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." +msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`" 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:2433 +msgid "2022-04-25" msgstr "" -#: ../../../CHANGELOG.md:2434 -msgid "Adapting the configuration for existing Synapse installations" +#: ../../../CHANGELOG.md:2435 +msgid "Buscarron bot support" 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:2437 +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:2438 -msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" +#: ../../../CHANGELOG.md:2439 +msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2450 -msgid "Trying out Dendrite" +#: ../../../CHANGELOG.md:2442 +msgid "2022-04-21" 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:2444 +msgid "matrix-registration-bot support" 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:2446 +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:2460 -msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" +#: ../../../CHANGELOG.md:2448 +msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2462 -msgid "Honoroit bot support" +#: ../../../CHANGELOG.md:2451 +msgid "2022-04-19" 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." +#: ../../../CHANGELOG.md:2453 +msgid "BorgBackup support" msgstr "" -#: ../../../CHANGELOG.md:2466 -msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." +#: ../../../CHANGELOG.md:2455 +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:2457 +msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started." +msgstr "" + +#: ../../../CHANGELOG.md:2459 +msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action" +msgstr "" + +#: ../../../CHANGELOG.md:2461 +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:2463 +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:2465 +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:2467 +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:2469 -msgid "2022-01-06" +msgid "Pull the latest playbook changes" +msgstr "" + +#: ../../../CHANGELOG.md:2470 +msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" msgstr "" #: ../../../CHANGELOG.md:2471 -msgid "Cinny support" +msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)" +msgstr "" + +#: ../../../CHANGELOG.md:2472 +msgid "Start Postgres (`systemctl start matrix-postgres` on the server)" 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." +msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)" +msgstr "" + +#: ../../../CHANGELOG.md:2474 +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: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 "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:2477 -msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." +#: ../../../CHANGELOG.md:2478 +msgid "2022-04-14" msgstr "" #: ../../../CHANGELOG.md:2480 -msgid "2021-12-22" +msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action" msgstr "" #: ../../../CHANGELOG.md:2482 -msgid "Twitter bridging support via mautrix-twitter" +msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server." 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)." +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:2487 -msgid "2021-12-14" +#: ../../../CHANGELOG.md:2486 +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:2489 -msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" +#: ../../../CHANGELOG.md:2488 +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: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." +msgid "2022-03-17" 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)." +msgid "(Compatibility Break) ma1sd identity server no longer installed by default" msgstr "" -#: ../../../CHANGELOG.md:2496 -msgid "2021-11-11" +#: ../../../CHANGELOG.md:2495 +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:2498 -msgid "Dropped support for Postgres v9.6" +#: ../../../CHANGELOG.md:2497 +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: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:2499 +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: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:2501 +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:2505 -msgid "2021-10-23" +#: ../../../CHANGELOG.md:2508 +msgid "2022-02-12" msgstr "" -#: ../../../CHANGELOG.md:2507 -msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge" +#: ../../../CHANGELOG.md:2510 +msgid "matrix_encryption_disabler support" 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." -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." +#: ../../../CHANGELOG.md:2512 +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:2514 -msgid "2021-08-23" +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:2516 -msgid "LinkedIn bridging support via beeper-linkedin" +#: ../../../CHANGELOG.md:2517 +msgid "2022-02-01" 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." +#: ../../../CHANGELOG.md:2519 +msgid "matrix-hookshot bridging support" 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)." +#: ../../../CHANGELOG.md:2521 +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:2522 -msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." +#: ../../../CHANGELOG.md:2524 +msgid "2022-01-31" msgstr "" -#: ../../../CHANGELOG.md:2525 -msgid "2021-08-20" +#: ../../../CHANGELOG.md:2526 +msgid "ARM support for matrix-corporal" 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:2528 +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:2531 -msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." +msgid "2022-01-07" 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." +msgid "Dendrite support" 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." +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:2538 -msgid "2021-05-21" +#: ../../../CHANGELOG.md:2537 +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:2540 -msgid "Hydrogen support" +#: ../../../CHANGELOG.md:2539 +msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!" 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:2541 +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: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:2543 +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:2546 -msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." +#: ../../../CHANGELOG.md:2545 +msgid "Adapting the configuration for existing Synapse installations" +msgstr "" + +#: ../../../CHANGELOG.md:2547 +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:2549 -msgid "2021-05-19" +msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:" msgstr "" -#: ../../../CHANGELOG.md:2551 -msgid "Heisenbridge support" +#: ../../../CHANGELOG.md:2561 +msgid "Trying out Dendrite" 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:2563 +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:2555 -msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." +#: ../../../CHANGELOG.md:2569 +msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss." msgstr "" -#: ../../../CHANGELOG.md:2558 -msgid "2021-04-16" +#: ../../../CHANGELOG.md:2571 +msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!" msgstr "" -#: ../../../CHANGELOG.md:2560 -msgid "Disabling TLSv1 and TLSv1.1 for coturn" +#: ../../../CHANGELOG.md:2573 +msgid "Honoroit bot support" 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." +#: ../../../CHANGELOG.md:2575 +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:2564 -msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:" +#: ../../../CHANGELOG.md:2577 +msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started." msgstr "" -#: ../../../CHANGELOG.md:2572 -msgid "2021-04-05" +#: ../../../CHANGELOG.md:2580 +msgid "2022-01-06" msgstr "" -#: ../../../CHANGELOG.md:2574 -msgid "Automated local Postgres backup support" +#: ../../../CHANGELOG.md:2582 +msgid "Cinny support" 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)." +#: ../../../CHANGELOG.md:2584 +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:2578 -msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)." +#: ../../../CHANGELOG.md:2586 +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:2581 -msgid "2021-04-03" +#: ../../../CHANGELOG.md:2588 +msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)." msgstr "" -#: ../../../CHANGELOG.md:2583 -msgid "Mjolnir moderation tool (bot) support" +#: ../../../CHANGELOG.md:2591 +msgid "2021-12-22" 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)." +#: ../../../CHANGELOG.md:2593 +msgid "Twitter bridging support via mautrix-twitter" msgstr "" -#: ../../../CHANGELOG.md:2587 -msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." -msgstr "" - -#: ../../../CHANGELOG.md:2590 -msgid "2021-03-20" -msgstr "" - -#: ../../../CHANGELOG.md:2592 -msgid "Sygnal push gateway support" -msgstr "" - -#: ../../../CHANGELOG.md:2594 -msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." -msgstr "" - -#: ../../../CHANGELOG.md:2596 -msgid "This is only useful to people who develop/build their own Matrix client applications." +#: ../../../CHANGELOG.md:2595 +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:2598 -msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +msgid "2021-12-14" msgstr "" -#: ../../../CHANGELOG.md:2601 -msgid "2021-03-16" +#: ../../../CHANGELOG.md:2600 +msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability" msgstr "" -#: ../../../CHANGELOG.md:2603 -msgid "Go-NEB support" +#: ../../../CHANGELOG.md:2602 +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: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:2604 +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:2607 -msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." +msgid "2021-11-11" msgstr "" -#: ../../../CHANGELOG.md:2610 -msgid "2021-02-19" +#: ../../../CHANGELOG.md:2609 +msgid "Dropped support for Postgres v9.6" msgstr "" -#: ../../../CHANGELOG.md:2612 -msgid "GroupMe bridging support via mx-puppet-groupme" +#: ../../../CHANGELOG.md:2611 +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: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)." +#: ../../../CHANGELOG.md:2613 +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: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)." +msgid "2021-10-23" 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 "Hangouts bridge no longer updated, superseded by a Googlechat bridge" msgstr "" #: ../../../CHANGELOG.md:2620 -msgid "Mautrix Instagram bridging support" +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: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 "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:2624 -msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." +#: ../../../CHANGELOG.md:2625 +msgid "2021-08-23" msgstr "" -#: ../../../CHANGELOG.md:2626 -msgid "Synapse workers support" +#: ../../../CHANGELOG.md:2627 +msgid "LinkedIn bridging support via beeper-linkedin" 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." +#: ../../../CHANGELOG.md:2629 +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:2630 -msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." +#: ../../../CHANGELOG.md:2631 +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: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)." -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)." +#: ../../../CHANGELOG.md:2633 +msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)." 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 "2021-08-20" msgstr "" -#: ../../../CHANGELOG.md:2639 -msgid "2021-02-12" +#: ../../../CHANGELOG.md:2638 +msgid "Sygnal upgraded — ARM support and no longer requires a database" msgstr "" -#: ../../../CHANGELOG.md:2641 -msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" +#: ../../../CHANGELOG.md:2640 +msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`." 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 "This is an optional component for the playbook, so most of our users wouldn't care about this announcement." 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 "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry." 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 "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:2650 -msgid "2021-01-31" +#: ../../../CHANGELOG.md:2649 +msgid "2021-05-21" msgstr "" -#: ../../../CHANGELOG.md:2652 -msgid "Etherpad support" +#: ../../../CHANGELOG.md:2651 +msgid "Hydrogen support" 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." +#: ../../../CHANGELOG.md:2653 +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:2656 -msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)." +#: ../../../CHANGELOG.md:2655 +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:2659 -msgid "2021-01-22" +#: ../../../CHANGELOG.md:2657 +msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)." msgstr "" -#: ../../../CHANGELOG.md:2661 -msgid "(Breaking Change) Postgres changes that require manual intervention" +#: ../../../CHANGELOG.md:2660 +msgid "2021-05-19" 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." +#: ../../../CHANGELOG.md:2662 +msgid "Heisenbridge support" 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." +#: ../../../CHANGELOG.md:2664 +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:2667 -msgid "Why?" +#: ../../../CHANGELOG.md:2666 +msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)." 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:" -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`)" +msgid "2021-04-16" 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`)" -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`)" +msgid "Disabling TLSv1 and TLSv1.1 for coturn" 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 "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: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." -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." -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`)" -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" +#: ../../../CHANGELOG.md:2675 +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:2683 -msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)" +msgid "2021-04-05" msgstr "" #: ../../../CHANGELOG.md:2685 -msgid "What do I do if I'm using the integrated Postgres server (default)?" +msgid "Automated local Postgres backup support" 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 "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: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 Postgres backup](docs/configuring-playbook-postgres-backup.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-04-03" 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 "Mjolnir moderation tool (bot) support" 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 [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:2700 -#: ../../../CHANGELOG.md:2712 -msgid "â€Ķ where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." +#: ../../../CHANGELOG.md:2698 +msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)." msgstr "" -#: ../../../CHANGELOG.md:2702 -msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" +#: ../../../CHANGELOG.md:2701 +msgid "2021-03-20" 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 "Sygnal push gateway support" msgstr "" #: ../../../CHANGELOG.md:2705 -msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" +msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you." msgstr "" -#: ../../../CHANGELOG.md:2706 -msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" +#: ../../../CHANGELOG.md:2707 +msgid "This is only useful to people who develop/build their own Matrix client applications." +msgstr "" + +#: ../../../CHANGELOG.md:2709 +msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs." +msgstr "" + +#: ../../../CHANGELOG.md:2712 +msgid "2021-03-16" 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 "Go-NEB support" msgstr "" -#: ../../../CHANGELOG.md:2732 -msgid "You may need to press *Enter* after pasting the lines above." +#: ../../../CHANGELOG.md:2716 +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:2734 -msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" +#: ../../../CHANGELOG.md:2718 +msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)." msgstr "" -#: ../../../CHANGELOG.md:2736 -msgid "What do I do if I'm using an external Postgres server?" +#: ../../../CHANGELOG.md:2721 +msgid "2021-02-19" 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:2723 +msgid "GroupMe bridging support via mx-puppet-groupme" 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:2725 +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:2727 +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:2729 +msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs." +msgstr "" + +#: ../../../CHANGELOG.md:2731 +msgid "Mautrix Instagram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:2733 +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:2735 +msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)." +msgstr "" + +#: ../../../CHANGELOG.md:2737 +msgid "Synapse workers support" +msgstr "" + +#: ../../../CHANGELOG.md:2739 +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:2741 +msgid "Having support for workers makes the playbook suitable for larger homeserver deployments." msgstr "" #: ../../../CHANGELOG.md:2743 -msgid "2021-01-20" +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:2745 -msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" +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: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 "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation." 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-02-12" 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 "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana" 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 [@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: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 "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: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 "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: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-01-31" 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 "Etherpad 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 [@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: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 "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.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-01-22" 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 "(Breaking Change) Postgres changes that require manual intervention" 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 "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:2776 -msgid "You have 3 ways to proceed:" +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:2778 -msgid "contribute to the playbook to make this possible (difficult)" -msgstr "" - -#: ../../../CHANGELOG.md:2779 -msgid "or, do the migration \"steps\" manually:" +msgid "Why?" msgstr "" #: ../../../CHANGELOG.md:2780 -msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" +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:2781 -msgid "create a new `matrix_mautrix_facebook` Postgres database for it" +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:2782 -msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" +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: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 "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:2784 -msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" +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: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`)" -msgstr "" - -#: ../../../CHANGELOG.md:2786 -msgid "send a `login` message to the Facebook bridge bot again" +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:2787 -msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" +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:2789 -msgid "Staying on SQLite for a little longer (temporary solution)" +msgid "What has really changed?" 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:" +msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)" 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:2792 +msgid "the default Postgres database is now `matrix` (used to be `homeserver`)" +msgstr "" + +#: ../../../CHANGELOG.md:2793 +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:2794 +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:2796 +msgid "What do I do if I'm using the integrated Postgres server (default)?" +msgstr "" + +#: ../../../CHANGELOG.md:2798 +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:2800 +msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:" +msgstr "" + +#: ../../../CHANGELOG.md:2802 +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:2804 -msgid "2021-01-17" +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:2806 -msgid "matrix-corporal goes 2.0" +msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:" 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." +#: ../../../CHANGELOG.md:2811 +#: ../../../CHANGELOG.md:2823 +msgid "â€Ķ where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2." msgstr "" -#: ../../../CHANGELOG.md:2810 -msgid "No manual intervention is required in the common case." +#: ../../../CHANGELOG.md:2813 +msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`" 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:2814 +msgid "Log in to the server via SSH. The next commands will be performed there." msgstr "" #: ../../../CHANGELOG.md:2815 -msgid "2021-01-14" +msgid "Start the Postgres database server: `systemctl start matrix-postgres`" +msgstr "" + +#: ../../../CHANGELOG.md:2816 +msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`" msgstr "" #: ../../../CHANGELOG.md:2817 -msgid "Moving from cronjobs to systemd timers" +msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):" 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." +#: ../../../CHANGELOG.md:2825 +msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):" 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." -msgstr "" - -#: ../../../CHANGELOG.md:2823 -msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." -msgstr "" - -#: ../../../CHANGELOG.md:2826 -msgid "2021-01-08" -msgstr "" - -#: ../../../CHANGELOG.md:2828 -msgid "(Breaking Change) New SSL configuration" -msgstr "" - -#: ../../../CHANGELOG.md:2830 -msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." -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)." -msgstr "" - -#: ../../../CHANGELOG.md:2834 -msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." -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)." -msgstr "" - -#: ../../../CHANGELOG.md:2838 -msgid "To revert to the old behaviour, set the following variables:" +#: ../../../CHANGELOG.md:2843 +msgid "You may need to press *Enter* after pasting the lines above." 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." +msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`" msgstr "" -#: ../../../CHANGELOG.md:2848 -msgid "2021-01-03" +#: ../../../CHANGELOG.md:2847 +msgid "What do I do if I'm using an external Postgres server?" msgstr "" -#: ../../../CHANGELOG.md:2850 -msgid "Signal bridging support via mautrix-signal" +#: ../../../CHANGELOG.md:2849 +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: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:2851 +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: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)." +msgid "2021-01-20" msgstr "" -#: ../../../CHANGELOG.md:2857 -msgid "2020-12-23" +#: ../../../CHANGELOG.md:2856 +msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database" msgstr "" -#: ../../../CHANGELOG.md:2859 -msgid "The big move to all-on-Postgres (potentially dangerous)" +#: ../../../CHANGELOG.md:2858 +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: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:2860 +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: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:2862 +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:2864 +msgid "Whether this change requires your intervention depends mostly on:" 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!" +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:2867 -msgid "Moving all services to Postgres brings a few **benefits** to us:" +#: ../../../CHANGELOG.md:2866 +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:2869 -msgid "**improved performance**" +#: ../../../CHANGELOG.md:2868 +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:2870 -msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." -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 "Upgrade path for people NOT running an external Postgres server (default for the playbook)" 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." +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:2874 -msgid "Key takeway" +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: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)" +msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)." 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)." +msgid "Upgrade path for people running an external Postgres server" msgstr "" #: ../../../CHANGELOG.md:2880 -msgid "Opting-out of the Postgres migration" +msgid "For people using the internal Postgres server (the default for the playbook):" +msgstr "" + +#: ../../../CHANGELOG.md:2881 +msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it" 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 "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database" 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`)." +#: ../../../CHANGELOG.md:2883 +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:2886 -msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." +#: ../../../CHANGELOG.md:2885 +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:2888 -msgid "Going back to SQLite/nedb if things went wrong" +#: ../../../CHANGELOG.md:2887 +msgid "You have 3 ways to proceed:" +msgstr "" + +#: ../../../CHANGELOG.md:2889 +msgid "contribute to the playbook to make this possible (difficult)" 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 "or, do the migration \"steps\" manually:" +msgstr "" + +#: ../../../CHANGELOG.md:2891 +msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)" msgstr "" #: ../../../CHANGELOG.md:2892 -msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgid "create a new `matrix_mautrix_facebook` Postgres database for it" 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 "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)" 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 "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:2895 -msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" +msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)" msgstr "" #: ../../../CHANGELOG.md:2896 -msgid "[get in touch](README.md#support) with us" +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:2897 +msgid "send a `login` message to the Facebook bridge bot again" msgstr "" #: ../../../CHANGELOG.md:2898 -msgid "2020-12-11" +msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)" msgstr "" #: ../../../CHANGELOG.md:2900 -msgid "synapse-janitor support removed" +msgid "Staying on SQLite for a little longer (temporary solution)" 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." -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." -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." +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: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." +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:2915 -msgid "2020-12-08" +msgid "2021-01-17" msgstr "" #: ../../../CHANGELOG.md:2917 -msgid "openid APIs exposed by default on the federation port when federation disabled" +msgid "matrix-corporal goes 2.0" msgstr "" #: ../../../CHANGELOG.md:2919 -msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." +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:2921 -msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." +msgid "No manual intervention is required in the common case." 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`." +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:2926 -msgid "2020-11-27" +msgid "2021-01-14" msgstr "" #: ../../../CHANGELOG.md:2928 -msgid "Recent Jitsi updates may require configuration changes" +msgid "Moving from cronjobs to systemd timers" 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." +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:2932 -msgid "**If you use our default Jitsi settings, you won't have to do anything.**" +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: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." +msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up." 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." +#: ../../../CHANGELOG.md:2937 +msgid "2021-01-08" 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." +#: ../../../CHANGELOG.md:2939 +msgid "(Breaking Change) New SSL configuration" msgstr "" #: ../../../CHANGELOG.md:2941 -msgid "2020-11-23" +msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets." msgstr "" #: ../../../CHANGELOG.md:2943 -#: ../../../CHANGELOG.md:2951 -msgid "Breaking change matrix-sms-bridge" +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: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." +msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)." 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." +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: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." -msgstr "" - -#: ../../../CHANGELOG.md:2955 -msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" +msgid "To revert to the old behaviour, set the following variables:" 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`" -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 "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:2959 -msgid "Remove the var from the first step." +msgid "2021-01-03" msgstr "" -#: ../../../CHANGELOG.md:2960 -msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." +#: ../../../CHANGELOG.md:2961 +msgid "Signal bridging support via mautrix-signal" msgstr "" -#: ../../../CHANGELOG.md:2962 -msgid "2020-11-10" +#: ../../../CHANGELOG.md:2963 +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:2964 -msgid "Dynamic DNS support" -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/)." +#: ../../../CHANGELOG.md:2965 +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:2968 -msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." +msgid "2020-12-23" msgstr "" -#: ../../../CHANGELOG.md:2971 -msgid "2020-10-28" +#: ../../../CHANGELOG.md:2970 +msgid "The big move to all-on-Postgres (potentially dangerous)" msgstr "" -#: ../../../CHANGELOG.md:2973 -msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +#: ../../../CHANGELOG.md:2972 +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: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." +#: ../../../CHANGELOG.md:2974 +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: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))." +#: ../../../CHANGELOG.md:2976 +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: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." +#: ../../../CHANGELOG.md:2978 +msgid "Moving all services to Postgres brings a few **benefits** to us:" +msgstr "" + +#: ../../../CHANGELOG.md:2980 +msgid "**improved performance**" 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 "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres." msgstr "" -#: ../../../CHANGELOG.md:2984 -msgid "2020-10-26" +#: ../../../CHANGELOG.md:2982 +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:2986 -msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" +#: ../../../CHANGELOG.md:2983 +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: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." +#: ../../../CHANGELOG.md:2985 +msgid "Key takeway" 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." +#: ../../../CHANGELOG.md:2987 +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: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`):" +#: ../../../CHANGELOG.md:2989 +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:2991 +msgid "Opting-out of the Postgres migration" +msgstr "" + +#: ../../../CHANGELOG.md:2993 +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:2995 +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:2997 +msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them." msgstr "" #: ../../../CHANGELOG.md:2999 -msgid "2020-10-02" +msgid "Going back to SQLite/nedb if things went wrong" msgstr "" #: ../../../CHANGELOG.md:3001 -msgid "Minimum Ansible version raised to v2.7.0" +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: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 "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)" +msgstr "" + +#: ../../../CHANGELOG.md:3004 +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: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)." +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:3006 +msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)" 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." +msgid "[get in touch](README.md#support) with us" msgstr "" -#: ../../../CHANGELOG.md:3010 -msgid "2020-10-01" +#: ../../../CHANGELOG.md:3009 +msgid "2020-12-11" msgstr "" -#: ../../../CHANGELOG.md:3012 -msgid "Postgres 13 support" +#: ../../../CHANGELOG.md:3011 +msgid "synapse-janitor support removed" 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 "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: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)." +#: ../../../CHANGELOG.md:3015 +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:3018 -msgid "2020-09-01" +#: ../../../CHANGELOG.md:3017 +msgid "Docker 20.10 is here" msgstr "" -#: ../../../CHANGELOG.md:3020 -msgid "matrix-registration support" +#: ../../../CHANGELOG.md:3019 +msgid "(No need to do anything special in relation to this. Just something to keep in mind)" 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." +#: ../../../CHANGELOG.md:3021 +msgid "Docker 20.10 got released recently and your server will likely get it the next time you update." msgstr "" -#: ../../../CHANGELOG.md:3024 -msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." +#: ../../../CHANGELOG.md:3023 +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:3027 -msgid "2020-08-21" +#: ../../../CHANGELOG.md:3026 +msgid "2020-12-08" msgstr "" -#: ../../../CHANGELOG.md:3029 -msgid "rust-synapse-compress-state support" +#: ../../../CHANGELOG.md:3028 +msgid "openid APIs exposed by default on the federation port when federation disabled" 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." +#: ../../../CHANGELOG.md:3030 +msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all." 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." +#: ../../../CHANGELOG.md:3032 +msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you." msgstr "" -#: ../../../CHANGELOG.md:3036 -msgid "2020-07-22" +#: ../../../CHANGELOG.md:3034 +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:3038 -msgid "Synapse Admin support" +#: ../../../CHANGELOG.md:3037 +msgid "2020-11-27" msgstr "" -#: ../../../CHANGELOG.md:3040 -msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." +#: ../../../CHANGELOG.md:3039 +msgid "Recent Jitsi updates may require configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3042 -msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." +#: ../../../CHANGELOG.md:3041 +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:3043 +msgid "**If you use our default Jitsi settings, you won't have to do anything.**" msgstr "" #: ../../../CHANGELOG.md:3045 -msgid "2020-07-20" +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:3047 -msgid "matrix-reminder-bot support" +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:3049 -msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." +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:3051 -msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." +#: ../../../CHANGELOG.md:3052 +msgid "2020-11-23" msgstr "" #: ../../../CHANGELOG.md:3054 -msgid "2020-07-17" +#: ../../../CHANGELOG.md:3062 +msgid "Breaking change matrix-sms-bridge" msgstr "" #: ../../../CHANGELOG.md:3056 -msgid "(Compatibility Break) Riot is now Element" +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:3058 -msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." +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:3060 -msgid "The playbook follows suit. Existing installations have a few options for how to handle this." +msgid "2020-11-13" 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." +#: ../../../CHANGELOG.md:3064 +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:3065 -msgid "2020-07-03" +#: ../../../CHANGELOG.md:3066 +msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`" msgstr "" #: ../../../CHANGELOG.md:3067 -msgid "Steam bridging support via mx-puppet-steam" +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:3068 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`" 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 "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished." msgstr "" -#: ../../../CHANGELOG.md:3072 -msgid "2020-07-01" +#: ../../../CHANGELOG.md:3070 +msgid "Remove the var from the first step." msgstr "" -#: ../../../CHANGELOG.md:3074 -msgid "Discord bridging support via mx-puppet-discord" +#: ../../../CHANGELOG.md:3071 +msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`." 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:3073 +msgid "2020-11-10" 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:3075 +msgid "Dynamic DNS support" msgstr "" -#: ../../../CHANGELOG.md:3081 -msgid "2020-06-30" +#: ../../../CHANGELOG.md:3077 +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:3083 -msgid "Instagram and Twitter bridging support" +#: ../../../CHANGELOG.md:3079 +msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)." 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:3082 +msgid "2020-10-28" 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:3084 +msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/" +msgstr "" + +#: ../../../CHANGELOG.md:3086 +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:3088 +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:3090 -msgid "2020-06-28" +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:3092 -msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" +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: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." +#: ../../../CHANGELOG.md:3095 +msgid "2020-10-26" 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." +#: ../../../CHANGELOG.md:3097 +msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default" 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`" +#: ../../../CHANGELOG.md:3099 +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:3100 -msgid "As always, re-running the playbook is enough to get the updated bits." +#: ../../../CHANGELOG.md:3101 +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:3102 -msgid "2020-06-11" -msgstr "" - -#: ../../../CHANGELOG.md:3104 -msgid "SMS bridging requires db reset" -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`." -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." +#: ../../../CHANGELOG.md:3103 +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:3110 -msgid "2020-06-05" +msgid "2020-10-02" msgstr "" #: ../../../CHANGELOG.md:3112 -msgid "SMS bridging support" +msgid "Minimum Ansible version raised to v2.7.0" 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 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: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'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:3119 -msgid "2020-05-19" +#: ../../../CHANGELOG.md:3118 +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:3121 -msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" +msgid "2020-10-01" +msgstr "" + +#: ../../../CHANGELOG.md:3123 +msgid "Postgres 13 support" 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." +msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default." 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 "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: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 "2020-09-01" msgstr "" -#: ../../../CHANGELOG.md:3132 -msgid "2020-04-28" +#: ../../../CHANGELOG.md:3131 +msgid "matrix-registration support" msgstr "" -#: ../../../CHANGELOG.md:3134 -msgid "Newer IRC bridge (with potential breaking change)" +#: ../../../CHANGELOG.md:3133 +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: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 "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started." msgstr "" -#: ../../../CHANGELOG.md:3145 -msgid "2020-04-23" +#: ../../../CHANGELOG.md:3138 +msgid "2020-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:3140 +msgid "rust-synapse-compress-state support" +msgstr "" + +#: ../../../CHANGELOG.md:3142 +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:3144 +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:3147 -#: ../../../CHANGELOG.md:3378 -msgid "Slack bridging support" +msgid "2020-07-22" 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." +msgid "Synapse Admin support" 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." +msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)." msgstr "" -#: ../../../CHANGELOG.md:3154 -msgid "2020-04-09" +#: ../../../CHANGELOG.md:3153 +msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3156 -msgid "Skype bridging support" +msgid "2020-07-20" 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." +msgid "matrix-reminder-bot support" 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." +msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)." msgstr "" -#: ../../../CHANGELOG.md:3163 -msgid "2020-04-05" +#: ../../../CHANGELOG.md:3162 +msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started." msgstr "" #: ../../../CHANGELOG.md:3165 -msgid "Private Jitsi support" +msgid "2020-07-17" 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 "(Compatibility Break) Riot is now Element" 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 "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)." 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 "The playbook follows suit. Existing installations have a few options for how to handle this." msgstr "" -#: ../../../CHANGELOG.md:3174 -msgid "2020-04-03" +#: ../../../CHANGELOG.md:3173 +msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details." msgstr "" #: ../../../CHANGELOG.md:3176 -msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" +msgid "2020-07-03" 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 "Steam bridging support via mx-puppet-steam" 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 "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: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-07-01" msgstr "" #: ../../../CHANGELOG.md:3185 -msgid "2020-03-29" +msgid "Discord bridging support via mx-puppet-discord" msgstr "" #: ../../../CHANGELOG.md:3187 -msgid "Archlinux support" +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: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 "**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:3192 -msgid "2020-03-24" +msgid "2020-06-30" msgstr "" #: ../../../CHANGELOG.md:3194 -msgid "Jitsi support" +msgid "Instagram and Twitter bridging support" 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 "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:3198 -msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." +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:3201 -msgid "2020-03-15" +msgid "2020-06-28" msgstr "" #: ../../../CHANGELOG.md:3203 -msgid "Raspberry Pi support" +msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server" 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:3234 +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: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." +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:3210 -msgid "2020-02-26" +#: ../../../CHANGELOG.md:3209 +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:3212 -msgid "Riot-web themes are here" +#: ../../../CHANGELOG.md:3211 +msgid "As always, re-running the playbook is enough to get the updated bits." msgstr "" -#: ../../../CHANGELOG.md:3214 -msgid "The playbook now makes it easy to install custom riot-web themes." +#: ../../../CHANGELOG.md:3213 +msgid "2020-06-11" 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:3215 +msgid "SMS bridging requires db reset" +msgstr "" + +#: ../../../CHANGELOG.md:3217 +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:3219 -msgid "2020-02-24" +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:3221 -msgid "Customize the server name in Riot's login page" +msgid "2020-06-05" msgstr "" #: ../../../CHANGELOG.md:3223 -msgid "You can now customize the server name string that Riot-web displays in its login page." +msgid "SMS bridging support" msgstr "" #: ../../../CHANGELOG.md:3225 -msgid "These playbook variables, with these default values, have been added:" +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: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:3227 +msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started." 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-05-19" +msgstr "" + +#: ../../../CHANGELOG.md:3232 +msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server" msgstr "" #: ../../../CHANGELOG.md:3236 -msgid "2020-01-30" +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:3238 -msgid "Disabling TLSv1.1" +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:3240 -msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." +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: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 "2020-04-28" msgstr "" #: ../../../CHANGELOG.md:3245 -msgid "2020-01-21" +msgid "Newer IRC bridge (with potential breaking change)" msgstr "" #: ../../../CHANGELOG.md:3247 -msgid "Postgres collation changes (action required!)" +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: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:3256 +msgid "2020-04-23" 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:3258 +#: ../../../CHANGELOG.md:3489 +msgid "Slack bridging support" msgstr "" -#: ../../../CHANGELOG.md:3253 -msgid "To avoid future problems, we recommend that you run the following command:" -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." +#: ../../../CHANGELOG.md:3260 +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:3262 -msgid "2020-01-14" +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:3264 -msgid "Added support for Appservice Webhooks" +#: ../../../CHANGELOG.md:3265 +msgid "2020-04-09" 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." +#: ../../../CHANGELOG.md:3267 +msgid "Skype bridging support" msgstr "" -#: ../../../CHANGELOG.md:3268 -msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." +#: ../../../CHANGELOG.md:3269 +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:3271 -msgid "2020-01-12" +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:3273 -msgid "Added support for automatic Double Puppeting for all Mautrix bridges" +#: ../../../CHANGELOG.md:3274 +msgid "2020-04-05" 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:3276 +msgid "Private Jitsi support" 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." +#: ../../../CHANGELOG.md:3278 +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:3279 -msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." +#: ../../../CHANGELOG.md:3280 +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:3282 -msgid "2019-12-06" +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:3284 -msgid "Added support for an alternative method for using another webserver" +#: ../../../CHANGELOG.md:3285 +msgid "2020-04-03" 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)." +#: ../../../CHANGELOG.md:3287 +msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd" 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))." +#: ../../../CHANGELOG.md:3289 +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: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)." +#: ../../../CHANGELOG.md:3291 +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:3293 -msgid "2019-11-10" +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:3295 -msgid "Tightened security around room directory publishing" +#: ../../../CHANGELOG.md:3296 +msgid "2020-03-29" 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." +#: ../../../CHANGELOG.md:3298 +msgid "Archlinux support" 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**." +#: ../../../CHANGELOG.md:3300 +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: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:3303 +msgid "2020-03-24" msgstr "" -#: ../../../CHANGELOG.md:3304 -msgid "2019-10-05" +#: ../../../CHANGELOG.md:3305 +msgid "Jitsi support" msgstr "" -#: ../../../CHANGELOG.md:3306 -msgid "Improved Postgres upgrading/importing" +#: ../../../CHANGELOG.md:3307 +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: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." -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." +#: ../../../CHANGELOG.md:3309 +msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started." 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 "2020-03-15" 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 "Raspberry Pi support" msgstr "" -#: ../../../CHANGELOG.md:3317 -msgid "2019-10-04" +#: ../../../CHANGELOG.md:3316 +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:3319 -msgid "Postgres 12 support" +#: ../../../CHANGELOG.md:3318 +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:3321 -msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." +msgid "2020-02-26" 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)." +msgid "Riot-web themes are here" msgstr "" -#: ../../../CHANGELOG.md:3326 -msgid "2019-10-03" +#: ../../../CHANGELOG.md:3325 +msgid "The playbook now makes it easy to install custom riot-web themes." msgstr "" -#: ../../../CHANGELOG.md:3328 -msgid "Synapse 1.4.0" +#: ../../../CHANGELOG.md:3327 +msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)." 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." +msgid "2020-02-24" 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: ~`)." +msgid "Customize the server name in Riot's login page" 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." +msgid "You can now customize the server name string that Riot-web displays in its login page." 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." +msgid "These playbook variables, with these default values, have been added:" msgstr "" -#: ../../../CHANGELOG.md:3339 -msgid "2019-09-09" +#: ../../../CHANGELOG.md:3342 +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:3341 -msgid "Synapse Simple Antispam support" -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." -msgstr "" - -#: ../../../CHANGELOG.md:3345 -msgid "From now on, you can easily install and configure this spam checker module through the playbook." +#: ../../../CHANGELOG.md:3344 +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:3347 -msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." +msgid "2020-01-30" msgstr "" -#: ../../../CHANGELOG.md:3350 -msgid "2019-08-25" +#: ../../../CHANGELOG.md:3349 +msgid "Disabling TLSv1.1" msgstr "" -#: ../../../CHANGELOG.md:3352 -msgid "Extensible Riot-web configuration" +#: ../../../CHANGELOG.md:3351 +msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration." msgstr "" -#: ../../../CHANGELOG.md:3354 -msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." +#: ../../../CHANGELOG.md:3353 +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: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." +msgid "2020-01-21" 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." +msgid "Postgres collation changes (action required!)" msgstr "" #: ../../../CHANGELOG.md:3360 -msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." +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:3363 -msgid "2019-08-22" +#: ../../../CHANGELOG.md:3362 +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:3365 -msgid "Extensible Synapse configuration" +#: ../../../CHANGELOG.md:3364 +msgid "To avoid future problems, we recommend that you run the following command:" 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." -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." -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:3370 +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:3373 -msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." +msgid "2020-01-14" msgstr "" -#: ../../../CHANGELOG.md:3376 -msgid "2019-08-21" +#: ../../../CHANGELOG.md:3375 +msgid "Added support for Appservice Webhooks" 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:3377 +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:3379 +msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)." msgstr "" #: ../../../CHANGELOG.md:3382 -msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." +msgid "2020-01-12" msgstr "" #: ../../../CHANGELOG.md:3384 -msgid "Google Hangouts bridging support" +msgid "Added support for automatic Double Puppeting for all Mautrix bridges" 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 "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)." msgstr "" #: ../../../CHANGELOG.md:3388 -msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +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:3391 -msgid "2019-08-05" +#: ../../../CHANGELOG.md:3390 +msgid "To get started, following the playbook's documentation for the bridge you'd like to configure." msgstr "" #: ../../../CHANGELOG.md:3393 -msgid "Email2Matrix support" +msgid "2019-12-06" msgstr "" #: ../../../CHANGELOG.md:3395 -msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." +msgid "Added support for an alternative method for using another webserver" msgstr "" #: ../../../CHANGELOG.md:3397 -msgid "It's an optional feature that you can enable via 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:3399 -msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." +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:3402 -msgid "2019-08-03" +#: ../../../CHANGELOG.md:3401 +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:3404 -msgid "Synapse logging level has been reduced to WARNING" +msgid "2019-11-10" 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 "Tightened security around room directory publishing" msgstr "" #: ../../../CHANGELOG.md:3408 -msgid "This greatly reduces the number of log messages that are being logged, leading to:" +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:3410 -msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" +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: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" +#: ../../../CHANGELOG.md:3412 +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: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)." +#: ../../../CHANGELOG.md:3415 +msgid "2019-10-05" msgstr "" -#: ../../../CHANGELOG.md:3416 -msgid "2019-07-08" +#: ../../../CHANGELOG.md:3417 +msgid "Improved Postgres upgrading/importing" msgstr "" -#: ../../../CHANGELOG.md:3418 -msgid "Synapse Maintenance docs and synapse-janitor support are available" +#: ../../../CHANGELOG.md:3419 +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:3420 -msgid "The playbook can now help you with Synapse's maintenance." +#: ../../../CHANGELOG.md:3421 +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: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)." +#: ../../../CHANGELOG.md:3423 +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: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." -msgstr "" - -#: ../../../CHANGELOG.md:3426 -msgid "(BC Break) Rename run control variables" +#: ../../../CHANGELOG.md:3425 +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:3428 -msgid "Some internal playbook control variables have been renamed." +msgid "2019-10-04" 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." +msgid "Postgres 12 support" msgstr "" #: ../../../CHANGELOG.md:3432 -msgid "The following variables have been renamed:" +msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default." msgstr "" #: ../../../CHANGELOG.md:3434 -msgid "from `run_import_postgres` to `run_postgres_import`" -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 "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:3437 -msgid "from `run_import_media_store` to `run_synapse_import_media_store`" -msgstr "" - -#: ../../../CHANGELOG.md:3438 -msgid "from `run_register_user` to `run_synapse_register_user`" +msgid "2019-10-03" msgstr "" #: ../../../CHANGELOG.md:3439 -msgid "from `run_update_user_password` to `run_synapse_update_user_password`" +msgid "Synapse 1.4.0" msgstr "" -#: ../../../CHANGELOG.md:3442 -msgid "2019-07-04" +#: ../../../CHANGELOG.md:3441 +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:3444 -msgid "Synapse no longer logs to text files" +#: ../../../CHANGELOG.md:3443 +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: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 "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: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`" +#: ../../../CHANGELOG.md:3447 +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:3450 -msgid "Because of this, the following variables have become obsolete and were removed:" +msgid "2019-09-09" msgstr "" #: ../../../CHANGELOG.md:3452 -msgid "`matrix_synapse_max_log_file_size_mb`" +msgid "Synapse Simple Antispam support" msgstr "" -#: ../../../CHANGELOG.md:3453 -msgid "`matrix_synapse_max_log_files_count`" +#: ../../../CHANGELOG.md:3454 +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: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:3456 +msgid "From now on, you can easily install and configure this spam checker module through the playbook." 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`)." +#: ../../../CHANGELOG.md:3458 +msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)." msgstr "" -#: ../../../CHANGELOG.md:3460 -msgid "2019-06-27" +#: ../../../CHANGELOG.md:3461 +msgid "2019-08-25" msgstr "" -#: ../../../CHANGELOG.md:3462 -msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3463 +msgid "Extensible Riot-web configuration" 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:3465 +msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now." msgstr "" -#: ../../../CHANGELOG.md:3466 -msgid "From now on, the playbook will keep both configuration files sync for you." +#: ../../../CHANGELOG.md:3467 +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: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." +#: ../../../CHANGELOG.md:3469 +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: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 "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)." 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 "2019-08-22" 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 "Extensible Synapse configuration" msgstr "" -#: ../../../CHANGELOG.md:3479 -msgid "2019-06-24" +#: ../../../CHANGELOG.md:3478 +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:3481 -msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3480 +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: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." +#: ../../../CHANGELOG.md:3482 +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:3485 -#: ../../../CHANGELOG.md:3502 -#: ../../../CHANGELOG.md:3521 -#: ../../../CHANGELOG.md:3560 -msgid "From now on, the playbook will keep the configuration in sync for you." +#: ../../../CHANGELOG.md:3484 +msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)." 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." -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 "2019-08-21" 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 "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:3493 -msgid "We're now following the default configuration for the WhatsApp bridge." +msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)." msgstr "" -#: ../../../CHANGELOG.md:3496 -msgid "2019-06-20" +#: ../../../CHANGELOG.md:3495 +msgid "Google Hangouts bridging support" msgstr "" -#: ../../../CHANGELOG.md:3498 -msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3497 +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: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." +#: ../../../CHANGELOG.md:3499 +msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)." +msgstr "" + +#: ../../../CHANGELOG.md:3502 +msgid "2019-08-05" 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." +msgid "Email2Matrix support" 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`)." +msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added." 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." +msgid "It's an optional feature that you can enable via the playbook." 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`." +msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)." 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:3513 +msgid "2019-08-03" msgstr "" #: ../../../CHANGELOG.md:3515 -msgid "2019-06-15" +msgid "Synapse logging level has been reduced to WARNING" msgstr "" #: ../../../CHANGELOG.md:3517 -msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" +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: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." +msgid "This greatly reduces the number of log messages that are being logged, leading to:" 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:3521 +msgid "much less disk space dedicated to Synapse and thus, logs kept for longer" 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 "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:3524 +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: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`)." +msgid "2019-07-08" 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 "Synapse Maintenance docs and synapse-janitor support are available" 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 "The playbook can now help you with Synapse's maintenance." msgstr "" #: ../../../CHANGELOG.md:3533 -msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" +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:3534 -msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" +#: ../../../CHANGELOG.md:3535 +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: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:3537 +msgid "(BC Break) Rename run control variables" msgstr "" #: ../../../CHANGELOG.md:3539 -msgid "2019-06-12" +msgid "Some internal playbook control variables have been renamed." msgstr "" #: ../../../CHANGELOG.md:3541 -msgid "Synapse v1.0" +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: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)." +msgid "The following variables have been renamed:" 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." +msgid "from `run_import_postgres` to `run_postgres_import`" +msgstr "" + +#: ../../../CHANGELOG.md:3546 +msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`" 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." +msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`" +msgstr "" + +#: ../../../CHANGELOG.md:3548 +msgid "from `run_import_media_store` to `run_synapse_import_media_store`" 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." +msgid "from `run_register_user` to `run_synapse_register_user`" 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)." +#: ../../../CHANGELOG.md:3550 +msgid "from `run_update_user_password` to `run_synapse_update_user_password`" msgstr "" -#: ../../../CHANGELOG.md:3554 -msgid "2019-06-07" +#: ../../../CHANGELOG.md:3553 +msgid "2019-07-04" msgstr "" -#: ../../../CHANGELOG.md:3556 -msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" +#: ../../../CHANGELOG.md:3555 +msgid "Synapse no longer logs to text files" 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 "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: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." +#: ../../../CHANGELOG.md:3559 +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:3561 +msgid "Because of this, the following variables have become obsolete and were removed:" +msgstr "" + +#: ../../../CHANGELOG.md:3563 +msgid "`matrix_synapse_max_log_file_size_mb`" 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 "`matrix_synapse_max_log_files_count`" 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 "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:3569 -msgid "2019-05-25" +#: ../../../CHANGELOG.md:3568 +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:3571 -msgid "Support for exposing container ports publicly (not just to the host)" +msgid "2019-06-27" 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." +msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook" 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 "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:3577 -msgid "All such variables have been superseded by a better (more flexible) way to do it." +msgid "From now on, the playbook will keep both configuration files sync for you." msgstr "" #: ../../../CHANGELOG.md:3579 -msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." +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:3581 -msgid "Porting examples follow for people having more customized setups:" +msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)." 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 "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: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 "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:3587 -msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`" +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: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:3590 +msgid "2019-06-24" 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:3592 +msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook" 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:3594 +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: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:3596 +#: ../../../CHANGELOG.md:3613 +#: ../../../CHANGELOG.md:3632 +#: ../../../CHANGELOG.md:3671 +msgid "From now on, the playbook will keep the configuration in sync for you." 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:3598 +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: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:3600 +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:3601 -msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." +#: ../../../CHANGELOG.md:3602 +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:3604 -msgid "2019-05-23" +msgid "We're now following the default configuration for the WhatsApp bridge." msgstr "" -#: ../../../CHANGELOG.md:3606 -msgid "(BC Break) Ansible 2.8 compatibility" +#: ../../../CHANGELOG.md:3607 +msgid "2019-06-20" 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)." +#: ../../../CHANGELOG.md:3609 +msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook" 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)." +#: ../../../CHANGELOG.md:3611 +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: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`" -msgstr "" - -#: ../../../CHANGELOG.md:3614 -msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" +#: ../../../CHANGELOG.md:3615 +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:3617 -msgid "2019-05-21" +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:3619 -msgid "Synapse no longer required" +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:3621 -msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." +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: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 "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: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." +#: ../../../CHANGELOG.md:3626 +msgid "2019-06-15" 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 "(BC Break) Telegram bridge configuration is now entirely managed by the playbook" msgstr "" -#: ../../../CHANGELOG.md:3629 -msgid "Bridges are now separate from the Synapse role" +#: ../../../CHANGELOG.md:3630 +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: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:3634 +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: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:3636 +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:3635 -msgid "Renaming inconsistently-named Synapse variables" -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 "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:3640 -msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" +msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:" 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 "`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:3643 +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:3644 -msgid "2019-05-09" +msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible" 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." +#: ../../../CHANGELOG.md:3645 +msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands" msgstr "" -#: ../../../CHANGELOG.md:3648 -msgid "Mautrix Facebook/Messenger bridging support" +#: ../../../CHANGELOG.md:3647 +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: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 "2019-06-12" msgstr "" #: ../../../CHANGELOG.md:3652 -msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." +msgid "Synapse v1.0" msgstr "" #: ../../../CHANGELOG.md:3654 -msgid "mxisd Registration feature integration" +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: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 "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:3658 -msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." +msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed." msgstr "" -#: ../../../CHANGELOG.md:3661 -msgid "2019-04-16" +#: ../../../CHANGELOG.md:3660 +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:3663 -msgid "Caddy webserver examples" +#: ../../../CHANGELOG.md:3662 +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: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 "2019-06-07" msgstr "" #: ../../../CHANGELOG.md:3667 -msgid "2019-04-10" +msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook" msgstr "" #: ../../../CHANGELOG.md:3669 -msgid "Goofys support for other S3-compatible object stores" +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: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:3673 +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:3674 -msgid "2019-04-03" +#: ../../../CHANGELOG.md:3675 +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:3676 -msgid "Ansible >= 2.5 is required" -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)." +#: ../../../CHANGELOG.md:3677 +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: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 "2019-05-25" msgstr "" -#: ../../../CHANGELOG.md:3683 -msgid "2019-03-19" +#: ../../../CHANGELOG.md:3682 +msgid "Support for exposing container ports publicly (not just to the host)" msgstr "" -#: ../../../CHANGELOG.md:3685 -msgid "TLS support for coturn" +#: ../../../CHANGELOG.md:3684 +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: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 "`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: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 "All such variables have been superseded by a better (more flexible) way to do it." 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)." +#: ../../../CHANGELOG.md:3690 +msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this." msgstr "" -#: ../../../CHANGELOG.md:3697 -msgid "People who build their own custom playbook from our roles should be aware that:" +#: ../../../CHANGELOG.md:3692 +msgid "Porting examples follow for people having more customized setups:" 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)." +#: ../../../CHANGELOG.md:3694 +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: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)." +#: ../../../CHANGELOG.md:3696 +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:3698 +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:3700 +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:3702 +msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`" msgstr "" #: ../../../CHANGELOG.md:3704 -msgid "2019-03-12" +msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`" msgstr "" #: ../../../CHANGELOG.md:3706 -msgid "matrix-nginx-proxy support for serving the base domain" +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: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 "**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: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 "**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:3712 -msgid "(BC break) matrix-nginx-proxy data variable renamed" +msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you." msgstr "" -#: ../../../CHANGELOG.md:3714 -msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." +#: ../../../CHANGELOG.md:3715 +msgid "2019-05-23" 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)." +#: ../../../CHANGELOG.md:3717 +msgid "(BC Break) Ansible 2.8 compatibility" msgstr "" #: ../../../CHANGELOG.md:3719 -msgid "2019-03-10" +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:3721 -msgid "Dimension integration manager support" +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: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." +msgid "To avoid doing it manually, run this:" msgstr "" -#: ../../../CHANGELOG.md:3726 -msgid "2019-03-07" +#: ../../../CHANGELOG.md:3724 +msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`" +msgstr "" + +#: ../../../CHANGELOG.md:3725 +msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`" msgstr "" #: ../../../CHANGELOG.md:3728 -msgid "Ability to customize mxisd's email templates" +msgid "2019-05-21" 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." +msgid "Synapse no longer required" msgstr "" -#: ../../../CHANGELOG.md:3733 -msgid "2019-03-05" +#: ../../../CHANGELOG.md:3732 +msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role." msgstr "" -#: ../../../CHANGELOG.md:3735 -msgid "Discord bridging support" +#: ../../../CHANGELOG.md:3734 +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: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." +#: ../../../CHANGELOG.md:3736 +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:3738 +msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers." msgstr "" #: ../../../CHANGELOG.md:3740 -msgid "2019-02-19" +msgid "Bridges are now separate from the Synapse role" msgstr "" #: ../../../CHANGELOG.md:3742 -msgid "Renaming variables" +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:3744 -#: ../../../CHANGELOG.md:4061 -#: ../../../CHANGELOG.md:4146 -#: ../../../CHANGELOG.md:4266 -msgid "The following playbook variables were renamed:" +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:3746 -msgid "from `host_specific_hostname_identity` to `matrix_domain`" -msgstr "" - -#: ../../../CHANGELOG.md:3747 -msgid "from `hostname_identity` to `matrix_domain`" +msgid "Renaming inconsistently-named Synapse variables" msgstr "" #: ../../../CHANGELOG.md:3748 -msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" -msgstr "" - -#: ../../../CHANGELOG.md:3749 -msgid "from `hostname_riot` to `matrix_server_fqn_riot`" +msgid "For better consistency, the following variables have been renamed:" msgstr "" #: ../../../CHANGELOG.md:3750 -msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`" +msgstr "" + +#: ../../../CHANGELOG.md:3751 +msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`" 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." +msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`" msgstr "" #: ../../../CHANGELOG.md:3755 -msgid "2019-02-16" +msgid "2019-05-09" msgstr "" #: ../../../CHANGELOG.md:3757 -msgid "Riot v1.0.1 support" +msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today." msgstr "" #: ../../../CHANGELOG.md:3759 -msgid "You can now use the brand new and redesigned Riot." +msgid "Mautrix Facebook/Messenger bridging support" 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 "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: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 "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)." msgstr "" -#: ../../../CHANGELOG.md:3766 -msgid "2019-02-14" +#: ../../../CHANGELOG.md:3765 +msgid "mxisd Registration feature integration" msgstr "" -#: ../../../CHANGELOG.md:3768 -msgid "Synapse v0.99.1" +#: ../../../CHANGELOG.md:3767 +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: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." +#: ../../../CHANGELOG.md:3769 +msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)." 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." +msgid "2019-04-16" msgstr "" -#: ../../../CHANGELOG.md:3775 -msgid "2019-02-06" +#: ../../../CHANGELOG.md:3774 +msgid "Caddy webserver examples" msgstr "" -#: ../../../CHANGELOG.md:3777 -msgid "Synapse v0.99 support and preparation for Synapse v1.0" +#: ../../../CHANGELOG.md:3776 +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: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 "2019-04-10" 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))." +#: ../../../CHANGELOG.md:3780 +msgid "Goofys support for other S3-compatible object stores" 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)." +#: ../../../CHANGELOG.md:3782 +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: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 "2019-04-03" 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 "Ansible >= 2.5 is required" 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 "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:3792 -msgid "2019-02-01" +#: ../../../CHANGELOG.md:3791 +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:3794 -msgid "TLS v1.3 support" +msgid "2019-03-19" 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." +msgid "TLS support for coturn" msgstr "" #: ../../../CHANGELOG.md:3798 -msgid "When using:" +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: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`." +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: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:3806 +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:3804 -msgid "**another web server**: you don't need to do anything to accommodate this change" +#: ../../../CHANGELOG.md:3808 +msgid "People who build their own custom playbook from our roles should be aware that:" msgstr "" -#: ../../../CHANGELOG.md:3807 -msgid "2019-01-31" +#: ../../../CHANGELOG.md:3810 +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:3809 -msgid "IRC bridging support" +#: ../../../CHANGELOG.md:3812 +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: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." +#: ../../../CHANGELOG.md:3815 +msgid "2019-03-12" msgstr "" -#: ../../../CHANGELOG.md:3814 -msgid "2019-01-29" +#: ../../../CHANGELOG.md:3817 +msgid "matrix-nginx-proxy support for serving the base domain" msgstr "" -#: ../../../CHANGELOG.md:3816 -msgid "Running container processes as non-root, without capabilities and read-only" +#: ../../../CHANGELOG.md:3819 +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: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." +#: ../../../CHANGELOG.md:3821 +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: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." +#: ../../../CHANGELOG.md:3823 +msgid "(BC break) matrix-nginx-proxy data variable renamed" 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." +#: ../../../CHANGELOG.md:3825 +msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`." 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." -msgstr "" - -#: ../../../CHANGELOG.md:3826 -msgid "matrix-mailer is now based on Exim, not Postfix" -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:3827 +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: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`)." +msgid "2019-03-10" 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)." +msgid "Dimension integration manager support" msgstr "" -#: ../../../CHANGELOG.md:3835 -msgid "2019-01-17" +#: ../../../CHANGELOG.md:3834 +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:3837 -msgid "(BC Break) Making the playbook's roles more independent of one another" +msgid "2019-03-07" 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 "Ability to customize mxisd's email templates" 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 "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: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." +msgid "2019-03-05" msgstr "" #: ../../../CHANGELOG.md:3846 -msgid "In addition, the following components can now be completely disabled (for those who want/need to):" -msgstr "" - -#: ../../../CHANGELOG.md:3847 -msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgid "Discord bridging support" msgstr "" #: ../../../CHANGELOG.md:3848 -msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" -msgstr "" - -#: ../../../CHANGELOG.md:3849 -msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" +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:3851 -msgid "The following changes had to be done:" +msgid "2019-02-19" 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 "Renaming variables" 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:4172 +#: ../../../CHANGELOG.md:4257 +#: ../../../CHANGELOG.md:4377 +msgid "The following playbook variables were renamed:" 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`)" +msgid "from `host_specific_hostname_identity` to `matrix_domain`" +msgstr "" + +#: ../../../CHANGELOG.md:3858 +msgid "from `hostname_identity` to `matrix_domain`" 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." +msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`" msgstr "" -#: ../../../CHANGELOG.md:3862 -msgid "2019-01-16" +#: ../../../CHANGELOG.md:3860 +msgid "from `hostname_riot` to `matrix_server_fqn_riot`" msgstr "" -#: ../../../CHANGELOG.md:3864 -msgid "Splitting the playbook into multiple roles" +#: ../../../CHANGELOG.md:3861 +msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`" +msgstr "" + +#: ../../../CHANGELOG.md:3863 +msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix." 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 "2019-02-16" 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 "Riot v1.0.1 support" 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 "You can now use the brand new and redesigned Riot." +msgstr "" + +#: ../../../CHANGELOG.md:3872 +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:3874 -msgid "2019-01-11" +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:3876 -msgid "(BC Break) mxisd configuration changes" +#: ../../../CHANGELOG.md:3877 +msgid "2019-02-14" 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:3879 +msgid "Synapse v0.99.1" msgstr "" #: ../../../CHANGELOG.md:3881 -msgid "The following variables are no longer supported by this playbook:" +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: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 "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:3886 -msgid "`matrix_mxisd_ldap_connection_port`" -msgstr "" - -#: ../../../CHANGELOG.md:3887 -msgid "`matrix_mxisd_ldap_connection_baseDn`" +msgid "2019-02-06" msgstr "" #: ../../../CHANGELOG.md:3888 -msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgid "Synapse v0.99 support and preparation for Synapse v1.0" 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 "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:3892 -msgid "`matrix_mxisd_ldap_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3893 -msgid "`matrix_mxisd_ldap_attribute_uid_type`" +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:3894 -msgid "`matrix_mxisd_ldap_attribute_uid_value`" +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:3896 -msgid "`matrix_mxisd_ldap_attribute_name`" -msgstr "" - -#: ../../../CHANGELOG.md:3897 -msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +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:3898 -msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" -msgstr "" - -#: ../../../CHANGELOG.md:3899 -msgid "`matrix_mxisd_ldap_identity_filter`" +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:3900 -msgid "`matrix_mxisd_ldap_identity_medium`" -msgstr "" - -#: ../../../CHANGELOG.md:3901 -msgid "`matrix_mxisd_ldap_auth_filter`" -msgstr "" - -#: ../../../CHANGELOG.md:3902 -msgid "`matrix_mxisd_ldap_directory_filter`" +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:3903 -msgid "`matrix_mxisd_template_config`" +msgid "2019-02-01" 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 "TLS v1.3 support" msgstr "" #: ../../../CHANGELOG.md:3907 -msgid "This new way of configuring mxisd is beneficial because:" +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: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 "When using:" 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 **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:3913 -msgid "2019-01-08" +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:3915 -msgid "(BC Break) Cronjob schedule no longer configurable" +msgid "**another web server**: you don't need to do anything to accommodate this change" 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 "2019-01-31" 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 "IRC bridging support" 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 "[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:3925 -msgid "2018-12-23" +msgid "2019-01-29" msgstr "" #: ../../../CHANGELOG.md:3927 -msgid "(BC Break) More SSL certificate retrieval methods" +msgid "Running container processes as non-root, without capabilities and read-only" 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" +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:3931 -msgid "generating self-signed SSL certificates" +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:3932 -msgid "managing SSL certificates manually" +#: ../../../CHANGELOG.md:3933 +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:3934 -msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +#: ../../../CHANGELOG.md:3935 +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: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:" -msgstr "" - -#: ../../../CHANGELOG.md:3938 -msgid "before: `host_specific_matrix_ssl_support_email`" +#: ../../../CHANGELOG.md:3937 +msgid "matrix-mailer is now based on Exim, not Postfix" msgstr "" #: ../../../CHANGELOG.md:3939 -msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" +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:3941 -msgid "(BC Break) mxisd upgrade with multiple base DN support" +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: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)." +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: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)." +#: ../../../CHANGELOG.md:3946 +msgid "2019-01-17" msgstr "" -#: ../../../CHANGELOG.md:3947 -msgid "Example change:" -msgstr "" - -#: ../../../CHANGELOG.md:3949 -msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +#: ../../../CHANGELOG.md:3948 +msgid "(BC Break) Making the playbook's roles more independent of one another" msgstr "" #: ../../../CHANGELOG.md:3950 -msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" +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:3953 -msgid "2018-12-21" +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:3955 -msgid "Synapse 0.34.0 and Python 3" +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: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)." +msgid "In addition, the following components can now be completely disabled (for those who want/need to):" +msgstr "" + +#: ../../../CHANGELOG.md:3958 +msgid "`matrix-coturn` by using `coturn_enabled: false`" +msgstr "" + +#: ../../../CHANGELOG.md:3959 +msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:3960 -msgid "2018-12-12" +msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`" msgstr "" #: ../../../CHANGELOG.md:3962 -msgid "Riot homepage customization" +msgid "The following changes had to be done:" 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 "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:3967 -msgid "2018-12-04" +#: ../../../CHANGELOG.md:3966 +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:3969 -msgid "mxisd extensibility" +#: ../../../CHANGELOG.md:3968 +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: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`)." +#: ../../../CHANGELOG.md:3970 +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:3974 -msgid "2018-11-28" +#: ../../../CHANGELOG.md:3973 +msgid "2019-01-16" msgstr "" -#: ../../../CHANGELOG.md:3976 -msgid "More scripts" +#: ../../../CHANGELOG.md:3975 +msgid "Splitting the playbook into multiple roles" msgstr "" -#: ../../../CHANGELOG.md:3978 -msgid "matrix-remove-all allows to uninstall everything with a single command" +#: ../../../CHANGELOG.md:3977 +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:3979 -msgid "matrix-make-user-admin allows to upgrade a user's privileges" +#: ../../../CHANGELOG.md:3980 +msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**." msgstr "" -#: ../../../CHANGELOG.md:3981 -msgid "LDAP auth support via matrix-synapse-ldap3" -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:3982 +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:3985 -msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." +msgid "2019-01-11" msgstr "" -#: ../../../CHANGELOG.md:3988 -msgid "2018-11-23" +#: ../../../CHANGELOG.md:3987 +msgid "(BC Break) mxisd configuration changes" msgstr "" -#: ../../../CHANGELOG.md:3990 -msgid "Support for controlling public registration and room auto-join" +#: ../../../CHANGELOG.md:3989 +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:3992 -msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden." +msgid "The following variables are no longer supported by this playbook:" msgstr "" #: ../../../CHANGELOG.md:3994 -msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." +msgid "`matrix_mxisd_ldap_enabled`" +msgstr "" + +#: ../../../CHANGELOG.md:3995 +msgid "`matrix_mxisd_ldap_connection_host`" msgstr "" #: ../../../CHANGELOG.md:3996 -msgid "Support for changing the welcome user ID (welcome bot)" +msgid "`matrix_mxisd_ldap_connection_tls`" +msgstr "" + +#: ../../../CHANGELOG.md:3997 +msgid "`matrix_mxisd_ldap_connection_port`" 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." +msgid "`matrix_mxisd_ldap_connection_baseDn`" msgstr "" +#: ../../../CHANGELOG.md:3999 +msgid "`matrix_mxisd_ldap_connection_baseDns`" +msgstr "" + +#: ../../../CHANGELOG.md:4000 #: ../../../CHANGELOG.md:4001 -msgid "2018-11-14" +msgid "`matrix_mxisd_ldap_connection_bindDn`" +msgstr "" + +#: ../../../CHANGELOG.md:4002 +#: ../../../CHANGELOG.md:4006 +msgid "`matrix_mxisd_ldap_connection_bindPassword`" msgstr "" #: ../../../CHANGELOG.md:4003 -msgid "Ability to set Synapse log levels" +msgid "`matrix_mxisd_ldap_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4004 +msgid "`matrix_mxisd_ldap_attribute_uid_type`" 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." +msgid "`matrix_mxisd_ldap_attribute_uid_value`" 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" +msgid "`matrix_mxisd_ldap_attribute_name`" +msgstr "" + +#: ../../../CHANGELOG.md:4008 +msgid "`matrix_mxisd_ldap_attribute_threepid_email`" +msgstr "" + +#: ../../../CHANGELOG.md:4009 +msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`" +msgstr "" + +#: ../../../CHANGELOG.md:4010 +msgid "`matrix_mxisd_ldap_identity_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4011 +msgid "`matrix_mxisd_ldap_identity_medium`" +msgstr "" + +#: ../../../CHANGELOG.md:4012 +msgid "`matrix_mxisd_ldap_auth_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4013 +msgid "`matrix_mxisd_ldap_directory_filter`" +msgstr "" + +#: ../../../CHANGELOG.md:4014 +msgid "`matrix_mxisd_template_config`" msgstr "" #: ../../../CHANGELOG.md:4016 -msgid "2018-11-03" +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:4018 -msgid "Customize parts of Riot's config" +msgid "This new way of configuring mxisd is beneficial because:" 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:" +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: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:4021 +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:4024 +msgid "2019-01-08" +msgstr "" + +#: ../../../CHANGELOG.md:4026 +msgid "(BC Break) Cronjob schedule no longer configurable" +msgstr "" + +#: ../../../CHANGELOG.md:4028 +msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at." +msgstr "" + +#: ../../../CHANGELOG.md:4030 +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:4033 +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:4036 +msgid "2018-12-23" +msgstr "" + +#: ../../../CHANGELOG.md:4038 +msgid "(BC Break) More SSL certificate retrieval methods" msgstr "" #: ../../../CHANGELOG.md:4040 -msgid "SSL protocols used to serve Riot and Synapse" +msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:" +msgstr "" + +#: ../../../CHANGELOG.md:4041 +msgid "(default) obtaining free SSL certificates from Let's Encrypt" 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 "generating self-signed SSL certificates" msgstr "" -#: ../../../CHANGELOG.md:4044 -msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." +#: ../../../CHANGELOG.md:4043 +msgid "managing SSL certificates manually" 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:4045 +msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4047 +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:4049 -msgid "2018-11-01" +msgid "before: `host_specific_matrix_ssl_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4051 -msgid "Postgres 11 support" +#: ../../../CHANGELOG.md:4050 +msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`" msgstr "" -#: ../../../CHANGELOG.md:4053 -msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." +#: ../../../CHANGELOG.md:4052 +msgid "(BC Break) mxisd upgrade with multiple base DN support" 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:4054 +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:4057 -#: ../../../CHANGELOG.md:4144 -#: ../../../CHANGELOG.md:4264 -msgid "(BC Break) Renaming playbook variables" +#: ../../../CHANGELOG.md:4056 +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: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." +#: ../../../CHANGELOG.md:4058 +msgid "Example change:" msgstr "" -#: ../../../CHANGELOG.md:4063 -msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" +#: ../../../CHANGELOG.md:4060 +msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`" +msgstr "" + +#: ../../../CHANGELOG.md:4061 +msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`" msgstr "" #: ../../../CHANGELOG.md:4064 -msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4065 -msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" +msgid "2018-12-21" msgstr "" #: ../../../CHANGELOG.md:4066 -msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" -msgstr "" - -#: ../../../CHANGELOG.md:4067 -msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" +msgid "Synapse 0.34.0 and Python 3" msgstr "" #: ../../../CHANGELOG.md:4068 -msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" -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 "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: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`" +msgid "2018-12-12" msgstr "" #: ../../../CHANGELOG.md:4073 -msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" +msgid "Riot homepage customization" msgstr "" -#: ../../../CHANGELOG.md:4074 -msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" +#: ../../../CHANGELOG.md:4075 +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:4077 -msgid "2018-10-26" +#: ../../../CHANGELOG.md:4078 +msgid "2018-12-04" msgstr "" -#: ../../../CHANGELOG.md:4079 -msgid "Mautrix Whatsapp bridging support" +#: ../../../CHANGELOG.md:4080 +msgid "mxisd extensibility" 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)." +#: ../../../CHANGELOG.md:4082 +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:4083 -msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." +#: ../../../CHANGELOG.md:4085 +msgid "2018-11-28" msgstr "" -#: ../../../CHANGELOG.md:4086 -msgid "2018-10-25" +#: ../../../CHANGELOG.md:4087 +msgid "More scripts" msgstr "" -#: ../../../CHANGELOG.md:4088 -msgid "Support for controlling Matrix federation" +#: ../../../CHANGELOG.md:4089 +msgid "matrix-remove-all allows to uninstall everything with a single command" 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 "matrix-make-user-admin allows to upgrade a user's privileges" msgstr "" -#: ../../../CHANGELOG.md:4093 -msgid "2018-10-24" +#: ../../../CHANGELOG.md:4092 +msgid "LDAP auth support via matrix-synapse-ldap3" msgstr "" -#: ../../../CHANGELOG.md:4095 -msgid "Disabling riot-web guests" +#: ../../../CHANGELOG.md:4094 +msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you." 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." +#: ../../../CHANGELOG.md:4096 +msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)." msgstr "" -#: ../../../CHANGELOG.md:4100 -msgid "2018-10-21" +#: ../../../CHANGELOG.md:4099 +msgid "2018-11-23" msgstr "" -#: ../../../CHANGELOG.md:4102 -msgid "Self-check maintenance command" +#: ../../../CHANGELOG.md:4101 +msgid "Support for controlling public registration and room auto-join" 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)." +#: ../../../CHANGELOG.md:4103 +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:4105 +msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)." msgstr "" #: ../../../CHANGELOG.md:4107 -msgid "2018-10-05" +msgid "Support for changing the welcome user ID (welcome bot)" msgstr "" #: ../../../CHANGELOG.md:4109 -msgid "Presence tracking made configurable" +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: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)." +#: ../../../CHANGELOG.md:4112 +msgid "2018-11-14" msgstr "" -#: ../../../CHANGELOG.md:4113 -msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." +#: ../../../CHANGELOG.md:4114 +msgid "Ability to set Synapse log levels" msgstr "" #: ../../../CHANGELOG.md:4116 -msgid "2018-09-27" +msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same." msgstr "" #: ../../../CHANGELOG.md:4118 -msgid "Synapse Cache Factor made configurable" -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`)." -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" -msgstr "" - -#: ../../../CHANGELOG.md:4125 -msgid "2018-09-26" +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:4127 -msgid "Disabling Docker container logging" +msgid "2018-11-03" msgstr "" #: ../../../CHANGELOG.md:4129 -msgid "`--log-driver=none` is used for all Docker containers now." +msgid "Customize parts of Riot's config" 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." -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." -msgstr "" - -#: ../../../CHANGELOG.md:4136 -msgid "2018-09-17" -msgstr "" - -#: ../../../CHANGELOG.md:4138 -msgid "Service discovery support" -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." +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:4142 -msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." +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:4148 -msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" +#: ../../../CHANGELOG.md:4151 +msgid "SSL protocols used to serve Riot and Synapse" msgstr "" -#: ../../../CHANGELOG.md:4149 -msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" +#: ../../../CHANGELOG.md:4153 +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:4152 -msgid "2018-09-07" +#: ../../../CHANGELOG.md:4155 +msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers." msgstr "" -#: ../../../CHANGELOG.md:4154 -msgid "Mautrix Telegram bridging 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)." -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 "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:4160 -msgid "Events cache size increase and configurability for Matrix Synapse" +msgid "2018-11-01" 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 "Postgres 11 support" msgstr "" #: ../../../CHANGELOG.md:4164 -msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." +msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default." msgstr "" #: ../../../CHANGELOG.md:4166 -msgid "Password-peppering support for Matrix Synapse" +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: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." +#: ../../../CHANGELOG.md:4255 +#: ../../../CHANGELOG.md:4375 +msgid "(BC Break) Renaming playbook variables" msgstr "" #: ../../../CHANGELOG.md:4170 -msgid "Statistics-reporting support for Matrix Synapse" -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 "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: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 "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4175 +msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4176 +msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`" msgstr "" #: ../../../CHANGELOG.md:4177 -msgid "2018-08-29" +msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4178 +msgid "from `matrix_docker_image_coturn` to `coturn_container_image`" msgstr "" #: ../../../CHANGELOG.md:4179 -msgid "Changing the way SSL certificates are retrieved" +msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4180 +msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`" 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 "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`" +msgstr "" + +#: ../../../CHANGELOG.md:4182 +msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`" 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 "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`" +msgstr "" + +#: ../../../CHANGELOG.md:4184 +msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`" 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*'`" +msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`" 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 "2018-10-26" msgstr "" #: ../../../CHANGELOG.md:4190 -msgid "re-run the playbook's [installation](docs/installing.md)" +msgid "Mautrix Whatsapp bridging support" msgstr "" -#: ../../../CHANGELOG.md:4191 -msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +#: ../../../CHANGELOG.md:4192 +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:4194 -msgid "2018-08-21" +msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)." msgstr "" -#: ../../../CHANGELOG.md:4196 -msgid "Matrix Corporal support" +#: ../../../CHANGELOG.md:4197 +msgid "2018-10-25" msgstr "" -#: ../../../CHANGELOG.md:4198 -msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +#: ../../../CHANGELOG.md:4199 +msgid "Support for controlling Matrix federation" msgstr "" -#: ../../../CHANGELOG.md:4200 -msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +#: ../../../CHANGELOG.md:4201 +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:4203 -msgid "2018-08-20" +#: ../../../CHANGELOG.md:4204 +msgid "2018-10-24" msgstr "" -#: ../../../CHANGELOG.md:4205 -msgid "Matrix Synapse rate limit control variables" +#: ../../../CHANGELOG.md:4206 +msgid "Disabling riot-web guests" 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:4208 +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:4214 -msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +#: ../../../CHANGELOG.md:4211 +msgid "2018-10-21" 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:4213 +msgid "Self-check maintenance command" +msgstr "" + +#: ../../../CHANGELOG.md:4215 +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:4218 -msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)." +msgid "2018-10-05" msgstr "" -#: ../../../CHANGELOG.md:4221 -msgid "2018-08-17" +#: ../../../CHANGELOG.md:4220 +msgid "Presence tracking made configurable" msgstr "" -#: ../../../CHANGELOG.md:4223 -msgid "REST auth support via matrix-synapse-rest-auth" +#: ../../../CHANGELOG.md:4222 +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: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:4224 +msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly." msgstr "" #: ../../../CHANGELOG.md:4227 -msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgid "2018-09-27" msgstr "" #: ../../../CHANGELOG.md:4229 -msgid "Compression improvements" +msgid "Synapse Cache Factor made configurable" 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." +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: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." +#: ../../../CHANGELOG.md:4233 +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:4237 -msgid "Disabling some unnecessary Synapse services" +#: ../../../CHANGELOG.md:4236 +msgid "2018-09-26" msgstr "" -#: ../../../CHANGELOG.md:4239 -msgid "The following services are not necessary, so they have been disabled:" +#: ../../../CHANGELOG.md:4238 +msgid "Disabling Docker container logging" msgstr "" #: ../../../CHANGELOG.md:4240 -msgid "on the federation port (8448): the `client` service" +msgid "`--log-driver=none` is used for all Docker containers now." msgstr "" -#: ../../../CHANGELOG.md:4241 -msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +#: ../../../CHANGELOG.md:4242 +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:4243 -msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +#: ../../../CHANGELOG.md:4244 +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:4246 -msgid "2018-08-15" +#: ../../../CHANGELOG.md:4247 +msgid "2018-09-17" msgstr "" -#: ../../../CHANGELOG.md:4248 -msgid "mxisd Identity Server support" +#: ../../../CHANGELOG.md:4249 +msgid "Service discovery support" 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:4251 +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:4253 -msgid "2018-08-14" -msgstr "" - -#: ../../../CHANGELOG.md:4255 -msgid "Email-sending support" -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)." +msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)." msgstr "" #: ../../../CHANGELOG.md:4259 -msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`" msgstr "" -#: ../../../CHANGELOG.md:4262 -msgid "2018-08-08" +#: ../../../CHANGELOG.md:4260 +msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`" msgstr "" -#: ../../../CHANGELOG.md:4268 -msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +#: ../../../CHANGELOG.md:4263 +msgid "2018-09-07" +msgstr "" + +#: ../../../CHANGELOG.md:4265 +msgid "Mautrix Telegram bridging support" +msgstr "" + +#: ../../../CHANGELOG.md:4267 +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: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`" +msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)." 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`" +msgid "Events cache size increase and configurability for Matrix Synapse" 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 "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:4275 -msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used." 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 "Password-peppering support for Matrix Synapse" msgstr "" #: ../../../CHANGELOG.md:4279 -msgid "Renaming Ansible playbook tag" +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:4281 -msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgid "Statistics-reporting support for Matrix Synapse" msgstr "" #: ../../../CHANGELOG.md:4283 -msgid "Docker container linking" +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:4285 +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:4288 +msgid "2018-08-29" +msgstr "" + +#: ../../../CHANGELOG.md:4290 +msgid "Changing the way SSL certificates are retrieved" +msgstr "" + +#: ../../../CHANGELOG.md:4292 +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:4294 +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:4296 +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:4298 +msgid "`systemctl stop 'matrix*'`" +msgstr "" + +#: ../../../CHANGELOG.md:4299 +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:4300 +msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4301 +msgid "re-run the playbook's [installation](docs/installing.md)" +msgstr "" + +#: ../../../CHANGELOG.md:4302 +msgid "possibly delete `/matrix/ssl-acmetool-delete-later`" +msgstr "" + +#: ../../../CHANGELOG.md:4305 +msgid "2018-08-21" +msgstr "" + +#: ../../../CHANGELOG.md:4307 +msgid "Matrix Corporal support" +msgstr "" + +#: ../../../CHANGELOG.md:4309 +msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you." +msgstr "" + +#: ../../../CHANGELOG.md:4311 +msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4314 +msgid "2018-08-20" +msgstr "" + +#: ../../../CHANGELOG.md:4316 +msgid "Matrix Synapse rate limit control variables" +msgstr "" + +#: ../../../CHANGELOG.md:4318 +msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)." +msgstr "" + +#: ../../../CHANGELOG.md:4325 +msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4327 +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:4329 +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:4332 +msgid "2018-08-17" +msgstr "" + +#: ../../../CHANGELOG.md:4334 +msgid "REST auth support via matrix-synapse-rest-auth" +msgstr "" + +#: ../../../CHANGELOG.md:4336 +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:4338 +msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)." +msgstr "" + +#: ../../../CHANGELOG.md:4340 +msgid "Compression improvements" +msgstr "" + +#: ../../../CHANGELOG.md:4342 +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:4345 +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:4348 +msgid "Disabling some unnecessary Synapse services" +msgstr "" + +#: ../../../CHANGELOG.md:4350 +msgid "The following services are not necessary, so they have been disabled:" +msgstr "" + +#: ../../../CHANGELOG.md:4351 +msgid "on the federation port (8448): the `client` service" +msgstr "" + +#: ../../../CHANGELOG.md:4352 +msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service" +msgstr "" + +#: ../../../CHANGELOG.md:4354 +msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now." +msgstr "" + +#: ../../../CHANGELOG.md:4357 +msgid "2018-08-15" +msgstr "" + +#: ../../../CHANGELOG.md:4359 +msgid "mxisd Identity Server support" +msgstr "" + +#: ../../../CHANGELOG.md:4361 +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:4364 +msgid "2018-08-14" +msgstr "" + +#: ../../../CHANGELOG.md:4366 +msgid "Email-sending support" +msgstr "" + +#: ../../../CHANGELOG.md:4368 +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:4370 +msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc." +msgstr "" + +#: ../../../CHANGELOG.md:4373 +msgid "2018-08-08" +msgstr "" + +#: ../../../CHANGELOG.md:4379 +msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4380 +msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`" +msgstr "" + +#: ../../../CHANGELOG.md:4381 +msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`" +msgstr "" + +#: ../../../CHANGELOG.md:4382 +msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`" +msgstr "" + +#: ../../../CHANGELOG.md:4383 +msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`" +msgstr "" + +#: ../../../CHANGELOG.md:4384 +msgid "from `docker_riot_image` to `matrix_docker_image_riot`" +msgstr "" + +#: ../../../CHANGELOG.md:4385 +msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`" +msgstr "" + +#: ../../../CHANGELOG.md:4386 +msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`" +msgstr "" + +#: ../../../CHANGELOG.md:4388 +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:4390 +msgid "Renaming Ansible playbook tag" +msgstr "" + +#: ../../../CHANGELOG.md:4392 +msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`." +msgstr "" + +#: ../../../CHANGELOG.md:4394 +msgid "Docker container linking" +msgstr "" + +#: ../../../CHANGELOG.md:4396 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..40dd2f047 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-03-07 10:44+0000\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 "" @@ -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..ed7fd55e5 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-03-07 10:44+0000\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 [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.)" 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-bridge-appservice-slack.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-slack.pot index 1079798b2..9020c48eb 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-slack.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-appservice-slack.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,242 +16,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:12 -msgid "Setting up Appservice Slack bridging (optional)" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:14 -msgid "**Notes**:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:15 -msgid "Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:16 -msgid "Currently (as of November, 2024) **this component is not available for new installation unless you have already created a classic Slack application** (which the bridge makes use of in order to enable bridging between Slack and Matrix), because the creation of classic Slack applications has been discontinued since June 4 2024. The author of the bridge claims [here](https://github.com/matrix-org/matrix-appservice-slack/issues/789#issuecomment-2172947787) that he plans to support the modern Slack application and until then \"the best (and only) option for new installations is to use the webhook bridging\"." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:18 -msgid "The playbook can install and configure [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) for you." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:20 -msgid "See the project's [documentation](https://github.com/matrix-org/matrix-appservice-slack/blob/master/README.md) to learn what it does and why it might be useful to you." -msgstr "" - #: ../../../docs/configuring-playbook-bridge-appservice-slack.md:22 -msgid "Prerequisites" +msgid "Setting up Appservice Slack bridging (optional, removed)" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-slack.md:24 -msgid "Create a Classic Slack App" +msgid "ðŸŠĶ The playbook used to be able to install and configure [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack), but no longer includes this component, as it had been unavailable for new installation since 2024, and was finally abandoned because the public Matrix.org Slack bridge has been decommissioned on January 14th, 2026." msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-slack.md:26 -msgid "First, you need to create a Classic Slack App [here](https://api.slack.com/apps?new_classic_app=1)." +msgid "**Note**: Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook." msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-slack.md:28 -msgid "Name the app \"matrixbot\" (or anything else you'll remember). Select the team/workspace this app will belong to. Click on bot users and add a new bot user. We will use this account to bridge the the rooms." +msgid "Uninstalling the component manually" msgstr "" #: ../../../docs/configuring-playbook-bridge-appservice-slack.md:30 -msgid "Then, click on Event Subscriptions and enable them and use the request url: `https://matrix.example.com/appservice-slack`." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:32 -msgid "Add the following events as `Bot User Events` and save:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:34 -msgid "team_domain_change" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:35 -msgid "message.channels" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:36 -msgid "message.groups (if you want to bridge private channels)" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:37 -msgid "reaction_added" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:38 -msgid "reaction_removed" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:40 -msgid "Next, click on \"OAuth & Permissions\" and add the following scopes:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:42 -msgid "chat:write:bot" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:43 -msgid "users:read" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:44 -msgid "reactions:write" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:45 -msgid "files:write:user (if you want to bridge files)" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:47 -msgid "**Note**: In order to make Slack files visible to Matrix users, this bridge will make Slack files visible to anyone with the url (including files in private channels). This is different than the current behavior in Slack, which only allows authenticated access to media posted in private channels. See MSC701 for details." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:49 -msgid "Click on \"Install App\" and \"Install App to Workspace\". Note the access tokens shown. You will need the Bot User OAuth Access Token and if you want to bridge files, the OAuth Access Token whenever you link a room." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:51 -msgid "Create an administration control room on Matrix" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:53 -msgid "Create a new Matrix room to act as the administration control room." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:55 -msgid "Note its internal room ID. This can be done in Element Web by sending a message, opening the options for that message and choosing \"view source\". The room ID will be displayed near the top." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:57 -msgid "Adjusting the playbook configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:59 -msgid "To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:75 -msgid "Extending the configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:77 -msgid "There are some additional things you may wish to configure about the bridge." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:79 -msgid "Take a look at:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:81 -msgid "`roles/custom/matrix-bridge-appservice-slack/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:82 -msgid "`roles/custom/matrix-bridge-appservice-slack/templates/config.yaml.j2` for the bridge's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `matrix_appservice_slack_configuration_extension_yaml` variable" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:84 -msgid "For example, to change the bot's username from `slackbot`, add the following configuration to your `vars.yml` file. Replace `examplebot` with your own." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:91 -msgid "Installing" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:93 -msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:100 -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-appservice-slack.md:102 -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-bridge-appservice-slack.md:104 -msgid "Usage" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:106 -msgid "To use the bridge, you need to send `/invite @slackbot:example.com` to invite the bridge bot user into the admin room." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:108 -msgid "If Team Sync is not enabled, for each channel you would like to bridge, perform the following steps:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:110 -msgid "Create a Matrix room in the usual manner for your client. Take a note of its Matrix room ID — it will look something like `!qporfwt:example.com`." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:111 -msgid "Invite the bot user to both the Slack and Matrix channels you would like to bridge using `/invite @matrixbot` for Slack and `/invite @slackbot:example.com` for Matrix." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:112 -msgid "Determine the \"channel ID\" that Slack uses to identify the channel. You can see it when you open a given Slack channel in a browser. The URL reads like this: `https://app.slack.com/client/XXX//details/`." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:113 -msgid "Issue a link command in the administration control room with these collected values as arguments:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:115 -msgid "with file bridging:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:121 -msgid "without file bridging:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:127 -msgid "These arguments can be shortened to single-letter forms:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:133 -msgid "Unlinking" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:135 -msgid "Channels can be unlinked again by sending this:" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:141 -msgid "Unlinking doesn't only disconnect the bridge, but also makes the slackbot leave the bridged Matrix room. So in case you want to re-link later, don't forget to re-invite the slackbot into this room again." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:143 -msgid "Troubleshooting" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:145 -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-appservice-slack`." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:147 -msgid "Linking: \"Room is now pending-name\"" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:149 -msgid "This typically means that you haven't used the correct Slack channel ID. Unlink the room and recheck 'Determine the \"channel ID\"' from above." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:151 -msgid "Messages work from Matrix to Slack, but not the other way around" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:153 -msgid "Check the logs, and if you find the message like below, unlink your room, reinvite the bot and re-link it again." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:155 -msgid "`WARN SlackEventHandler Ignoring message from unrecognised Slack channel ID : %s (%s) `" -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-appservice-slack.md:157 -msgid "This may particularly hit you, if you tried to unsuccessfully link your room multiple times without unlinking it after each failed attempt." +msgid "If you still have matrix-appservice-slack installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually. To uninstall manually, run these commands on the server:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-discord.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-discord.pot index 1ed9203b6..6095bde8a 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-discord.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-discord.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -28,130 +28,146 @@ msgstr "" msgid "**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridge supported by the playbook." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:18 -msgid "For using as a Bot we recommend the [Appservice Discord](configuring-playbook-bridge-appservice-discord.md), because it supports plumbing." -msgstr "" - #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:19 -msgid "For personal use with a discord account we recommend the `mautrix-discord` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Discord bridges supported by the playbook." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:21 msgid "The playbook can install and configure [mautrix-discord](https://github.com/mautrix/discord) for you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:23 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:21 msgid "See the project's [documentation](https://docs.mau.fi/bridges/go/discord/index.html) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:25 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:23 msgid "Prerequisites" msgstr "" +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:25 +msgid "There are 3 ways to login to discord using this bridge, either by [scanning a QR code](https://docs.mau.fi/bridges/go/discord/authentication.html#qr-login) using the Discord mobile app, by using a [Discord token](https://docs.mau.fi/bridges/go/discord/authentication.html#token-login), **or** by using a [Discord bot token](https://docs.mau.fi/bridges/go/discord/authentication.html#bot-token-login)." +msgstr "" + #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:27 -msgid "There are 2 ways to login to discord using this bridge, either by [scanning a QR code](#method-1-login-using-qr-code-recommended) using the Discord mobile app **or** by using a [Discord token](#method-2-login-using-discord-token-not-recommended)." +msgid "⚠ïļ QR code login is considered a self-bot and is forbidden by Discord. It can result in an account termination. See the [Discord policy](https://support.discord.com/hc/en-us/articles/115002192352-Automated-User-Accounts-Self-Bots)." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:29 -msgid "If this is a dealbreaker for you, consider using [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md). This comes with its own complexity and limitations, however, so we recommend that you proceed with this one if possible." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:31 msgid "Enable Appservice Double Puppet or Shared Secret Auth (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:33 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:31 msgid "If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) or [Shared Secret Auth](configuring-playbook-shared-secret-auth.md) service for this playbook." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:35 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:33 msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:37 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:35 msgid "**Note**: double puppeting with the Shared Secret Auth works at the time of writing, but is deprecated and will stop working in the future." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:39 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:37 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:41 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:39 msgid "To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:47 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:45 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:49 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:47 msgid "There are some additional things you may wish to configure about the bridge." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:52 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:50 msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:54 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:52 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:56 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:54 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:63 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:61 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-mautrix-discord.md:65 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:63 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-bridge-mautrix-discord.md:67 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:65 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:69 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:67 msgid "To use the bridge, you need to start a chat with `@discordbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:71 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:69 msgid "You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/discord/authentication.html)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:73 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:71 msgid "After logging in, the bridge will create portal rooms for some recent direct messages." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:75 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:73 msgid "Bridge guilds" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:77 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:75 msgid "If you'd like to bridge guilds, send `guilds status` to see the list of guilds, then send `guilds bridge GUILD_ID_HERE` for each guild that you'd like bridged. Make sure to replace `GUILD_ID_HERE` with the guild's ID." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:79 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:77 msgid "After bridging, spaces will be created automatically, and rooms will be created if necessary when messages are received. You can also pass `--entire` to the bridge command to immediately create all rooms." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:81 +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:79 msgid "If you want to manually bridge channels, invite the bot to the room you want to bridge, and run `!discord bridge CHANNEL_ID_HERE` to bridge the room. Make sure to replace `CHANNEL_ID_HERE` with the channel's ID." msgstr "" +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:81 +msgid "Enable relay" +msgstr "" + #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:83 -msgid "Troubleshooting" +msgid "The bridge supports using Discord's webhook feature to relay messages from Matrix users who haven't logged into the bridge." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:85 -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-mautrix-discord`." +msgid "In a room that has already been bridged, run `!discord set-relay --create`. The bridge will then create a webhook in the bridged discord channel and begin relaying messages. If the discord user does not have access to manage webhooks, run `!discord set-relay --url ` with the url of an already created webhook. (See Discords [Intro to webhooks](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks))" msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:87 -msgid "Increase logging verbosity" +msgid "More information on relaying is available on the [official documentation](https://docs.mau.fi/bridges/go/discord/relay.html)." msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:89 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:91 +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-mautrix-discord`." +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:93 +msgid "Increase logging verbosity" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:95 msgid "The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:102 +msgid "Command requires room admin rights when user is creator" +msgstr "" + +#: ../../../docs/configuring-playbook-bridge-mautrix-discord.md:104 +msgid "[MSC4289](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/4289-privilege-creators.md), introduced in [room version 12](https://spec.matrix.org/unstable/rooms/v12/), gives creators an infinitley high powerlevel. At the time of implementation, mautrix-discord and similar applications may not identify creators as or above admins. Either a separate admin user will need to manage the bridge or the room version should be less than version 12." +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-slack.pot b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-slack.pot index 9625ff9cb..3f9a1b06e 100644 --- a/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-slack.pot +++ b/i18n/translation-templates/docs/configuring-playbook-bridge-mautrix-slack.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,117 +25,105 @@ msgid "Refer the common guide for configuring mautrix bridges: [Setting up msgstr "" #: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:14 -msgid "**Note**: bridging to [Slack](https://slack.com/) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridge supported by the playbook." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:15 -msgid "For using as a Bot we recommend the [Appservice Slack](configuring-playbook-bridge-appservice-slack.md), because it supports plumbing. Note that it is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:16 -msgid "For personal use with a slack account we recommend the `mautrix-slack` bridge (the one being discussed here), because it is the most fully-featured and stable of the 3 Slack bridges supported by the playbook." -msgstr "" - -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:18 msgid "The playbook can install and configure [mautrix-slack](https://github.com/mautrix/slack) for you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:20 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:16 msgid "See the project's [documentation](https://docs.mau.fi/bridges/go/slack/index.html) to learn what it does and why it might be useful to you." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:22 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:18 msgid "See the [features and roadmap](https://github.com/mautrix/slack/blob/main/ROADMAP.md) for more information." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:24 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:20 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:26 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:22 msgid "For using this bridge, you would need to authenticate by **providing your username and password** (legacy) or by using a **token login**. See more information in the [docs](https://docs.mau.fi/bridges/go/slack/authentication.html)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:28 -msgid "Note that neither of these methods are officially supported by Slack. [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) uses a Slack bot account which is the only officially supported method for bridging a Slack channel." +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:24 +msgid "Note that neither of these methods are officially supported by Slack." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:30 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:26 msgid "Enable Appservice Double Puppet (optional)" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:32 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:28 msgid "If you want to set up [Double Puppeting](https://docs.mau.fi/bridges/general/double-puppeting.html) (hint: you most likely do) for this bridge automatically, you need to have enabled [Appservice Double Puppet](configuring-playbook-appservice-double-puppet.md) service for this playbook." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:34 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:30 msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#set-up-double-puppeting-optional) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about setting up Double Puppeting." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:36 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:32 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:38 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:34 msgid "To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:44 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:40 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:46 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:42 msgid "There are some additional things you may wish to configure about the bridge." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:48 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:44 msgid "See [this section](configuring-playbook-bridge-mautrix-bridges.md#extending-the-configuration) on the [common guide for configuring mautrix bridges](configuring-playbook-bridge-mautrix-bridges.md) for details about variables that you can customize and the bridge's default configuration, including [bridge permissions](configuring-playbook-bridge-mautrix-bridges.md#configure-bridge-permissions-optional), [encryption support](configuring-playbook-bridge-mautrix-bridges.md#enable-encryption-optional), [relay mode](configuring-playbook-bridge-mautrix-bridges.md#enable-relay-mode-optional), [bot's username](configuring-playbook-bridge-mautrix-bridges.md#set-the-bots-username-optional), etc." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:50 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:46 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:52 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:48 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:59 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:55 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-mautrix-slack.md:61 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:57 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-bridge-mautrix-slack.md:63 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:59 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:65 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:61 msgid "To use the bridge, you need to start a chat with `@slackbot:example.com` (where `example.com` is your base domain, not the `matrix.` domain)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:67 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:63 msgid "You can then follow instructions on the bridge's [official documentation on Authentication](https://docs.mau.fi/bridges/go/slack/authentication.html)." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:69 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:65 msgid "If you authenticated using a token, the recent chats will be bridged automatically (depending on the `conversation_count` setting). Otherwise (i.e. logging with the Discord application), the chats the bot is in will be bridged automatically." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:71 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:67 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:73 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:69 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-mautrix-slack`." msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:75 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:71 msgid "Increase logging verbosity" msgstr "" -#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:77 +#: ../../../docs/configuring-playbook-bridge-mautrix-slack.md:73 msgid "The default logging level for this component is `warn`. If you want to increase the verbosity, add the following configuration to your `vars.yml` file and re-run the playbook:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-client-sable.pot b/i18n/translation-templates/docs/configuring-playbook-client-sable.pot new file mode 100644 index 000000000..ddb37938e --- /dev/null +++ b/i18n/translation-templates/docs/configuring-playbook-client-sable.pot @@ -0,0 +1,113 @@ +# 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-03-07 10:44+0000\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-client-sable.md:9 +msgid "Setting up Sable (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:11 +msgid "The playbook can install and configure the [Sable](https://github.com/7w1/sable) Matrix web client for you." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:13 +msgid "Sable is a web client focusing primarily on simple, elegant and secure interface. It can be installed alongside or instead of [Element Web](./configuring-playbook-client-element-web.md), [Cinny](./configuring-playbook-client-cinny.md) and others." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:15 +msgid "Adjusting DNS records" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:17 +msgid "By default, this playbook installs Sable on the `sable.` subdomain (`sable.example.com`) and requires you to create a CNAME record for `sable`, which targets `matrix.example.com`." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:19 +msgid "When setting, replace `example.com` with your own." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:21 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:23 +msgid "To enable Sable, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:29 +msgid "Adjusting the Sable URL (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:31 +msgid "By tweaking the `sable_hostname` variable, you can easily make the service available at a **different hostname** than the default one." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:33 +msgid "Example additional configuration for your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:43 +msgid "After changing the domain, **you may need to adjust your DNS** records to point the Sable domain to the Matrix server." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:45 +msgid "**Note**: while there is a `sable_path_prefix` variable for changing the path where Sable is served, overriding it is [not possible](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3701), because Sable requires an application rebuild (with a tweaked build config) to be functional under a custom path. You'd need to serve Sable at a dedicated subdomain." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:47 +msgid "Extending the configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:49 +msgid "There are some additional things you may wish to configure about the component." +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:51 +msgid "Take a look at:" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:53 +msgid "`roles/galaxy/sable/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:54 +msgid "`roles/galaxy/sable/templates/config.json.j2` for the component's default configuration. You can override settings (even those that don't have dedicated playbook variables) using the `sable_configuration_extension_json` variable" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:56 +msgid "Installing" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:58 +msgid "After configuring the playbook and [adjusting your DNS records](#adjusting-dns-records), run the playbook with [playbook tags](playbook-tags.md) as below:" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.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-client-sable.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 "" + +#: ../../../docs/configuring-playbook-client-sable.md:69 +msgid "Troubleshooting" +msgstr "" + +#: ../../../docs/configuring-playbook-client-sable.md:71 +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-client-sable`." +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-continuwuity.pot b/i18n/translation-templates/docs/configuring-playbook-continuwuity.pot index 0d95a2676..f16bcf20f 100644 --- a/i18n/translation-templates/docs/configuring-playbook-continuwuity.pot +++ b/i18n/translation-templates/docs/configuring-playbook-continuwuity.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -93,69 +93,69 @@ msgid "Unlike other homeserver implementations (like Synapse and Dendrite), cont msgstr "" #: ../../../docs/configuring-playbook-continuwuity.md:61 -msgid "If you followed the instructions above (see [Adjusting the playbook configuration](#adjusting-the-playbook-configuration)), you should have registration enabled and protected by a registration token." -msgstr "" - -#: ../../../docs/configuring-playbook-continuwuity.md:63 -msgid "This should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users." -msgstr "" - -#: ../../../docs/configuring-playbook-continuwuity.md:65 -msgid "The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**." +msgid "On first startup, Continuwuity creates a special one-time-use registration token and logs it to the server's console. To access this, you will need to SSH into the server and run the following command:" msgstr "" #: ../../../docs/configuring-playbook-continuwuity.md:68 -msgid "Configuring bridges / appservices" +msgid "Find the token, highlight it, and copy it (ctrl+shift+C). This token should allow you to create the first user account via any client (like [Element Web](./configuring-playbook-client-element-web.md)) which supports creating users." msgstr "" #: ../../../docs/configuring-playbook-continuwuity.md:70 +msgid "The **first user account that you create will be marked as an admin** and **will be automatically invited to an admin room**." +msgstr "" + +#: ../../../docs/configuring-playbook-continuwuity.md:73 +msgid "Configuring bridges / appservices" +msgstr "" + +#: ../../../docs/configuring-playbook-continuwuity.md:75 msgid "For other homeserver implementations (like Synapse and Dendrite), the playbook automatically registers appservices (for bridges, bots, etc.) with the homeserver." msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:72 +#: ../../../docs/configuring-playbook-continuwuity.md:77 msgid "For continuwuity, you will have to manually register appservices using the [`!admin appservices register` command](https://continuwuity.org/appservices.html#set-up-the-appservice---general-instructions) sent to the server bot account." msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:74 +#: ../../../docs/configuring-playbook-continuwuity.md:79 msgid "The server's bot account has a Matrix ID of `@conduit:example.com` (not `@continuwuity:example.com`!) due to continuwuity's historical legacy. Your first user account would already have been invited to an admin room with this bot." msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:77 +#: ../../../docs/configuring-playbook-continuwuity.md:82 msgid "Find the appservice file you'd like to register. This can be any `registration.yaml` file found in the `/matrix` directory, for example `/matrix/mautrix-signal/bridge/registration.yaml`." msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:79 +#: ../../../docs/configuring-playbook-continuwuity.md:84 msgid "Then, send its content to the existing admin room:" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:103 +#: ../../../docs/configuring-playbook-continuwuity.md:108 msgid "Migrating from conduwuit" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:105 +#: ../../../docs/configuring-playbook-continuwuity.md:110 msgid "Since Continuwuity is a drop-in replacement for [conduwuit](configuring-playbook-conduwuit.md), migration is possible." msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:107 +#: ../../../docs/configuring-playbook-continuwuity.md:112 msgid "Make sure that Continuwuity is properly set up on your `vars.yml` as described above" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:109 +#: ../../../docs/configuring-playbook-continuwuity.md:114 msgid "Make sure that Conduwuit references are removed from your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:111 +#: ../../../docs/configuring-playbook-continuwuity.md:116 msgid "Run the installation in a way that installs new services and uninstalls old ones (e.g. `just setup-all`)" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:113 +#: ../../../docs/configuring-playbook-continuwuity.md:118 msgid "Run the playbook with the `continuwuity-migrate-from-conduwuit` tag (e.g. `just run-tags continuwuity-migrate-from-conduwuit`). This migrates data from `/matrix/conduwuit` to `/matrix/continuwuity`" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:115 +#: ../../../docs/configuring-playbook-continuwuity.md:120 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-continuwuity.md:117 +#: ../../../docs/configuring-playbook-continuwuity.md:122 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-continuwuity`." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-email.pot b/i18n/translation-templates/docs/configuring-playbook-email.pot index 1f56396e5..0f3e26778 100644 --- a/i18n/translation-templates/docs/configuring-playbook-email.pot +++ b/i18n/translation-templates/docs/configuring-playbook-email.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,89 +41,109 @@ msgid "📁 `roles/galaxy/exim_relay/docs/configuring-exim-relay.md` locally, if msgstr "" #: ../../../docs/configuring-playbook-email.md:20 -msgid "Firewall settings" +msgid "Why use exim-relay?" msgstr "" #: ../../../docs/configuring-playbook-email.md:22 -msgid "No matter whether you send email directly (the default) or you relay email through another host, you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration)." +msgid "**Benefits of using exim-relay** instead of configuring SMTP directly in each service:" msgstr "" #: ../../../docs/configuring-playbook-email.md:24 -msgid "Docker automatically opens these ports in the server's firewall, so you likely don't need to do anything. If you use another firewall in front of the server, you may need to adjust it." +msgid "**Final delivery capability**: Can deliver emails directly if you don't have an SMTP server" msgstr "" #: ../../../docs/configuring-playbook-email.md:26 -msgid "Adjusting the playbook configuration" +msgid "**Centralized configuration**: Configure your upstream SMTP server once in exim-relay, then point all services ([Synapse](configuring-playbook-synapse.md), [Matrix Authentication Service](configuring-playbook-matrix-authentication-service.md), etc.) there—no need to configure SMTP in each component" msgstr "" #: ../../../docs/configuring-playbook-email.md:28 -msgid "Enable DKIM authentication to improve deliverability (optional)" +msgid "**Local spooling**: Stores messages locally and retries delivery if your upstream SMTP server is temporarily unavailable" msgstr "" #: ../../../docs/configuring-playbook-email.md:30 -msgid "By default, exim-relay attempts to deliver emails directly. This may or may not work, depending on your domain configuration." +msgid "Firewall settings" msgstr "" #: ../../../docs/configuring-playbook-email.md:32 -msgid "To improve email deliverability, you can configure authentication methods such as DKIM (DomainKeys Identified Mail), SPF, and DMARC for your domain. Without setting any of these authentication methods, your outgoing email is most likely to be quarantined as spam at recipient's mail servers." +msgid "No matter whether you send email directly (the default) or you relay email through another host, you'll probably need to allow outgoing traffic for TCP ports 25/587 (depending on configuration)." msgstr "" #: ../../../docs/configuring-playbook-email.md:34 -msgid "For details about configuring DKIM, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#enable-dkim-support-optional) on the role's documentation." +msgid "Docker automatically opens these ports in the server's firewall, so you likely don't need to do anything. If you use another firewall in front of the server, you may need to adjust it." msgstr "" #: ../../../docs/configuring-playbook-email.md:36 -msgid "ðŸ’Ą If you cannot enable DKIM, SPF, or DMARC on your domain for some reason, we recommend relaying email through another SMTP server." +msgid "Adjusting the playbook configuration" msgstr "" #: ../../../docs/configuring-playbook-email.md:38 -msgid "Relaying email through another SMTP server (optional)" +msgid "Enable DKIM authentication to improve deliverability (optional)" msgstr "" #: ../../../docs/configuring-playbook-email.md:40 -msgid "**On some cloud providers such as Google Cloud, [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible.** In this case, you will need to relay email through another SMTP server." +msgid "By default, exim-relay attempts to deliver emails directly. This may or may not work, depending on your domain configuration." msgstr "" #: ../../../docs/configuring-playbook-email.md:42 -msgid "For details about configuration, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#relaying-email-through-another-smtp-server) on the role's document." +msgid "To improve email deliverability, you can configure authentication methods such as DKIM (DomainKeys Identified Mail), SPF, and DMARC for your domain. Without setting any of these authentication methods, your outgoing email is most likely to be quarantined as spam at recipient's mail servers." msgstr "" #: ../../../docs/configuring-playbook-email.md:44 -msgid "Disable mail service (optional)" +msgid "For details about configuring DKIM, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#enable-dkim-support-optional) on the role's documentation." msgstr "" #: ../../../docs/configuring-playbook-email.md:46 -msgid "For a low-power server you might probably want to disable exim-relay. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgid "ðŸ’Ą If you cannot enable DKIM, SPF, or DMARC on your domain for some reason, we recommend relaying email through another SMTP server." +msgstr "" + +#: ../../../docs/configuring-playbook-email.md:48 +msgid "Relaying email through another SMTP server (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-email.md:50 +msgid "**On some cloud providers such as Google Cloud, [port 25 is always blocked](https://cloud.google.com/compute/docs/tutorials/sending-mail/), so sending email directly from your server is not possible.** In this case, you will need to relay email through another SMTP server." msgstr "" #: ../../../docs/configuring-playbook-email.md:52 -msgid "Note that disabling exim-relay will stop email-notifications and other similar functions from working." +msgid "For details about configuration, refer [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#relaying-email-through-another-smtp-server) on the role's document." msgstr "" #: ../../../docs/configuring-playbook-email.md:54 -msgid "See [this entry on the FAQ](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server) for other possible optimizations for a low-power server." +msgid "Disable mail service (optional)" msgstr "" #: ../../../docs/configuring-playbook-email.md:56 +msgid "For a low-power server you might probably want to disable exim-relay. To do so, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-email.md:62 +msgid "Note that disabling exim-relay will stop email-notifications and other similar functions from working." +msgstr "" + +#: ../../../docs/configuring-playbook-email.md:64 +msgid "See [this entry on the FAQ](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server) for other possible optimizations for a low-power server." +msgstr "" + +#: ../../../docs/configuring-playbook-email.md:66 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-email.md:58 +#: ../../../docs/configuring-playbook-email.md:68 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-email.md:65 +#: ../../../docs/configuring-playbook-email.md:75 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-email.md:67 +#: ../../../docs/configuring-playbook-email.md:77 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-email.md:69 +#: ../../../docs/configuring-playbook-email.md:79 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-email.md:71 +#: ../../../docs/configuring-playbook-email.md:81 msgid "See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay/blob/main/docs/configuring-exim-relay.md#troubleshooting) on the role's documentation for details." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-jitsi.pot b/i18n/translation-templates/docs/configuring-playbook-jitsi.pot index 52954c44b..8c78a3bdd 100644 --- a/i18n/translation-templates/docs/configuring-playbook-jitsi.pot +++ b/i18n/translation-templates/docs/configuring-playbook-jitsi.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,149 +25,153 @@ msgid "The playbook can install and configure the [Jitsi](https://jitsi.org/) vi msgstr "" #: ../../../docs/configuring-playbook-jitsi.md:21 +msgid "Because Jitsi still requires a TURN server, enabling Jitsi automatically enables coturn (`coturn_enabled: true`) unless you explicitly disable it." +msgstr "" + +#: ../../../docs/configuring-playbook-jitsi.md:24 msgid "Jitsi is an open source video-conferencing platform. It can not only be integrated with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS) as a widget, but also be used as standalone web app." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:23 +#: ../../../docs/configuring-playbook-jitsi.md:26 msgid "ðŸ’Ą If you're into experimental technology, you may also be interested in trying out [Element Call](configuring-playbook-element-call.md) - a native Matrix video conferencing application." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:25 +#: ../../../docs/configuring-playbook-jitsi.md:28 msgid "The [Ansible role for Jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) is developed and maintained by [the MASH (mother-of-all-self-hosting) project](https://github.com/mother-of-all-self-hosting). For details about configuring Jitsi, you can check them via:" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:26 +#: ../../../docs/configuring-playbook-jitsi.md:29 msgid "🌐 [the role's documentation at the MASH project](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md) online" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:27 +#: ../../../docs/configuring-playbook-jitsi.md:30 msgid "📁 `roles/galaxy/jitsi/docs/configuring-jitsi.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles)" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:29 +#: ../../../docs/configuring-playbook-jitsi.md:32 msgid "Prerequisites" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:31 +#: ../../../docs/configuring-playbook-jitsi.md:34 msgid "Before proceeding, make sure to check server's requirements recommended by [the official deployment guide](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements)." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:33 +#: ../../../docs/configuring-playbook-jitsi.md:36 msgid "You may need to open some ports to your server, if you use another firewall in front of the server. Refer [the role's documentation](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#prerequisites) to check which ones to be configured." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:35 +#: ../../../docs/configuring-playbook-jitsi.md:38 msgid "Adjusting DNS records" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:37 +#: ../../../docs/configuring-playbook-jitsi.md:40 msgid "By default, this playbook installs Jitsi on the `jitsi.` subdomain (`jitsi.example.com`) and requires you to create a CNAME record for `jitsi`, which targets `matrix.example.com`." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:39 +#: ../../../docs/configuring-playbook-jitsi.md:42 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:41 +#: ../../../docs/configuring-playbook-jitsi.md:44 msgid "Adjusting the playbook configuration" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:43 +#: ../../../docs/configuring-playbook-jitsi.md:46 msgid "To enable Jitsi, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:61 +#: ../../../docs/configuring-playbook-jitsi.md:64 msgid "As the most of the necessary settings for the role have been taken care of by the playbook, you can enable Jitsi on your Matrix server with this minimum configuration." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:63 +#: ../../../docs/configuring-playbook-jitsi.md:66 msgid "However, **since Jitsi's performance heavily depends on server resource (bandwidth, RAM, and CPU), it is recommended to review settings and optimize them as necessary before deployment.** You can check [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#example-configurations) for an example set of configurations to set up a Jitsi instance, focusing on performance. If you will host a large conference, you probably might also want to consider to provision additional JVBs ([Jitsi VideoBridge](https://github.com/jitsi/jitsi-videobridge)). See [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-up-additional-jvbs-for-more-video-conferences-optional) for details about setting them up with the playbook." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:65 +#: ../../../docs/configuring-playbook-jitsi.md:68 msgid "See the role's documentation for details about configuring Jitsi per your preference (such as setting [a custom hostname](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#set-the-hostname) and [the environment variable for running Jitsi in a LAN](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jvb_advertise_ips-for-running-behind-nat-or-on-a-lan-environment-optional))." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:67 +#: ../../../docs/configuring-playbook-jitsi.md:70 msgid "Enable authentication and guests mode (optional)" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:69 +#: ../../../docs/configuring-playbook-jitsi.md:72 msgid "By default the Jitsi Meet instance **does not require for anyone to log in, and is open to use without an account**." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:71 +#: ../../../docs/configuring-playbook-jitsi.md:74 msgid "If you would like to control who is allowed to start meetings on your instance, you'd need to enable Jitsi's authentication and optionally guests mode." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:73 +#: ../../../docs/configuring-playbook-jitsi.md:76 msgid "See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#configure-jitsi-authentication-and-guests-mode-optional) on the role's documentation for details about how to configure the authentication and guests mode. The recommended authentication method is `internal` as it also works in federated rooms. If you want to enable authentication with Matrix OpenID making use of [Matrix User Verification Service (UVS)](configuring-playbook-user-verification-service.md), see [here](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix) for details about how to set it up." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:75 +#: ../../../docs/configuring-playbook-jitsi.md:78 msgid "Enable Gravatar (optional)" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:77 +#: ../../../docs/configuring-playbook-jitsi.md:80 msgid "In the default Jisti Meet configuration, `gravatar.com` is enabled as an avatar service." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:79 +#: ../../../docs/configuring-playbook-jitsi.md:82 msgid "Since the Element clients send the URL of configured Matrix avatars to the Jitsi instance, our configuration has disabled the Gravatar service." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:81 +#: ../../../docs/configuring-playbook-jitsi.md:84 msgid "To enable the Gravatar service nevertheless, add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:87 +#: ../../../docs/configuring-playbook-jitsi.md:90 msgid "[!WARNING] This will result in third party request leaking data to the Gravatar Service (`gravatar.com`, unless configured otherwise). Besides metadata, the Matrix user_id and possibly the room ID (via `referrer` header) will be also sent to the third party." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:90 +#: ../../../docs/configuring-playbook-jitsi.md:93 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:92 +#: ../../../docs/configuring-playbook-jitsi.md:95 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-jitsi.md:99 +#: ../../../docs/configuring-playbook-jitsi.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-jitsi.md:101 +#: ../../../docs/configuring-playbook-jitsi.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. Note these shortcuts run the `ensure-matrix-users-created` tag too." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:103 +#: ../../../docs/configuring-playbook-jitsi.md:106 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:105 +#: ../../../docs/configuring-playbook-jitsi.md:108 msgid "You can use the self-hosted Jitsi server in multiple ways:" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:107 +#: ../../../docs/configuring-playbook-jitsi.md:110 msgid "**by adding a widget to a room via Element Web** (the one configured by the playbook at `https://element.example.com`). Just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:109 +#: ../../../docs/configuring-playbook-jitsi.md:112 msgid "**directly (without any Matrix integration)**. Just go to `https://jitsi.example.com`, and you can start a videoconference." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:111 +#: ../../../docs/configuring-playbook-jitsi.md:114 msgid "Note that you'll need to log in to your Jitsi's account to start a conference if you have configured authentication with `internal` auth." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:113 +#: ../../../docs/configuring-playbook-jitsi.md:116 msgid "Check [the official user guide](https://jitsi.github.io/handbook/docs/category/user-guide) for details about how to use Jitsi." msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:115 +#: ../../../docs/configuring-playbook-jitsi.md:118 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-jitsi.md:117 +#: ../../../docs/configuring-playbook-jitsi.md:120 msgid "See [this section](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi/blob/main/docs/configuring-jitsi.md#troubleshooting) on the role's documentation for details." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-livekit-server.pot b/i18n/translation-templates/docs/configuring-playbook-livekit-server.pot index 000f0b883..7a55b0f0d 100644 --- a/i18n/translation-templates/docs/configuring-playbook-livekit-server.pot +++ b/i18n/translation-templates/docs/configuring-playbook-livekit-server.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,7 +41,7 @@ msgid "🌐 [the role's documentation at the MASH project](https://github.com/mo msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:18 -msgid "📁 `roles/galaxy/livekit-server/docs/configuring-livekit-server.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles)" +msgid "📁 `roles/galaxy/livekit_server/docs/configuring-livekit-server.md` locally, if you have [fetched the Ansible roles](installing.md#update-ansible-roles)" msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:20 @@ -69,17 +69,69 @@ msgid "`5350/tcp`: TURN/TCP. Also see the [Limitations](#limitations) section be msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:32 -msgid "ðŸ’Ą The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you've using custom configuration for the LiveKit Server role, you may need to adjust the firewall rules accordingly." +msgid "`30000-30020/udp`: TURN relay range used by LiveKit's embedded TURN server." msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:34 -msgid "Limitations" +msgid "ðŸ’Ą The suggestions above are inspired by the upstream [Ports and Firewall](https://docs.livekit.io/home/self-hosting/ports-firewall/) documentation based on how LiveKit is configured in the playbook. If you're using custom configuration for the LiveKit Server role, you may need to adjust firewall rules accordingly." msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:36 -msgid "For some reason, LiveKit Server's TURN ports (`3479/udp` and `5350/tcp`) are not reachable over IPv6 regardless of whether you've [enabled IPv6](./configuring-ipv6.md) for your server." +msgid "TURN TLS handling" msgstr "" #: ../../../docs/configuring-playbook-livekit-server.md:38 -msgid "It seems like LiveKit Server intentionally only listens on `udp4` and `tcp4` as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92)." +msgid "When `matrix_playbook_reverse_proxy_type` is `playbook-managed-traefik` (which is the default for this playbook), TURN over TCP is terminated by Traefik and forwarded to LiveKit with `turn.external_tls = true`. In this playbook default, this mode is enabled automatically when SSL is enabled and TURN is enabled." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:40 +msgid "The playbook installs a dedicated Traefik TCP entrypoint for TURN (`matrix-livekit-turn`) by default and binds it to `tcp/5350`." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:41 +msgid "`livekit_server_config_turn_external_tls` is automatically enabled for this setup." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:42 +msgid "Because Traefik handles TLS, LiveKit no longer needs certificate-file paths for TURN in this mode." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:44 +msgid "To opt out and keep TURN TLS termination in LiveKit itself, set:" +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:50 +msgid "In this playbook, certificate paths are managed automatically via `group_vars/matrix_servers` when certificate dumping is enabled." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:52 +msgid "If your setup uses `other-traefik-container` or [another reverse-proxy](./configuring-playbook-own-webserver.md), behavior is unchanged by default and still relies on certificates being available inside the container as before." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:54 +msgid "Deployments using `other-traefik-container` can opt into the same Traefik-terminated mode there, by setting:" +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:62 +msgid "and configuring their own Traefik TCP entrypoint dedicated to LiveKit TURN traffic." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:64 +msgid "Limitations" +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:66 +msgid "LiveKit Server's TURN listener behavior depends on where TLS is terminated:" +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:68 +msgid "Direct LiveKit TURN listeners (`livekit_server_config_turn_external_tls: false`) still use IPv4-only sockets for `3479/udp` and `5350/tcp`, so IPv6 connectivity to these endpoints is not possible." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:69 +msgid "With [TURN TLS handling](#turn-tls-handling) (`livekit_server_config_turn_external_tls: true`), the playbook's dedicated `matrix-livekit-turn` TCP entrypoint can still listen on both IPv4 and IPv6. Traefik then forwards TURN/TCP to LiveKit." +msgstr "" + +#: ../../../docs/configuring-playbook-livekit-server.md:71 +msgid "It appears that LiveKit Server intentionally only listens on `udp4` and `tcp4` in direct mode, as seen [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L128) and [here](https://github.com/livekit/livekit/blob/154b4d26b769c68a03c096124094b97bf61a996f/pkg/service/turn.go#L92)." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-matrix-rtc.pot b/i18n/translation-templates/docs/configuring-playbook-matrix-rtc.pot index 20c5f27e6..118872432 100644 --- a/i18n/translation-templates/docs/configuring-playbook-matrix-rtc.pot +++ b/i18n/translation-templates/docs/configuring-playbook-matrix-rtc.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -45,11 +45,11 @@ msgid "Various experimental features for the Synapse homeserver which Element Ca msgstr "" #: ../../../docs/configuring-playbook-matrix-rtc.md:20 -msgid "A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))" +msgid "A [LiveKit Server](configuring-playbook-livekit-server.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack))" msgstr "" #: ../../../docs/configuring-playbook-matrix-rtc.md:21 -msgid "The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](#decide-between-element-call-vs-just-the-matrix-rtc-stack))" +msgid "The [LiveKit JWT Service](configuring-playbook-livekit-jwt-service.md) (automatically installed when [Element Call or the Matrix RTC stack is enabled](configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack))" msgstr "" #: ../../../docs/configuring-playbook-matrix-rtc.md:22 diff --git a/i18n/translation-templates/docs/configuring-playbook-prometheus-grafana.pot b/i18n/translation-templates/docs/configuring-playbook-prometheus-grafana.pot index f2ab67ceb..2a0bc60f0 100644 --- a/i18n/translation-templates/docs/configuring-playbook-prometheus-grafana.pot +++ b/i18n/translation-templates/docs/configuring-playbook-prometheus-grafana.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -143,7 +143,7 @@ msgid "[Prometheus role](https://github.com/mother-of-all-self-hosting/ansible-r msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:109 -msgid "`roles/custom/matrix-prometheus-nginxlog-exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" +msgid "`roles/galaxy/prometheus_nginxlog_exporter/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:111 @@ -315,19 +315,19 @@ msgid "Set this to `true` to expose the [Postgres exporter](#enable-metrics-and- msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:0 -msgid "`matrix_prometheus_nginxlog_exporter_enabled`" +msgid "`prometheus_nginxlog_exporter_enabled`" msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:0 -msgid "Set this to `true` to enable the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network)." +msgid "Set this to `true` to enable the [prometheus-nginxlog-exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) (locally, on the container network)." msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:0 -msgid "`matrix_prometheus_nginxlog_exporter_metrics_proxying_enabled`" +msgid "`prometheus_nginxlog_exporter_container_labels_traefik_enabled`" msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:0 -msgid "Set this to `true` to expose the [nginx Log exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`." +msgid "Set this to `true` to expose the [prometheus-nginxlog-exporter](#enable-metrics-and-graphs-for-nginx-logs-optional) metrics on `https://matrix.example.com/metrics/nginxlog`." msgstr "" #: ../../../docs/configuring-playbook-prometheus-grafana.md:187 diff --git a/i18n/translation-templates/docs/configuring-playbook-synapse-admin.pot b/i18n/translation-templates/docs/configuring-playbook-synapse-admin.pot index 6c368e2f4..98b677895 100644 --- a/i18n/translation-templates/docs/configuring-playbook-synapse-admin.pot +++ b/i18n/translation-templates/docs/configuring-playbook-synapse-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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,125 +21,137 @@ msgid "Setting up Synapse Admin (optional)" msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:15 -msgid "The playbook can install and configure [etkecc/synapse-admin](https://github.com/etkecc/synapse-admin) (a [feature-rich](https://github.com/etkecc/synapse-admin#fork-differences) fork of [Awesome-Technologies/synapse-admin](https://github.com/Awesome-Technologies/synapse-admin), community room: [#synapse-admin:etke.cc](https://matrix.to/#/#synapse-admin:etke.cc)) for you." +msgid "The playbook can install and configure Synapse Admin for you." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:17 -msgid "synapse-admin is a web UI tool you can use to **administrate users, rooms, media, etc. on your Matrix server**. It's designed to work with the Synapse homeserver implementation and WON'T work with Dendrite because [Dendrite Admin API](https://element-hq.github.io/dendrite/administration/adminapi) differs from [Synapse Admin API](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/)." +msgid "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)." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:19 -msgid "ðŸ’Ą **Note**: the latest version of synapse-admin is hosted by [etke.cc](https://etke.cc/) at [admin.etke.cc](https://admin.etke.cc/). If you only need this service occasionally and trust giving your admin credentials to a 3rd party Single Page Application, you can consider using it from there and avoiding the (small) overhead of self-hosting." +msgid "[!NOTE]" msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:21 -msgid "ðŸ’Ą **Note**: The playbook also supports an alternative management UI in the shape of [Element Admin](./configuring-playbook-element-admin.md). However, it's currently less feature-rich than Synapse Admin and has a dependency on [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." +msgid "Synapse Admin does not work with other homeserver implementations than Synapse due to API's incompatibility." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse-admin.md:22 +msgid "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." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:23 -msgid "Adjusting DNS records (optional)" +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 Synapse Admin and requires [Matrix Authentication Service](./configuring-playbook-matrix-authentication-service.md)." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:25 -msgid "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." +msgid "Adjusting DNS records (optional)" msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:27 -msgid "If you wish to adjust it, see the section [below](#adjusting-the-synapse-admin-url-optional) for details about DNS configuration." +msgid "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." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:29 -msgid "Adjusting the playbook configuration" +msgid "If you wish to adjust it, see the section [below](#adjusting-the-synapse-admin-url-optional) for details about DNS configuration." msgstr "" #: ../../../docs/configuring-playbook-synapse-admin.md:31 +msgid "Adjusting the playbook configuration" +msgstr "" + +#: ../../../docs/configuring-playbook-synapse-admin.md:33 msgid "To enable Synapse Admin, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:37 +#: ../../../docs/configuring-playbook-synapse-admin.md:39 msgid "**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:" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:39 +#: ../../../docs/configuring-playbook-synapse-admin.md:41 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-synapse-admin.md:40 +#: ../../../docs/configuring-playbook-synapse-admin.md:42 msgid "for [Dendrite](./configuring-playbook-dendrite.md): `matrix_dendrite_container_labels_public_client_synapse_admin_api_enabled: true`" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:42 +#: ../../../docs/configuring-playbook-synapse-admin.md:44 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:44 +#: ../../../docs/configuring-playbook-synapse-admin.md:46 msgid "Adjusting the Synapse Admin URL (optional)" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:46 +#: ../../../docs/configuring-playbook-synapse-admin.md:48 msgid "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." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:48 +#: ../../../docs/configuring-playbook-synapse-admin.md:50 msgid "Example additional configuration for your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:56 +#: ../../../docs/configuring-playbook-synapse-admin.md:58 msgid "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`." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:58 +#: ../../../docs/configuring-playbook-synapse-admin.md:60 msgid "When setting, replace `example.com` with your own." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:60 +#: ../../../docs/configuring-playbook-synapse-admin.md:62 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:62 +#: ../../../docs/configuring-playbook-synapse-admin.md:64 msgid "There are some additional things you may wish to configure about the component." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:64 +#: ../../../docs/configuring-playbook-synapse-admin.md:66 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:66 +#: ../../../docs/configuring-playbook-synapse-admin.md:68 msgid "`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" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:68 +#: ../../../docs/configuring-playbook-synapse-admin.md:70 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:70 +#: ../../../docs/configuring-playbook-synapse-admin.md:72 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-synapse-admin.md:77 +#: ../../../docs/configuring-playbook-synapse-admin.md:79 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-admin.md:79 +#: ../../../docs/configuring-playbook-synapse-admin.md:81 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-admin.md:81 +#: ../../../docs/configuring-playbook-synapse-admin.md:83 msgid "Usage" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:83 +#: ../../../docs/configuring-playbook-synapse-admin.md:85 msgid "After installation, Synapse Admin will be accessible at: `https://matrix.example.com/synapse-admin/`" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:85 +#: ../../../docs/configuring-playbook-synapse-admin.md:87 msgid "To use Synapse Admin, you need to have [registered at least one administrator account](registering-users.md) on your server." msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:87 +#: ../../../docs/configuring-playbook-synapse-admin.md:89 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-synapse-admin.md:89 +#: ../../../docs/configuring-playbook-synapse-admin.md:91 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-admin`." msgstr "" + +#: ../../../docs/configuring-playbook-synapse-admin.md:93 +msgid "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)" +msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-synapse-auto-accept-invite.pot b/i18n/translation-templates/docs/configuring-playbook-synapse-auto-accept-invite.pot index b36ec32af..909f4e711 100644 --- a/i18n/translation-templates/docs/configuring-playbook-synapse-auto-accept-invite.pot +++ b/i18n/translation-templates/docs/configuring-playbook-synapse-auto-accept-invite.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,54 +16,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:9 -msgid "Setting up Synapse Auto Invite Accept (optional)" +#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:18 +msgid "Setting up Synapse Auto Invite Accept (optional, removed)" msgstr "" -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:11 -msgid "The playbook can install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) for you." +#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:20 +msgid "ðŸŠĶ The playbook used to be able to install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite), but no longer includes this component, 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 "" -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:13 -msgid "In short, it automatically accepts room invites. You can specify that only 1:1 room invites are auto-accepted. Defaults to false if not specified." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:15 -msgid "See the project's [documentation](https://github.com/matrix-org/synapse-auto-accept-invite/blob/main/README.md) to learn what it does and why it might be useful to you." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:17 -msgid "**Note**: Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the same feature [has been merged](https://github.com/element-hq/synapse/pull/17147) into Synapse (see the [Native alternative](#native-alternative) section below). You'd better use the native feature, instead of the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:19 -msgid "Adjusting the playbook configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:21 -msgid "If you decide that you'd like to let this playbook install the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite module for you, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:29 -msgid "Synapse worker deployments" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:31 -msgid "In a [workerized Synapse deployment](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/c9a842147e09647c355799ca024d65a5de66b099/docs/configuring-playbook-synapse.md#load-balancing-with-workers) it is possible to run this module on a worker to reduce the load on the main process (Default is `null`). For example, add this to your configuration:" -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:37 -msgid "There might be an [issue with federation](https://github.com/matrix-org/synapse-auto-accept-invite/issues/18)." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:39 +#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:22 msgid "Native alternative" msgstr "" -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:41 -msgid "Since Synapse [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0), the functionality provided by the [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) 3rd party module [has been made](https://github.com/element-hq/synapse/pull/17147) part of Synapse." -msgstr "" - -#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:43 +#: ../../../docs/configuring-playbook-synapse-auto-accept-invite.md:24 msgid "Here's example configuration for using the **native** Synapse feature:" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-synapse-s3-storage-provider.pot b/i18n/translation-templates/docs/configuring-playbook-synapse-s3-storage-provider.pot index 58ceb305b..d4cf5e840 100644 --- a/i18n/translation-templates/docs/configuring-playbook-synapse-s3-storage-provider.pot +++ b/i18n/translation-templates/docs/configuring-playbook-synapse-s3-storage-provider.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -293,9 +293,13 @@ msgid "â€Ķ triggered by the `matrix-synapse-s3-storage-provider-migrate.timer` t msgstr "" #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:180 -msgid "Soâ€Ķ you don't need to perform any maintenance yourself." +msgid "The same `migrate` script also prunes empty directories in the local media repository (`remote_content` and `remote_thumbnail`) after upload/delete operations." msgstr "" #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:182 +msgid "Soâ€Ķ you don't need to perform any maintenance yourself." +msgstr "" + +#: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:184 msgid "The schedule is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook-synapse.pot b/i18n/translation-templates/docs/configuring-playbook-synapse.pot index f0050564b..7462cbe46 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-03-07 10:44+0000\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 +#: ../../../docs/configuring-playbook-synapse.md:199 msgid "Synapse Admin" msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:178 +#: ../../../docs/configuring-playbook-synapse.md:201 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." msgstr "" -#: ../../../docs/configuring-playbook-synapse.md:180 +#: ../../../docs/configuring-playbook-synapse.md:203 msgid "The playbook can install and configure Synapse Admin for you. For details about it, see [this page](configuring-playbook-synapse-admin.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-turn.pot b/i18n/translation-templates/docs/configuring-playbook-turn.pot index 98744ac3c..0ae5c5ac4 100644 --- a/i18n/translation-templates/docs/configuring-playbook-turn.pot +++ b/i18n/translation-templates/docs/configuring-playbook-turn.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,173 +21,213 @@ msgid "Configuring a TURN server (optional, advanced)" msgstr "" #: ../../../docs/configuring-playbook-turn.md:16 -msgid "By default, this playbook installs and configures the [coturn](https://github.com/coturn/coturn) as a TURN server, through which clients can make audio/video calls even from [NAT](https://en.wikipedia.org/wiki/Network_address_translation)-ed networks. It also configures the Synapse chat server by default, so that it points to the coturn TURN server installed by the playbook. If that's okay, you can skip this document." +msgid "By default, the [coturn](https://github.com/coturn/coturn) TURN server component is enabled automatically only when [Jitsi](configuring-playbook-jitsi.md) is enabled. If you're not using Jitsi, coturn is not enabled by default." msgstr "" #: ../../../docs/configuring-playbook-turn.md:18 -msgid "If you'd like to stop the playbook installing the server, see the section [below](#disabling-coturn) to check the configuration for disabling it." -msgstr "" - -#: ../../../docs/configuring-playbook-turn.md:20 -msgid "Adjusting the playbook configuration" -msgstr "" - -#: ../../../docs/configuring-playbook-turn.md:22 -msgid "Define public IP manually (optional)" +msgid "If you explicitly need coturn while not using Jitsi, enable it with:" msgstr "" #: ../../../docs/configuring-playbook-turn.md:24 -msgid "In the `hosts` file we explicitly ask for your server's external IP address when defining `ansible_host`, because the same value is used for configuring coturn." +msgid "and configure its IP-related settings in the section below." msgstr "" #: ../../../docs/configuring-playbook-turn.md:26 -msgid "If you'd rather use a local IP for `ansible_host`, add the following configuration to your `vars.yml` file. Make sure to replace `YOUR_PUBLIC_IP` with the pubic IP used by the server." +msgid "If you'd like coturn to stay disabled even when Jitsi is enabled, or if you prefer to use an external TURN provider, see [disabling coturn](#disabling-coturn) section below." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:28 +msgid "When Coturn is not enabled, homeservers (like Synapse) would not point to TURN servers and *legacy* audio/video call functionality may fail. If you're using [Matrix RTC](configuring-playbook-matrix-rtc.md) (for [Element Call](configuring-playbook-element-call.md)), you likely don't have a need to enable coturn." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:30 +msgid "Adjusting firewall rules" msgstr "" #: ../../../docs/configuring-playbook-turn.md:32 -msgid "If you'd like to rely on external IP address auto-detection (not recommended unless you need it), set an empty value to the variable. The playbook will automatically contact an [echoip](https://github.com/mpolden/echoip)-compatible service (`https://ifconfig.co/json` by default) to determine your server's IP address. This API endpoint is configurable via the `coturn_turn_external_ip_address_auto_detection_echoip_service_url` variable." +msgid "To ensure Coturn functions correctly, the following firewall rules and port forwarding settings are required when coturn is enabled:" msgstr "" #: ../../../docs/configuring-playbook-turn.md:34 -msgid "[!NOTE] You can self-host the echoip service by using the [Mother-of-All-Self-Hosting (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook) Ansible playbook. See [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/echoip.md) for the instruction to install it with the playbook. If you are wondering how to use it for your Matrix server, refer to [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/setting-up-services-on-mdad-server.md) for the overview." +msgid "`3478/tcp`: STUN/TURN over TCP" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:35 +msgid "`3478/udp`: STUN/TURN over UDP" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:36 +msgid "`5349/tcp`: TURN over TCP" msgstr "" #: ../../../docs/configuring-playbook-turn.md:37 -msgid "If your server has multiple external IP addresses, the coturn role offers a different variable for specifying them:" +msgid "`5349/udp`: TURN over UDP" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:38 +msgid "`49152-49172/udp`: TURN/UDP relay range" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:40 +msgid "If LiveKit's embedded TURN is enabled at the same time (for MatrixRTC/Element Call), keep the Coturn relay range distinct from LiveKit's relay range (`livekit_server_config_turn_relay_range_start`/`livekit_server_config_turn_relay_range_end`)." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:42 +msgid "ðŸ’Ą Docker configures the server's internal firewall for you. In most cases, you don't need to do anything special on the host itself." msgstr "" #: ../../../docs/configuring-playbook-turn.md:44 -msgid "Change the authentication mechanism (optional)" +msgid "Adjusting the playbook configuration" msgstr "" #: ../../../docs/configuring-playbook-turn.md:46 -msgid "The playbook uses the [`auth-secret` authentication method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L186-L199) by default, but you may switch to the [`lt-cred-mech` method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L178) which [some report](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3191) to be working better." +msgid "Define public IP manually (optional)" msgstr "" #: ../../../docs/configuring-playbook-turn.md:48 -msgid "To do so, add the following configuration to your `vars.yml` file:" +msgid "If you enable coturn (either via Jitsi or manually), we recommend that you configure the public IP addresses of your server in the `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:54 -msgid "Regardless of the selected authentication method, the playbook generates secrets automatically and passes them to the homeserver and coturn." +#: ../../../docs/configuring-playbook-turn.md:55 +msgid "If you'd like to rely on external IP address auto-detection (not recommended unless you need it), avoid configuring this variable. The playbook will automatically contact an [echoip](https://github.com/mpolden/echoip)-compatible service (`https://ifconfig.co/json` by default) to determine your server's IP address. This API endpoint is configurable via the `coturn_turn_external_ip_address_auto_detection_echoip_service_url` variable." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:56 -msgid "If [Jitsi](configuring-playbook-jitsi.md) is installed, note that switching to `lt-cred-mech` will disable the integration between Jitsi and your coturn server, as Jitsi seems to support the `auth-secret` authentication method only." -msgstr "" - -#: ../../../docs/configuring-playbook-turn.md:58 -msgid "Customize the Coturn hostname (optional)" +#: ../../../docs/configuring-playbook-turn.md:57 +msgid "[!NOTE] You can self-host the echoip service by using the [Mother-of-All-Self-Hosting (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook) Ansible playbook. See [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/echoip.md) for the instruction to install it with the playbook. If you are wondering how to use it for your Matrix server, refer to [this page](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/setting-up-services-on-mdad-server.md) for the overview." msgstr "" #: ../../../docs/configuring-playbook-turn.md:60 -msgid "By default, Coturn uses the same hostname as your Matrix homeserver (the value of `matrix_server_fqn_matrix`, which is typically `matrix.example.com`)." +msgid "Change the authentication mechanism (optional)" msgstr "" #: ../../../docs/configuring-playbook-turn.md:62 -msgid "If you'd like to use a custom subdomain for Coturn (e.g., `turn.example.com` or `t.matrix.example.com`), add the following configuration to your `vars.yml` file:" +msgid "The playbook uses the [`auth-secret` authentication method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L186-L199) by default, but you may switch to the [`lt-cred-mech` method](https://github.com/coturn/coturn/blob/873cabd6a2e5edd7e9cc5662cac3ffe47fe87a8e/README.turnserver#L178) which [some report](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3191) to be working better." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:68 -msgid "The playbook will automatically:" -msgstr "" - -#: ../../../docs/configuring-playbook-turn.md:69 -msgid "Configure Coturn to use this hostname" +#: ../../../docs/configuring-playbook-turn.md:64 +msgid "To do so, add the following configuration to your `vars.yml` file:" msgstr "" #: ../../../docs/configuring-playbook-turn.md:70 +msgid "Regardless of the selected authentication method, the playbook generates secrets automatically and passes them to the homeserver and coturn." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:72 +msgid "If [Jitsi](configuring-playbook-jitsi.md) is installed, note that switching to `lt-cred-mech` will disable the integration between Jitsi and your coturn server, as Jitsi seems to support the `auth-secret` authentication method only." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:74 +msgid "Customize the Coturn hostname (optional)" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:76 +msgid "By default, Coturn uses the same hostname as your Matrix homeserver (the value of `matrix_server_fqn_matrix`, which is typically `matrix.example.com`)." +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:78 +msgid "If you'd like to use a custom subdomain for Coturn (e.g., `turn.example.com` or `t.matrix.example.com`), add the following configuration to your `vars.yml` file:" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:84 +msgid "The playbook will automatically:" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:85 +msgid "Configure Coturn to use this hostname" +msgstr "" + +#: ../../../docs/configuring-playbook-turn.md:86 msgid "Obtain an SSL certificate for the custom domain via Traefik" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:71 +#: ../../../docs/configuring-playbook-turn.md:87 msgid "Update all TURN URIs to point to the custom domain" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:73 +#: ../../../docs/configuring-playbook-turn.md:89 msgid "**Note**: Make sure the custom hostname resolves to your server's IP address via DNS before running the playbook." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:75 +#: ../../../docs/configuring-playbook-turn.md:91 msgid "Use your own external coturn server (optional)" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:77 +#: ../../../docs/configuring-playbook-turn.md:93 msgid "If you'd like to use another TURN server (be it coturn or some other one), add the following configuration to your `vars.yml` file. Make sure to replace `HOSTNAME_OR_IP` with your own." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:91 +#: ../../../docs/configuring-playbook-turn.md:107 msgid "If you have or want to enable Jitsi, you might want to enable the TURN server there too. If you do not do it, Jitsi will fall back to an upstream service." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:98 +#: ../../../docs/configuring-playbook-turn.md:114 msgid "You can put multiple host/port combinations if you'd like to." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:100 +#: ../../../docs/configuring-playbook-turn.md:116 msgid "Edit the reloading schedule (optional)" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:102 +#: ../../../docs/configuring-playbook-turn.md:118 msgid "By default the service is reloaded on 6:30 a.m. every day based on the `coturn_reload_schedule` variable so that new SSL certificates can kick in. It is defined in the format of systemd timer calendar." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:104 +#: ../../../docs/configuring-playbook-turn.md:120 msgid "To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs):" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:110 +#: ../../../docs/configuring-playbook-turn.md:126 msgid "**Note**: the actual job may run with a delay. See `coturn_reload_schedule_randomized_delay_sec` for its default value." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:112 +#: ../../../docs/configuring-playbook-turn.md:128 msgid "Extending the configuration" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:114 +#: ../../../docs/configuring-playbook-turn.md:130 msgid "There are some additional things you may wish to configure about the TURN server." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:116 +#: ../../../docs/configuring-playbook-turn.md:132 msgid "Take a look at:" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:118 +#: ../../../docs/configuring-playbook-turn.md:134 msgid "`roles/galaxy/coturn/defaults/main.yml` for some variables that you can customize via your `vars.yml` file" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:120 +#: ../../../docs/configuring-playbook-turn.md:136 msgid "Disabling coturn" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:122 -msgid "If, for some reason, you'd like for the playbook to not install coturn (or to uninstall it if it was previously installed), add the following configuration to your `vars.yml` file:" +#: ../../../docs/configuring-playbook-turn.md:138 +msgid "Coturn is only enabled by default when [Jitsi](configuring-playbook-jitsi.md) is enabled. In most instances, you don't need to explicitly disable it." msgstr "" -#: ../../../docs/configuring-playbook-turn.md:128 -msgid "In that case, Synapse would not point to any coturn servers and audio/video call functionality may fail." +#: ../../../docs/configuring-playbook-turn.md:140 +msgid "To force the playbook to not install Coturn (even when Jitsi is enabled), add the following configuration to your `vars.yml` file:" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:130 +#: ../../../docs/configuring-playbook-turn.md:146 msgid "Installing" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:132 +#: ../../../docs/configuring-playbook-turn.md:148 msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:139 +#: ../../../docs/configuring-playbook-turn.md:155 msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:141 +#: ../../../docs/configuring-playbook-turn.md:157 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-turn.md:143 +#: ../../../docs/configuring-playbook-turn.md:159 msgid "Troubleshooting" msgstr "" -#: ../../../docs/configuring-playbook-turn.md:145 +#: ../../../docs/configuring-playbook-turn.md:161 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-coturn`." msgstr "" diff --git a/i18n/translation-templates/docs/configuring-playbook.pot b/i18n/translation-templates/docs/configuring-playbook.pot index 1edeb1fb8..10ab5faef 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-03-07 10:44+0000\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 +#: ../../../docs/configuring-playbook.md:105 msgid "[Setting up Synapse Admin](configuring-playbook-synapse-admin.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:105 +#: ../../../docs/configuring-playbook.md:107 msgid "[Setting up matrix-registration](configuring-playbook-matrix-registration.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:107 +#: ../../../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:109 +#: ../../../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:111 +#: ../../../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:113 +#: ../../../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:115 +#: ../../../docs/configuring-playbook.md:117 msgid "[Setting up Synapse Simple Antispam](configuring-playbook-synapse-simple-antispam.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:117 +#: ../../../docs/configuring-playbook.md:119 msgid "[Setting up Matrix User Verification Service](configuring-playbook-user-verification-service.md) (advanced)" msgstr "" -#: ../../../docs/configuring-playbook.md:119 +#: ../../../docs/configuring-playbook.md:121 msgid "File Storage" msgstr "" -#: ../../../docs/configuring-playbook.md:121 +#: ../../../docs/configuring-playbook.md:123 msgid "Use alternative file storage to the default `media_store` folder." msgstr "" -#: ../../../docs/configuring-playbook.md:123 +#: ../../../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:125 +#: ../../../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:127 +#: ../../../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:129 +#: ../../../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:131 +#: ../../../docs/configuring-playbook.md:133 msgid "Bridging other networks" msgstr "" -#: ../../../docs/configuring-playbook.md:133 +#: ../../../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:135 +#: ../../../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:137 +#: ../../../docs/configuring-playbook.md:139 msgid "[Setting up Mautrix Bluesky bridging](configuring-playbook-bridge-mautrix-bluesky.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:139 +#: ../../../docs/configuring-playbook.md:141 msgid "[Setting up Mautrix Discord bridging](configuring-playbook-bridge-mautrix-discord.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:141 +#: ../../../docs/configuring-playbook.md:143 msgid "[Setting up Mautrix Telegram bridging](configuring-playbook-bridge-mautrix-telegram.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:143 +#: ../../../docs/configuring-playbook.md:145 msgid "[Setting up Mautrix Slack bridging](configuring-playbook-bridge-mautrix-slack.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:145 +#: ../../../docs/configuring-playbook.md:147 msgid "[Setting up Mautrix Google Messages bridging](configuring-playbook-bridge-mautrix-gmessages.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:147 +#: ../../../docs/configuring-playbook.md:149 msgid "[Setting up Mautrix Whatsapp bridging](configuring-playbook-bridge-mautrix-whatsapp.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:149 +#: ../../../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:151 +#: ../../../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:153 +#: ../../../docs/configuring-playbook.md:155 msgid "[Setting up Mautrix Google Chat bridging](configuring-playbook-bridge-mautrix-googlechat.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:155 +#: ../../../docs/configuring-playbook.md:157 msgid "[Setting up Mautrix Twitter bridging](configuring-playbook-bridge-mautrix-twitter.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:157 +#: ../../../docs/configuring-playbook.md:159 msgid "[Setting up Mautrix Signal bridging](configuring-playbook-bridge-mautrix-signal.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:159 +#: ../../../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:161 +#: ../../../docs/configuring-playbook.md:163 msgid "[Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md)" msgstr "" -#: ../../../docs/configuring-playbook.md:163 -msgid "[Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.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..207a9d8f9 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-03-07 10:44+0000\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 "" @@ -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/faq.pot b/i18n/translation-templates/docs/faq.pot index a5b376804..46b8ad0cb 100644 --- a/i18n/translation-templates/docs/faq.pot +++ b/i18n/translation-templates/docs/faq.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -573,254 +573,266 @@ msgid "How do I optimize this setup for a low-power server?" msgstr "" #: ../../../docs/faq.md:308 +msgid "For a low-power server, it's best to use an alternative homeserver implementation (other than [Synapse](configuring-playbook-synapse.md))." +msgstr "" + +#: ../../../docs/faq.md:310 msgid "You can disable some not-so-important services to save on memory." msgstr "" -#: ../../../docs/faq.md:327 -msgid "You can also consider implementing a restriction on room complexity, in order to prevent users from joining very heavy rooms:" -msgstr "" - -#: ../../../docs/faq.md:337 +#: ../../../docs/faq.md:317 msgid "If you've installed [Jitsi](configuring-playbook-jitsi.md) (not installed by default), there are additional optimizations listed on its documentation page that you can perform." msgstr "" -#: ../../../docs/faq.md:339 +#: ../../../docs/faq.md:320 +msgid "Synapse-specific optimizations" +msgstr "" + +#: ../../../docs/faq.md:322 +msgid "If you're using [Synapse](configuring-playbook-synapse.md), you can also consider the following optimizations:" +msgstr "" + +#: ../../../docs/faq.md:332 +msgid "You can also consider [implementing a restriction on room complexity](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts), in order to prevent users from joining very heavy rooms:" +msgstr "" + +#: ../../../docs/faq.md:340 msgid "I already have Docker on my server. Can you stop installing Docker via the playbook?" msgstr "" -#: ../../../docs/faq.md:341 +#: ../../../docs/faq.md:342 msgid "Yes, we can stop installing Docker ourselves. Just use this in your `vars.yml` file:" msgstr "" -#: ../../../docs/faq.md:347 +#: ../../../docs/faq.md:348 msgid "I run another webserver on the same server where I wish to install Matrix. What now?" msgstr "" -#: ../../../docs/faq.md:349 +#: ../../../docs/faq.md:350 msgid "By default, we install a webserver for you ([Traefik](https://doc.traefik.io/traefik/)), but you can also use [your own webserver](configuring-playbook-own-webserver.md)." msgstr "" -#: ../../../docs/faq.md:351 +#: ../../../docs/faq.md:352 msgid "How is the effective configuration determined?" msgstr "" -#: ../../../docs/faq.md:353 +#: ../../../docs/faq.md:354 msgid "Configuration variables are defined in multiple places in this playbook and are considered in this order:" msgstr "" -#: ../../../docs/faq.md:355 +#: ../../../docs/faq.md:356 msgid "there are defaults coming from each role's defaults file (`role/matrix*/defaults/main.yml`). These variable values aim to be good defaults for when the role is used standalone (outside of this collection of roles, also called playbook)." msgstr "" -#: ../../../docs/faq.md:357 +#: ../../../docs/faq.md:358 msgid "then, there are overrides in `group_vars/matrix_servers`, which aim to adjust these \"standalone role defaults\" to something which better fits the playbook in its entirety." msgstr "" -#: ../../../docs/faq.md:359 +#: ../../../docs/faq.md:360 msgid "finally, there's your `inventory/host_vars/matrix.example.com/vars.yml` file, which is the ultimate override" msgstr "" -#: ../../../docs/faq.md:361 +#: ../../../docs/faq.md:362 msgid "What configuration variables are available?" msgstr "" -#: ../../../docs/faq.md:363 +#: ../../../docs/faq.md:364 msgid "You can discover the variables you can override in each role (`roles/*/*/defaults/main.yml`)." msgstr "" -#: ../../../docs/faq.md:365 +#: ../../../docs/faq.md:366 msgid "As described in [How is the effective configuration determined?](#how-is-the-effective-configuration-determined), these role-defaults may be overridden by values defined in `group_vars/matrix_servers`." msgstr "" -#: ../../../docs/faq.md:367 +#: ../../../docs/faq.md:368 msgid "Refer to both of these for inspiration. Still, as mentioned in [Configuring the playbook](configuring-playbook.md), you're only ever supposed to edit your own `inventory/host_vars/matrix.example.com/vars.yml` file and nothing else inside the playbook (unless you're meaning to contribute new features)." msgstr "" -#: ../../../docs/faq.md:369 -#: ../../../docs/faq.md:381 +#: ../../../docs/faq.md:370 +#: ../../../docs/faq.md:382 msgid "**Note**: some of the roles (`roles/galaxy/*`) live in separate repositories and are only installed after your run `just roles` (or `make roles`) or `just update` (which automatically does `git pull` and `just roles`)." msgstr "" -#: ../../../docs/faq.md:371 +#: ../../../docs/faq.md:372 msgid "I'd like to adjust some configuration which doesn't have a corresponding variable. How do I do it?" msgstr "" -#: ../../../docs/faq.md:373 +#: ../../../docs/faq.md:374 msgid "The playbook doesn't aim to expose all configuration settings for all services using variables. Doing so would amount to hundreds of variables that we have to create and maintain." msgstr "" -#: ../../../docs/faq.md:375 +#: ../../../docs/faq.md:376 msgid "Instead, we only try to make some important basics configurable using dedicated variables you can see in each role. See [What configuration variables are available?](#what-configuration-variables-are-available)." msgstr "" -#: ../../../docs/faq.md:377 +#: ../../../docs/faq.md:378 msgid "Besides that, each role (component) aims to provide a `matrix_SOME_COMPONENT_configuration_extension_yaml` (or `matrix_SOME_COMPONENT_configuration_extension_json`) variable, which can be used to override the configuration." msgstr "" -#: ../../../docs/faq.md:379 +#: ../../../docs/faq.md:380 msgid "Check each role's `roles/*/*/defaults/main.yml` for the corresponding variable and an example for how use it." msgstr "" -#: ../../../docs/faq.md:383 +#: ../../../docs/faq.md:384 msgid "Installation" msgstr "" -#: ../../../docs/faq.md:385 +#: ../../../docs/faq.md:386 msgid "How do I run the installation?" msgstr "" -#: ../../../docs/faq.md:387 +#: ../../../docs/faq.md:388 msgid "See [Installing](installing.md) to learn how to use Ansible to install Matrix services." msgstr "" -#: ../../../docs/faq.md:389 +#: ../../../docs/faq.md:390 msgid "However, we recommend you to follow our installation guide, instead of jumping straight to installing." msgstr "" -#: ../../../docs/faq.md:391 +#: ../../../docs/faq.md:392 msgid "There are two guides available:" msgstr "" -#: ../../../docs/faq.md:393 +#: ../../../docs/faq.md:394 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/faq.md:395 +#: ../../../docs/faq.md:396 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 by starting with the **[Prerequisites](prerequisites.md)** documentation page." msgstr "" -#: ../../../docs/faq.md:397 +#: ../../../docs/faq.md:398 msgid "I installed Synapse some other way. Can I migrate such a setup to the playbook?" msgstr "" -#: ../../../docs/faq.md:399 +#: ../../../docs/faq.md:400 msgid "Yes, you can." msgstr "" -#: ../../../docs/faq.md:401 +#: ../../../docs/faq.md:402 msgid "You generally need to do a playbook installation. It's recommended to follow the full installation guide (starting at the [Prerequisites](prerequisites.md) page), not the [Quick start](quick-start.md) guide. The full installation guide will tell you when it's time to import your existing data into the newly-prepared server." msgstr "" -#: ../../../docs/faq.md:403 +#: ../../../docs/faq.md:404 msgid "This Ansible playbook guides you into installing a server for `example.com` (user IDs are like this: `@alice:example.com`), while the server is at `matrix.example.com`. If your existing setup has a server name (`server_name` configuration setting in Synapse's `homeserver.yaml` file) other than the base `example.com`, you may need to tweak some additional variables. This FAQ entry may be of use if you're dealing with a more complicated setup — [How do I install on matrix.example.com without involving the base domain?](#how-do-i-install-on-matrixexamplecom-without-involving-the-base-domain)" msgstr "" -#: ../../../docs/faq.md:405 +#: ../../../docs/faq.md:406 msgid "After configuring the playbook and installing and **before starting** services (done with `ansible-playbook â€Ķ --tags=start`) you'd import [your SQLite](importing-synapse-sqlite.md) (or [Postgres](importing-postgres.md)) database and also [import your media store](importing-synapse-media-store.md)." msgstr "" -#: ../../../docs/faq.md:407 +#: ../../../docs/faq.md:408 msgid "I've downloaded Ansible and the playbook on the server. It can't connect using SSH." msgstr "" -#: ../../../docs/faq.md:409 +#: ../../../docs/faq.md:410 msgid "If you're using the playbook directly on the server, then Ansible doesn't need to connect using SSH." msgstr "" -#: ../../../docs/faq.md:411 +#: ../../../docs/faq.md:412 msgid "It can perform a local connection instead. Just set `ansible_connection=local` at the end of the server line in `inventory/hosts` and re-run the playbook." msgstr "" -#: ../../../docs/faq.md:413 +#: ../../../docs/faq.md:414 msgid "If you're running Ansible from within a container (one of the possibilities we list on our [dedicated Ansible documentation page](ansible.md)), then using `ansible_connection=local` is not possible." msgstr "" -#: ../../../docs/faq.md:415 +#: ../../../docs/faq.md:416 msgid "Maintenance and Troubleshooting" msgstr "" -#: ../../../docs/faq.md:417 +#: ../../../docs/faq.md:418 msgid "ðŸ’Ą Also see this page for generic information about maintaining the services and troubleshooting: [Maintenance and Troubleshooting](maintenance-and-troubleshooting.md)" msgstr "" -#: ../../../docs/faq.md:419 +#: ../../../docs/faq.md:420 msgid "Do I need to do anything to keep my Matrix server updated?" msgstr "" -#: ../../../docs/faq.md:421 +#: ../../../docs/faq.md:422 msgid "Yes. We don't update anything for you automatically." msgstr "" -#: ../../../docs/faq.md:423 +#: ../../../docs/faq.md:424 msgid "See our [documentation page about upgrading services](maintenance-upgrading-services.md)." msgstr "" -#: ../../../docs/faq.md:425 +#: ../../../docs/faq.md:426 msgid "How do I move my existing installation to another (VM) server?" msgstr "" -#: ../../../docs/faq.md:427 +#: ../../../docs/faq.md:428 msgid "If you have an existing installation done using this Ansible playbook, you can easily migrate that to another server following [our dedicated server migration guide](maintenance-migrating.md)." msgstr "" -#: ../../../docs/faq.md:429 +#: ../../../docs/faq.md:430 msgid "If your previous installation is done in some other way (not using this Ansible playbook), see [I installed Synapse some other way. Can I migrate such a setup to the playbook?](#i-installed-synapse-some-other-way-can-i-migrate-such-a-setup-to-the-playbook)." msgstr "" -#: ../../../docs/faq.md:431 +#: ../../../docs/faq.md:432 msgid "What is this `/matrix/postgres/data-auto-upgrade-backup` directory that is taking up so much space?" msgstr "" -#: ../../../docs/faq.md:433 +#: ../../../docs/faq.md:434 msgid "When you [perform a major Postgres upgrade](maintenance-postgres.md#upgrading-postgresql), we save the the old data files in `/matrix/postgres/data-auto-upgrade-backup`, just so you could easily restore them should something have gone wrong." msgstr "" -#: ../../../docs/faq.md:435 +#: ../../../docs/faq.md:436 msgid "After verifying that everything still works after the Postgres upgrade, you can safely delete `/matrix/postgres/data-auto-upgrade-backup`" msgstr "" -#: ../../../docs/faq.md:437 +#: ../../../docs/faq.md:438 msgid "I get \"Error response from daemon: configured logging driver does not support reading\" when I run `docker logs matrix-synapse`. Why?" msgstr "" -#: ../../../docs/faq.md:439 +#: ../../../docs/faq.md:440 msgid "To prevent double-logging, Docker logging is disabled by explicitly passing `--log-driver=none` to all containers. Due to this, you cannot view logs using `docker logs matrix-*`." msgstr "" -#: ../../../docs/faq.md:441 +#: ../../../docs/faq.md:442 msgid "See [this section](maintenance-and-troubleshooting.md#how-to-see-the-logs) on the page for maintenance and troubleshooting for more details to see the logs." msgstr "" -#: ../../../docs/faq.md:443 +#: ../../../docs/faq.md:444 msgid "The server fails to start due to the `Unable to start service matrix-coturn.service` error. Why and how to solve it?" msgstr "" -#: ../../../docs/faq.md:445 +#: ../../../docs/faq.md:446 msgid "The error is most likely because Traefik cannot obtain SSL certificates due to certain reasons such as wrong domain name configuration or port 80 being unavailable due to other services." msgstr "" -#: ../../../docs/faq.md:447 +#: ../../../docs/faq.md:448 msgid "If Traefik fails to obtain an SSL certificate for domain names such as `matrix.`, Traefik Certs Dumper cannot extract the SSL certificate out of there, and coturn cannot be started and the error occurs. Refer to these comments for details:" msgstr "" -#: ../../../docs/faq.md:449 +#: ../../../docs/faq.md:450 msgid "" msgstr "" -#: ../../../docs/faq.md:450 +#: ../../../docs/faq.md:451 msgid "" msgstr "" -#: ../../../docs/faq.md:452 +#: ../../../docs/faq.md:453 msgid "If you are not sure what the problem is, at first make sure that you have set the \"base domain\" (`example.com`, **not `matrix.example.com`**) to `matrix_domain`. You should be able to find it at the top of your `vars.yml`." msgstr "" -#: ../../../docs/faq.md:454 +#: ../../../docs/faq.md:455 msgid "If it is correctly specified, look Traefik's logs (`journalctl -fu matrix-traefik.service`) for errors by Let's Encrypt for troubleshooting." msgstr "" -#: ../../../docs/faq.md:456 +#: ../../../docs/faq.md:457 msgid "Miscellaneous" msgstr "" -#: ../../../docs/faq.md:458 +#: ../../../docs/faq.md:459 msgid "I would like to see this favorite service of mine integrated and become available on my Matrix server. How can I request it?" msgstr "" -#: ../../../docs/faq.md:460 +#: ../../../docs/faq.md:461 msgid "You can freely create an issue for feature request on the repository at GitHub [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new/choose). Note this is a community project with no financial backing, and there is not assurance that your request would be eventually picked up by others and the requested feature would become available. The easiest way to get a feature into this project is to just develop it yourself." msgstr "" -#: ../../../docs/faq.md:462 +#: ../../../docs/faq.md:463 msgid "Also, please note that this playbook intends to focus solely on Matrix and Matrix-related services. If your request is not specific to Matrix, you may as well to consider to submit it to the [mash-playbook](https://github.com/mother-of-all-self-hosting/mash-playbook), maintained by the members behind this matrix-docker-ansible-deploy project. [This document on the interoperability](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/interoperability.md) describes how to deploy services along with the Matrix services easily." msgstr "" diff --git a/i18n/translation-templates/docs/installing.pot b/i18n/translation-templates/docs/installing.pot index a13419bd2..e2861c1ac 100644 --- a/i18n/translation-templates/docs/installing.pot +++ b/i18n/translation-templates/docs/installing.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -249,61 +249,61 @@ msgid "or join some Matrix rooms:" msgstr "" #: ../../../docs/installing.md:148 -msgid "via the *Explore rooms* feature in Element Web or some other clients, or by discovering them using this [matrix-static list](https://view.matrix.org). **Note**: joining large rooms may overload small servers." -msgstr "" - -#: ../../../docs/installing.md:149 -msgid "or come say Hi in our support room — [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting." +msgid "via the *Explore rooms* feature in Element Web or some other clients, or by discovering them using this [matrix-static list](https://view.matrix.org). **Note**: joining large rooms may overload small servers. For tuning guidance on constrained hosts, see [Limit joining heavy rooms on constrained hosts](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts)." msgstr "" #: ../../../docs/installing.md:150 +msgid "or come say Hi in our support room — [#matrix-docker-ansible-deploy:devture.com](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com). You might learn something or get to help someone else new to Matrix hosting." +msgstr "" + +#: ../../../docs/installing.md:151 msgid "or help make this playbook better by contributing (code, documentation, or [coffee/beer](https://liberapay.com/s.pantaleev/donate))" msgstr "" -#: ../../../docs/installing.md:152 +#: ../../../docs/installing.md:153 msgid "⚠ïļ Keep the playbook and services up-to-date" msgstr "" -#: ../../../docs/installing.md:154 +#: ../../../docs/installing.md:155 msgid "While this playbook helps you to set up Matrix services and maintain them, it will **not** automatically run the maintenance task for you. You will need to update the playbook and re-run it **manually**." msgstr "" -#: ../../../docs/installing.md:156 +#: ../../../docs/installing.md:157 msgid "The upstream projects, which this playbook makes use of, occasionally if not often suffer from security vulnerabilities." msgstr "" -#: ../../../docs/installing.md:158 +#: ../../../docs/installing.md:159 msgid "Since it is unsafe to keep outdated services running on the server connected to the internet, please consider to update the playbook and re-run it periodically, in order to keep the services up-to-date." msgstr "" -#: ../../../docs/installing.md:160 +#: ../../../docs/installing.md:161 msgid "Also, do not forget to update your system regularly. While this playbook may install basic services, such as Docker, it will not interfere further with system maintenance. Keeping the system itself up-to-date is out of scope for this playbook." msgstr "" -#: ../../../docs/installing.md:162 +#: ../../../docs/installing.md:163 msgid "For more information about upgrading or maintaining services with the playbook, take a look at this page: [Upgrading the Matrix services](maintenance-upgrading-services.md)" msgstr "" -#: ../../../docs/installing.md:164 +#: ../../../docs/installing.md:165 msgid "Feel free to **re-run the setup command any time** you think something is wrong with the server configuration. Ansible will take your configuration and update your server to match." msgstr "" -#: ../../../docs/installing.md:170 +#: ../../../docs/installing.md:171 msgid "**Note**: see [this page on the playbook tags](playbook-tags.md) for more information about those tags." msgstr "" -#: ../../../docs/installing.md:172 +#: ../../../docs/installing.md:173 msgid "Make full use of `just` shortcut commands" msgstr "" -#: ../../../docs/installing.md:174 +#: ../../../docs/installing.md:175 msgid "After you get familiar with reconfiguring and re-running the playbook to maintain the server, upgrade its services, etc., you probably would like to make use of `just` shortcut commands for faster input." msgstr "" -#: ../../../docs/installing.md:176 +#: ../../../docs/installing.md:177 msgid "For example, `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/installing.md:178 +#: ../../../docs/installing.md:179 msgid "You can learn about the shortcut commands on this page: [Running `just` commands](just.md)" msgstr "" diff --git a/i18n/translation-templates/docs/just.pot b/i18n/translation-templates/docs/just.pot index 5d0ad118b..6360d53c1 100644 --- a/i18n/translation-templates/docs/just.pot +++ b/i18n/translation-templates/docs/just.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -162,17 +162,17 @@ msgid "Conditional service restart" msgstr "" #: ../../../docs/just.md:49 -msgid "When using `just install-all` or `just install-service`, only services whose configuration or container image actually changed during the playbook run will be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime." +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 be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime." msgstr "" #: ../../../docs/just.md:51 -msgid "When using `just setup-all`, all services are unconditionally restarted regardless of whether changes were detected. This is appropriate for `setup-all`'s thorough \"full setup\" semantics." +msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services are unconditionally restarted regardless of whether changes were detected. This is appropriate for setup's thorough \"full setup\" semantics." msgstr "" #: ../../../docs/just.md:53 -msgid "`just start-all` and `just start-group` always restart all targeted services, since no installation tasks run during these commands." +msgid "`start-all` and `start-group` always restart all targeted services, since no installation tasks run during these commands." msgstr "" #: ../../../docs/just.md:55 -msgid "This behavior is controlled by the `devture_systemd_service_manager_conditional_restart_enabled` variable (default: `true`). To force unconditional restarts during installation, pass: `just install-all --extra-vars='devture_systemd_service_manager_conditional_restart_enabled=false'`" +msgid "This behavior is automatically determined based on the playbook tags in use. It can be overridden with the `devture_systemd_service_manager_conditional_restart_enabled` variable. For example, to force unconditional restarts during installation: `just install-all --extra-vars='devture_systemd_service_manager_conditional_restart_enabled=false'`" msgstr "" diff --git a/i18n/translation-templates/docs/maintenance-synapse.pot b/i18n/translation-templates/docs/maintenance-synapse.pot index 5889aa790..ffed68754 100644 --- a/i18n/translation-templates/docs/maintenance-synapse.pot +++ b/i18n/translation-templates/docs/maintenance-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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -145,57 +145,61 @@ msgid "Synapse's presence feature which tracks which users are online and which msgstr "" #: ../../../docs/maintenance-synapse.md:86 -msgid "If you have enough compute resources (CPU & RAM), you can make Synapse better use of them by [enabling load-balancing with workers](configuring-playbook-synapse.md#load-balancing-with-workers)." +msgid "On smaller servers, consider limiting joins to very complex rooms with [the room complexity guard](configuring-playbook-synapse.md#limit-joining-heavy-rooms-on-constrained-hosts)." msgstr "" #: ../../../docs/maintenance-synapse.md:88 -msgid "[Tuning your PostgreSQL database](maintenance-postgres.md#tuning-postgresql) could also improve Synapse performance. The playbook tunes the integrated Postgres database automatically, but based on your needs you may wish to adjust tuning variables manually. If you're using an [external Postgres database](configuring-playbook-external-postgres.md), you will also need to tune Postgres manually." +msgid "If you have enough compute resources (CPU & RAM), you can make Synapse better use of them by [enabling load-balancing with workers](configuring-playbook-synapse.md#load-balancing-with-workers)." msgstr "" #: ../../../docs/maintenance-synapse.md:90 -msgid "Tuning caches and cache autotuning" +msgid "[Tuning your PostgreSQL database](maintenance-postgres.md#tuning-postgresql) could also improve Synapse performance. The playbook tunes the integrated Postgres database automatically, but based on your needs you may wish to adjust tuning variables manually. If you're using an [external Postgres database](configuring-playbook-external-postgres.md), you will also need to tune Postgres manually." msgstr "" #: ../../../docs/maintenance-synapse.md:92 -msgid "Tuning Synapse's cache factor is useful for performance increases but also as part of controlling Synapse's memory use. Use the variable `matrix_synapse_caches_global_factor` to set the cache factor as part of this process." +msgid "Tuning caches and cache autotuning" msgstr "" #: ../../../docs/maintenance-synapse.md:94 -msgid "**The playbook defaults the global cache factor to a large value** (e.g. `10`). A smaller value (e.g. `0.5`) will decrease the amount used for caches, but will [not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." +msgid "Tuning Synapse's cache factor is useful for performance increases but also as part of controlling Synapse's memory use. Use the variable `matrix_synapse_caches_global_factor` to set the cache factor as part of this process." msgstr "" #: ../../../docs/maintenance-synapse.md:96 -msgid "Tuning the cache factor is useful only to a limited degree (as its crude to do in isolation) and therefore users who are tuning their cache factor should likely look into tuning autotune variables as well (see below)." +msgid "**The playbook defaults the global cache factor to a large value** (e.g. `10`). A smaller value (e.g. `0.5`) will decrease the amount used for caches, but will [not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)." msgstr "" #: ../../../docs/maintenance-synapse.md:98 -msgid "Cache autotuning is **enabled by default** and controlled via the following variables:" +msgid "Tuning the cache factor is useful only to a limited degree (as its crude to do in isolation) and therefore users who are tuning their cache factor should likely look into tuning autotune variables as well (see below)." msgstr "" #: ../../../docs/maintenance-synapse.md:100 -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 "" - -#: ../../../docs/maintenance-synapse.md:101 -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 "Cache autotuning is **enabled by default** and controlled via the following variables:" msgstr "" #: ../../../docs/maintenance-synapse.md:102 -msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" +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 "" + +#: ../../../docs/maintenance-synapse.md:103 +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 "" #: ../../../docs/maintenance-synapse.md:104 -msgid "You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values)." +msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`" msgstr "" #: ../../../docs/maintenance-synapse.md:106 +msgid "You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values)." +msgstr "" + +#: ../../../docs/maintenance-synapse.md:108 msgid "To **disable cache auto-tuning**, unset all values:" msgstr "" -#: ../../../docs/maintenance-synapse.md:114 +#: ../../../docs/maintenance-synapse.md:116 msgid "Users who wish to lower Synapse's RAM footprint should look into lowering the global cache factor and tweaking the autotune variables (or disabling auto-tuning). If your cache factor is too low for a given auto tune setting your caches will not reach autotune thresholds and autotune won't be able to do its job. Therefore, when auto-tuning is enabled (which it is by default), it's recommended to have your cache factor be large." msgstr "" -#: ../../../docs/maintenance-synapse.md:116 +#: ../../../docs/maintenance-synapse.md:118 msgid "See also [How do I optimize this setup for a low-power server?](faq.md#how-do-i-optimize-this-setup-for-a-low-power-server)." msgstr "" diff --git a/i18n/translation-templates/docs/prerequisites.pot b/i18n/translation-templates/docs/prerequisites.pot index 5790801ea..3720dc4e2 100644 --- a/i18n/translation-templates/docs/prerequisites.pot +++ b/i18n/translation-templates/docs/prerequisites.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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -125,33 +125,13 @@ msgid "`443/tcp` and `443/udp`: HTTPS webserver" msgstr "" #: ../../../docs/prerequisites.md:60 -msgid "`3478/tcp`: STUN/TURN over TCP (used by [coturn](./configuring-playbook-turn.md))" -msgstr "" - -#: ../../../docs/prerequisites.md:61 -msgid "`3478/udp`: STUN/TURN over UDP (used by [coturn](./configuring-playbook-turn.md))" -msgstr "" - -#: ../../../docs/prerequisites.md:62 -msgid "`5349/tcp`: TURN over TCP (used by [coturn](./configuring-playbook-turn.md))" -msgstr "" - -#: ../../../docs/prerequisites.md:63 -msgid "`5349/udp`: TURN over UDP (used by [coturn](./configuring-playbook-turn.md))" -msgstr "" - -#: ../../../docs/prerequisites.md:64 msgid "`8448/tcp` and `8448/udp`: Matrix Federation API HTTPS webserver. Some components like [Matrix User Verification Service](configuring-playbook-user-verification-service.md#open-matrix-federation-port) require this port to be opened **even with federation disabled**." msgstr "" -#: ../../../docs/prerequisites.md:65 -msgid "the range `49152-49172/udp`: TURN over UDP" -msgstr "" - -#: ../../../docs/prerequisites.md:66 +#: ../../../docs/prerequisites.md:61 msgid "potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that." msgstr "" -#: ../../../docs/prerequisites.md:70 +#: ../../../docs/prerequisites.md:65 msgid "[â–ķïļ](configuring-dns.md) When ready to proceed, continue with [Configuring DNS](configuring-dns.md)." msgstr "" diff --git a/i18n/translation-templates/docs/self-building.pot b/i18n/translation-templates/docs/self-building.pot index 41315f8ee..960fa3627 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-03-07 10:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -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