# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2018-2024, Slavi Pantaleev, Aine Etke, MDAD community
# members
# This file is distributed under the same license as the
# matrix-docker-ansible-deploy package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: matrix-docker-ansible-deploy \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-03 11:56+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: jp\n"
"Language-Team: jp <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: ../../../CHANGELOG.md:1
msgid "2026-04-03"
msgstr ""

#: ../../../CHANGELOG.md:3
msgid "(BC Break) Synapse Admin is now Ketesa"
msgstr ""

#: ../../../CHANGELOG.md:5
msgid "Synapse Admin has been rebranded to **[Ketesa](https://github.com/etkecc/ketesa)** — a landmark release that introduces a new identity, a full UI redesign, mobile-first layout, and deep Matrix Authentication Service (MAS) integration."
msgstr ""

#: ../../../CHANGELOG.md:7
msgid "Ketesa is a zero-configuration drop-in replacement for Synapse Admin: no server-side changes required, just update the role variables."
msgstr ""

#: ../../../CHANGELOG.md:9
msgid "The `matrix-synapse-admin` role has been **renamed** to `matrix-ketesa`. All `matrix_synapse_admin_*` variables must be **renamed** to `matrix_ketesa_*` in your `vars.yml`."
msgstr ""

#: ../../../CHANGELOG.md:11
msgid "Additionally, the **Docker image** changed from `ghcr.io/etkecc/synapse-admin` to `ghcr.io/etkecc/ketesa`. The default path prefix remains `/synapse-admin` for backward compatibility — updating to `/ketesa` is recommended but not required."
msgstr ""

#: ../../../CHANGELOG.md:13
msgid "The playbook will automatically detect leftover `matrix_synapse_admin_*` variables and fail with a helpful message listing what needs to be renamed."
msgstr ""

#: ../../../CHANGELOG.md:15
msgid "See the [Ketesa documentation](docs/configuring-playbook-ketesa.md) for details."
msgstr ""

#: ../../../CHANGELOG.md:17
msgid "2026-04-02"
msgstr ""

#: ../../../CHANGELOG.md:19
msgid "(BC Break) Draupnir for all Self Service Provisioning is now disabled by default"
msgstr ""

#: ../../../CHANGELOG.md:21
msgid "💡 If you don't use [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md), then this breaking change does not concern you.."
msgstr ""

#: ../../../CHANGELOG.md:23
msgid "[Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) now ships with `allowSelfServiceProvisioning: false` as default upstream and in this playbook."
msgstr ""

#: ../../../CHANGELOG.md:25
msgid "This means users can no longer provision Draupnir instances by inviting the appservice bot unless you explicitly opt in."
msgstr ""

#: ../../../CHANGELOG.md:27
msgid "Manual provisioning by administrators is now the recommended approach. You do not want to enable Self Service Provisioning unless you have additional custom safeguards like those used by asgard.chat in place."
msgstr ""

#: ../../../CHANGELOG.md:29
msgid "If you want to enable Self Service Provisioning, add the following to your `vars.yml`:"
msgstr ""

#: ../../../CHANGELOG.md:36
msgid "2026-03-23"
msgstr ""

#: ../../../CHANGELOG.md:38
msgid "Migration validation system introduced"
msgstr ""

#: ../../../CHANGELOG.md:40
msgid "Previously, when updating your setup, you had to remember to read the [CHANGELOG](CHANGELOG.md) file or risk breakage."
msgstr ""

#: ../../../CHANGELOG.md:42
msgid "Now, the playbook includes a migration validation system that ensures you're aware of breaking changes before they affect your deployment. You're now forced to acknowledge each breaking change, unless you wish to live dangerously (see below)."
msgstr ""

#: ../../../CHANGELOG.md:45
msgid "A new `matrix_playbook_migration_validated_version` variable has been introduced."
msgstr ""

#: ../../../CHANGELOG.md:47
msgid "**New users** who started from the [example `vars.yml`](examples/vars.yml) file already have this variable set and do not need to do anything."
msgstr ""

#: ../../../CHANGELOG.md:49
msgid "**Existing users** will need to add the following to their `vars.yml` file after reviewing all changelog entries up to now:"
msgstr ""

#: ../../../CHANGELOG.md:55
msgid "Going forward, whenever a breaking change is introduced the playbook will:"
msgstr ""

#: ../../../CHANGELOG.md:57
msgid "bump its expected version value (`matrix_playbook_migration_expected_version`), causing a discrepancy with what you validated (`matrix_playbook_migration_validated_version`)"
msgstr ""

#: ../../../CHANGELOG.md:59
msgid "fail when you run it with a helpful message listing what changed and linking to the relevant changelog entries"
msgstr ""

#: ../../../CHANGELOG.md:61
msgid "After reviewing and adapting your setup, you simply update the variable to the new version."
msgstr ""

#: ../../../CHANGELOG.md:63
msgid "If you'd like to live dangerously and skip these checks (not recommended), you can set this once and be done with it:"
msgstr ""

#: ../../../CHANGELOG.md:69
msgid "2026-03-19"
msgstr ""

#: ../../../CHANGELOG.md:71
msgid "Matrix Authentication Service now prefers UNIX sockets for playbook-managed Postgres"
msgstr ""

#: ../../../CHANGELOG.md:73
msgid "When [Matrix Authentication Service](docs/configuring-playbook-matrix-authentication-service.md) (MAS) uses the playbook-managed Postgres service, it now connects to it via a [UNIX socket](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP."
msgstr ""

#: ../../../CHANGELOG.md:75
msgid "This follows the same approach [applied to Synapse](#synapse-now-prefers-unix-sockets-for-playbook-managed-postgres-and-valkey) and reduces unnecessary container-network wiring, keeping local IPC off the network stack."
msgstr ""

#: ../../../CHANGELOG.md:77
msgid "If you use an external Postgres server for MAS, this does not change your setup."
msgstr ""

#: ../../../CHANGELOG.md:79 ../../../CHANGELOG.md:95
msgid "If you'd like to keep the previous TCP-based behavior, add the following configuration to your `vars.yml`:"
msgstr ""

#: ../../../CHANGELOG.md:85
msgid "2026-03-17"
msgstr ""

#: ../../../CHANGELOG.md:87
msgid "Synapse now prefers UNIX sockets for playbook-managed Postgres and Valkey"
msgstr ""

#: ../../../CHANGELOG.md:89
msgid "When Synapse uses the playbook-managed Postgres and Valkey services, it now connects to them via [UNIX sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) by default instead of TCP."
msgstr ""

#: ../../../CHANGELOG.md:91
msgid "This reduces unnecessary container-network wiring and keeps local IPC off the network stack, which is a bit simpler and slightly more secure."
msgstr ""

#: ../../../CHANGELOG.md:93
msgid "If you use an external Postgres server or external Redis/Valkey for Synapse, this does not change your setup."
msgstr ""

#: ../../../CHANGELOG.md:102
msgid "2026-03-01"
msgstr ""

#: ../../../CHANGELOG.md:104
msgid "(Potential BC Break) Synapse S3 media prefix is now applied consistently"
msgstr ""

#: ../../../CHANGELOG.md:106
msgid "The `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` variable is now wired consistently for both:"
msgstr ""

#: ../../../CHANGELOG.md:108
msgid "the Synapse `s3_storage_provider` module configuration"
msgstr ""

#: ../../../CHANGELOG.md:109
msgid "the `matrix-synapse-s3-storage-provider-migrate` migration script (`s3_media_upload --prefix`)"
msgstr ""

#: ../../../CHANGELOG.md:111
msgid "Previously, this variable could be set, but was not effectively applied by either of these paths."
msgstr ""

#: ../../../CHANGELOG.md:113
msgid "**Affects**: users of [synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) who have configured a non-empty `matrix_synapse_ext_synapse_s3_storage_provider_config_prefix` value."
msgstr ""

#: ../../../CHANGELOG.md:115
msgid "If your bucket data was uploaded without the prefix before this fix, enabling proper prefix usage can make existing objects appear missing until data is migrated/copied to the prefixed key namespace."
msgstr ""

#: ../../../CHANGELOG.md:117
msgid "2026-02-26"
msgstr ""

#: ../../../CHANGELOG.md:119
msgid "Internal refactor: merged the Synapse reverse-proxy companion role into `matrix-synapse`"
msgstr ""

#: ../../../CHANGELOG.md:121
msgid "The standalone `matrix-synapse-reverse-proxy-companion` role has been merged into the [matrix-synapse](roles/custom/matrix-synapse/) role."
msgstr ""

#: ../../../CHANGELOG.md:123
msgid "This is not a user-facing change and does not change variable names (`matrix_synapse_reverse_proxy_companion_*` remain the same). The split looked clean on paper, but in practice both parts are tightly coupled through worker routing, tags (`setup-synapse`/`install-synapse`), and lifecycle ordering, so keeping them separate added coordination overhead with little practical benefit."
msgstr ""

#: ../../../CHANGELOG.md:125
msgid "Compatibility note: existing companion-specific tags (`setup-synapse-reverse-proxy-companion` and `install-synapse-reverse-proxy-companion`) are still available."
msgstr ""

#: ../../../CHANGELOG.md:127
msgid "With this change, Synapse and its reverse-proxy companion are managed in one role (`matrix-synapse`) while still keeping companion logic in dedicated task/template subdirectories for maintainability."
msgstr ""

#: ../../../CHANGELOG.md:129
msgid "2026-02-21"
msgstr ""

#: ../../../CHANGELOG.md:131
msgid "(BC Break) coturn is no longer auto-enabled by default"
msgstr ""

#: ../../../CHANGELOG.md:133
msgid "By default, the [coturn](./docs/configuring-playbook-turn.md) TURN server component is no longer enabled for every deployment."
msgstr ""

#: ../../../CHANGELOG.md:135
msgid "This reduces resources and attach surface for deployments which:"
msgstr ""

#: ../../../CHANGELOG.md:137
msgid "either don't need calls at all"
msgstr ""

#: ../../../CHANGELOG.md:138
msgid "or use the modern [Matrix RTC](docs/configuring-playbook-matrix-rtc.md)/[Element Call](docs/configuring-playbook-element-call.md) stack."
msgstr ""

#: ../../../CHANGELOG.md:140
msgid "Coturn is still auto-enabled when [Jitsi](./docs/configuring-playbook-jitsi.md) is enabled (`jitsi_enabled: true`), because Jitsi still depends on TURN for legacy Matrix integration."
msgstr ""

#: ../../../CHANGELOG.md:142
msgid "Additionally, Coturn (when enabled) now defaults to using automatic IP detection of your server's external IP address, instead of assuming your Ansible inventory (`ansible_host`) points to a public address and using it for configuring `coturn_turn_external_ip_address`."
msgstr ""

#: ../../../CHANGELOG.md:144
msgid "To restore the old behavior (needed for legacy call setups), add the following configuration to your `vars.yml`:"
msgstr ""

#: ../../../CHANGELOG.md:153
msgid "LiveKit TURN TLS is now automatically fronted by playbook-managed Traefik"
msgstr ""

#: ../../../CHANGELOG.md:155
msgid "For deployments that use the playbook-managed Traefik reverse-proxy, LiveKit TURN over TCP is now SSL-terminated at Traefik and passed as plain TCP to LiveKit (`turn.external_tls = true`) by default."
msgstr ""

#: ../../../CHANGELOG.md:157
msgid "To disable this behavior, set `livekit_server_config_turn_external_tls: false` and the playbook will revert to the old behavior - using traefik-certs-dumper to extract SSL certificates out of Traefik and pass them to LiveKit for explicit SSL termination there."
msgstr ""

#: ../../../CHANGELOG.md:159
msgid "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:161
msgid "2026-02-17"
msgstr ""

#: ../../../CHANGELOG.md:163
msgid "(BC Break) prometheus-nginxlog-exporter role has been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:165
msgid "The role for prometheus-nginxlog-exporter has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization."
msgstr ""

#: ../../../CHANGELOG.md:167
msgid "Along with the relocation, the `matrix_prometheus_nginxlog_exporter_` prefix on its variable names has been renamed to `prometheus_nginxlog_exporter_`, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:169 ../../../CHANGELOG.md:231
#: ../../../CHANGELOG.md:241 ../../../CHANGELOG.md:302
#: ../../../CHANGELOG.md:324 ../../../CHANGELOG.md:859
msgid "As always, the playbook would let you know about this and point out any variables you may have missed."
msgstr ""

#: ../../../CHANGELOG.md:171
msgid "synapse-auto-invite-accept has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:173
msgid "[synapse-auto-invite-accept](./docs/configuring-playbook-synapse-auto-accept-invite.md) has been removed from the playbook, as the same functionality [has been integrated](https://github.com/element-hq/synapse/pull/17147) to Synapse since [v1.109.0](https://github.com/element-hq/synapse/releases/tag/v1.109.0)."
msgstr ""

#: ../../../CHANGELOG.md:175
msgid "See [this section](./docs/configuring-playbook-synapse-auto-accept-invite.md#native-alternative) for details about how to enable the function on Synapse."
msgstr ""

#: ../../../CHANGELOG.md:177
msgid "If you're using any `matrix_synapse_ext_synapse_auto_accept_invite_*` variables, the playbook will let you know which one you'll need to remove from `vars.yml`."
msgstr ""

#: ../../../CHANGELOG.md:179
msgid "2026-02-16"
msgstr ""

#: ../../../CHANGELOG.md:181
msgid "matrix-appservice-slack has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:183
msgid "[matrix-appservice-slack](./docs/configuring-playbook-bridge-appservice-slack.md) has been removed from the playbook, as it has been discontinued because the public Matrix.org Slack bridge has been decommissioned on January 14th, 2026."
msgstr ""

#: ../../../CHANGELOG.md:185
msgid "The playbook will let you know if you're using any `matrix_appservice_slack_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-bridge-appservice-slack.md#uninstalling-the-component-manually)."
msgstr ""

#: ../../../CHANGELOG.md:187
msgid "**Note**: Bridging to [Slack](https://slack.com) can also happen via the [mautrix-slack](./docs/configuring-playbook-bridge-mautrix-slack.md) bridge supported by the playbook."
msgstr ""

#: ../../../CHANGELOG.md:189
msgid "2026-02-13"
msgstr ""

#: ../../../CHANGELOG.md:191
msgid "Conditional service restart for `install-*` commands"
msgstr ""

#: ../../../CHANGELOG.md:193
msgid "When running `install-all` or `install-service` (whether via `just` or raw `ansible-playbook`), only services whose configuration or container image actually changed during the playbook run will now be restarted. Unchanged services are left running (or get started if they were stopped). This reduces unnecessary downtime — particularly for services like Traefik (the reverse proxy), which previously caused brief connectivity interruptions on every playbook run even when nothing changed."
msgstr ""

#: ../../../CHANGELOG.md:195
msgid "When running with `setup-*` tags (e.g. `setup-all`, `setup-synapse`), all services continue to be unconditionally restarted as before."
msgstr ""

#: ../../../CHANGELOG.md:197
msgid "Currently, only Traefik tracks its own changes and benefits from conditional restart. All other services default to being restarted (the previous behavior). This is just the beginning — as more roles gain change-tracking support, playbook performance will improve and downtime will decrease dramatically, especially for `install-all` runs where most services haven't changed."
msgstr ""

#: ../../../CHANGELOG.md:199
msgid "Some benchmarks for `just install-service traefik` when Traefik settings did not change:"
msgstr ""

#: ../../../CHANGELOG.md:201
msgid "**Before**:"
msgstr ""

#: ../../../CHANGELOG.md:202
msgid "total time: ~56 seconds 🐌"
msgstr ""

#: ../../../CHANGELOG.md:203
msgid "Traefik restarted: yes (unnecessarily) ❌"
msgstr ""

#: ../../../CHANGELOG.md:204
msgid "dependent services restarted: yes, all of them ❌"
msgstr ""

#: ../../../CHANGELOG.md:205
msgid "**After**:"
msgstr ""

#: ../../../CHANGELOG.md:206
msgid "total time: ~27 seconds ⚡"
msgstr ""

#: ../../../CHANGELOG.md:207
msgid "Traefik restarted: no ✅"
msgstr ""

#: ../../../CHANGELOG.md:208
msgid "dependent services restarted: no ✅"
msgstr ""

#: ../../../CHANGELOG.md:210
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:213
msgid "2026-02-12"
msgstr ""

#: ../../../CHANGELOG.md:215
msgid "Dimension integration manager has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:217
msgid "The [Dimension integration manager](./docs/configuring-playbook-dimension.md) has been removed from the playbook, as it has been unmaintained."
msgstr ""

#: ../../../CHANGELOG.md:219
msgid "The playbook will let you know if you're using any `matrix_dimension_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-dimension.md#uninstalling-the-component-manually)."
msgstr ""

#: ../../../CHANGELOG.md:221
msgid "(BC Break) Hydrogen role has been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:223
msgid "The role for Hydrogen has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization."
msgstr ""

#: ../../../CHANGELOG.md:225
msgid "Along with the relocation, the `matrix_client_hydrogen_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:227 ../../../CHANGELOG.md:320
msgid "You need to do the following replacement:"
msgstr ""

#: ../../../CHANGELOG.md:229
msgid "`matrix_client_hydrogen_` -> `hydrogen_`"
msgstr ""

#: ../../../CHANGELOG.md:233
msgid "2026-02-11"
msgstr ""

#: ../../../CHANGELOG.md:235
msgid "(BC Break) coturn role has been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:237
msgid "The role for coturn has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization."
msgstr ""

#: ../../../CHANGELOG.md:239
msgid "Along with the relocation, the `matrix_coturn_` prefix on its variable names has been renamed to `coturn_`, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:243
msgid "conduwuit has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:245
msgid "[conduwuit](./docs/configuring-playbook-conduwuit.md) has been removed from the playbook, as it has been abandoned."
msgstr ""

#: ../../../CHANGELOG.md:247
msgid "The playbook will let you know if you're using any `matrix_conduwuit_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the service manually](./docs/configuring-playbook-conduwuit.md#uninstalling-the-service-manually)."
msgstr ""

#: ../../../CHANGELOG.md:249
msgid "Since [Continuwuity](configuring-playbook-continuwuity.md) is a drop-in replacement for conduwuit, migration is possible. Please refer to [this section](./configuring-playbook-continuwuity.md#migrating-from-conduwuit) for details."
msgstr ""

#: ../../../CHANGELOG.md:251
msgid "2026-02-09"
msgstr ""

#: ../../../CHANGELOG.md:253
msgid "(BC Break) matrix-media-repo datastore IDs are now required in `vars.yml`"
msgstr ""

#: ../../../CHANGELOG.md:255
msgid "**Affects**: users with [matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) enabled (`matrix_media_repo_enabled: true`)"
msgstr ""

#: ../../../CHANGELOG.md:257
msgid "The `matrix_media_repo_datastore_file_id` and `matrix_media_repo_datastore_s3_id` variables are no longer auto-configured with values. They must now be explicitly defined in your `vars.yml` file. The playbook will fail with a helpful error if they are not set (when needed)."
msgstr ""

#: ../../../CHANGELOG.md:259
msgid "These were never meant to be auto-configured. They were derived from `matrix_homeserver_generic_secret_key`, which is intended for secrets that are OK to change subsequently (and Ansible would assist in propagating these changes). matrix-media-repo datastore IDs are not secrets — they are static identifiers linking media to storage backends, and **must not change** after first use."
msgstr ""

#: ../../../CHANGELOG.md:261
msgid "**For existing installations**, retrieve your current values from the server:"
msgstr ""

#: ../../../CHANGELOG.md:267
msgid "Then add to your `vars.yml`:"
msgstr ""

#: ../../../CHANGELOG.md:276
msgid "**Why do this?**: This change allows us to **remove the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library** from the [prerequisites](docs/prerequisites.md), as it was the last component that depended on it."
msgstr ""

#: ../../../CHANGELOG.md:278
msgid "2026-02-08"
msgstr ""

#: ../../../CHANGELOG.md:280
msgid "Zulip bridge has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:282
msgid "Zulip bridge has been removed from the playbook, as it doesn't work, and the maintainer seems to have abandoned it. See [this issue](https://github.com/GearKite/MatrixZulipBridge/issues/23) for more context."
msgstr ""

#: ../../../CHANGELOG.md:284
msgid "Switched to faster secret derivation for service passwords"
msgstr ""

#: ../../../CHANGELOG.md:286
msgid "We've switched the method used for deriving service passwords (database passwords, appservice tokens, etc.) from the `matrix_homeserver_generic_secret_key` variable."
msgstr ""

#: ../../../CHANGELOG.md:288
msgid "The old method used `password_hash('sha512', rounds=655555)` (655,555 rounds of SHA-512 hashing), which was designed for protecting low-entropy human passwords against brute-force attacks. For deriving secrets from an already high-entropy secret key, this many rounds provide no additional security - the secret key's entropy is what protects the derived passwords, not the computational cost of hashing."
msgstr ""

#: ../../../CHANGELOG.md:290
msgid "The new method uses a single-round `hash('sha512')` with a unique salt per service. This is equally secure for this use case (SHA-512 remains preimage-resistant; brute-forcing a high-entropy key is infeasible regardless of rounds), while being dramatically faster."
msgstr ""

#: ../../../CHANGELOG.md:292
msgid "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:294
msgid "**What this means for users**: all derived service passwords (database passwords, appservice tokens, etc.) will change on the next playbook run. The main/superuser database password (`postgres_connection_password`) is not affected, as it is hardcoded in inventory variables rather than derived via hashing. All services will receive their new passwords as part of the same run, so this should be a seamless, non-user-impacting change."
msgstr ""

#: ../../../CHANGELOG.md:296
msgid "(BC Break) Dynamic DNS role has been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:298
msgid "The role for Dynamic DNS has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization."
msgstr ""

#: ../../../CHANGELOG.md:300
msgid "Along with the relocation, the `matrix_dynamic_dns_` prefix on its variable names has been renamed to `ddclient_`, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:304
msgid "ma1sd has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:306
msgid "[ma1sd](./docs/configuring-playbook-ma1sd.md) has been removed from the playbook, as it has been unmaintained for a long time."
msgstr ""

#: ../../../CHANGELOG.md:308
msgid "The playbook will let you know if you're using any `matrix_ma1sd_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the component manually](./docs/configuring-playbook-ma1sd.md#uninstalling-the-component-manually)."
msgstr ""

#: ../../../CHANGELOG.md:310
msgid "Please note that some of the functions can be achieved with other components. For example, if you wish to implement LDAP integration, you might as well check out [the LDAP provider module for Synapse](./docs/configuring-playbook-ldap-auth.md) instead."
msgstr ""

#: ../../../CHANGELOG.md:312
msgid "2026-02-07"
msgstr ""

#: ../../../CHANGELOG.md:314
msgid "(BC Break) Cinny role has been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:316
msgid "The role for Cinny has been relocated to the [mother-of-all-self-hosting](https://github.com/mother-of-all-self-hosting) organization."
msgstr ""

#: ../../../CHANGELOG.md:318
msgid "Along with the relocation, the `matrix_client_cinny_` prefix was dropped from its variable names, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:322
msgid "`matrix_client_cinny_` -> `cinny_`"
msgstr ""

#: ../../../CHANGELOG.md:326
msgid "The Sliding Sync proxy has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:328
msgid "The [Sliding Sync proxy](./docs/configuring-playbook-sliding-sync-proxy.md) has been removed from the playbook, as it's been replaced with a different method (called Simplified Sliding Sync) integrated to newer homeservers by default (**Conduit** homeserver from version `0.6.0` or **Synapse** from version `1.114`)."
msgstr ""

#: ../../../CHANGELOG.md:330
msgid "The playbook will let you know if you're using any `matrix_sliding_sync_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the proxy manually](./docs/configuring-playbook-sliding-sync-proxy.md#uninstalling-the-proxy-manually)."
msgstr ""

#: ../../../CHANGELOG.md:332
msgid "2026-02-04"
msgstr ""

#: ../../../CHANGELOG.md:334
msgid "baibot now supports OpenAI's built-in tools (Web Search and Code Interpreter)"
msgstr ""

#: ../../../CHANGELOG.md:336
#, python-format
msgid "**TLDR**: if you're using the [OpenAI provider](https://github.com/etkecc/baibot/blob/main/docs/providers.md#openai) with [baibot](docs/configuring-playbook-bot-baibot.md), you can now enable [built-in tools](https://github.com/etkecc/baibot/blob/61d18b2/docs/features.md#%EF%B8%8F-built-in-tools-openai-only) (`web_search` and `code_interpreter`) to extend the model's capabilities."
msgstr ""

#: ../../../CHANGELOG.md:338
msgid "These tools are **disabled by default** and can be enabled via Ansible variables for static agent configurations:"
msgstr ""

#: ../../../CHANGELOG.md:345
msgid "Users who define agents dynamically at runtime will need to [update their agents](https://github.com/etkecc/baibot/blob/61d18b2/docs/agents.md#updating-agents) to enable these tools. See the [baibot v1.14.0 changelog](https://github.com/etkecc/baibot/blob/61d18b2/CHANGELOG.md) for details."
msgstr ""

#: ../../../CHANGELOG.md:347
msgid "Whoami-based sync worker routing for improved sticky sessions for Synapse"
msgstr ""

#: ../../../CHANGELOG.md:349
msgid "Deployments using [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) now benefit from improved sync worker routing via a new whoami-based mechanism (making use of the [whoami Matrix Client-Server API](https://spec.matrix.org/v1.17/client-server-api/#get_matrixclientv3accountwhoami))."
msgstr ""

#: ../../../CHANGELOG.md:351
msgid "Previously, sticky routing for sync workers relied on parsing usernames from access tokens, which only worked with native Synapse tokens (`syt_<base64 username>_...`). 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:353
msgid "The new implementation calls Synapse's `/whoami` endpoint to resolve access tokens to usernames, enabling proper user-level sticky routing regardless of the authentication system in use (native Synapse auth, MAS, etc.). Results are cached to minimize overhead."
msgstr ""

#: ../../../CHANGELOG.md:355
msgid "This change:"
msgstr ""

#: ../../../CHANGELOG.md:356
msgid "**Automatically enables** when sync workers are configured (no action required)"
msgstr ""

#: ../../../CHANGELOG.md:357
msgid "**Works universally** with any authentication system"
msgstr ""

#: ../../../CHANGELOG.md:358
msgid "**Replaces the old implementation** entirely to keep the codebase simple"
msgstr ""

#: ../../../CHANGELOG.md:359
msgid "**Adds minimal overhead** (one cached internal subrequest per sync request) for non-MAS deployments"
msgstr ""

#: ../../../CHANGELOG.md:361
msgid "For debugging, you can enable verbose logging and/or response headers showing routing decisions:"
msgstr ""

#: ../../../CHANGELOG.md:372
msgid "2025-12-09"
msgstr ""

#: ../../../CHANGELOG.md:374
msgid "Traefik Cert Dumper upgrade"
msgstr ""

#: ../../../CHANGELOG.md:376
msgid "The variable `traefik_certs_dumper_ssl_dir_path` was renamed to `traefik_certs_dumper_ssl_path`. Users who use [their own webserver with Traefik](docs/configuring-playbook-own-webserver.md) may need to adjust their configuration."
msgstr ""

#: ../../../CHANGELOG.md:378
msgid "The variable `traefik_certs_dumper_dumped_certificates_dir_path` was renamed to `traefik_certs_dumper_dumped_certificates_path`. Users who use [SRV Server Delegation](docs/howto-srv-server-delegation.md) may need to adjust their configuration."
msgstr ""

#: ../../../CHANGELOG.md:380
msgid "2025-11-23"
msgstr ""

#: ../../../CHANGELOG.md:382
msgid "Matrix.to support"
msgstr ""

#: ../../../CHANGELOG.md:384
msgid "The playbook now supports [Matrix.to](https://github.com/matrix-org/matrix.to) — a simple URL redirection service which powers [matrix.to](https://matrix.to)."
msgstr ""

#: ../../../CHANGELOG.md:386
msgid "To learn more, see our [Setting up Matrix.to](docs/configuring-playbook-matrixto.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:388
msgid "2025-11-09"
msgstr ""

#: ../../../CHANGELOG.md:390
msgid "matrix-appservice-webhooks has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:392
msgid "[matrix-appservice-webhooks](./docs/configuring-playbook-bridge-appservice-webhooks.md) has been removed from the playbook, as it has been deprecated since more than several years."
msgstr ""

#: ../../../CHANGELOG.md:394
msgid "The playbook will let you know if you're using any `matrix_appservice_webhooks_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-appservice-webhooks.md#uninstalling-the-bridge-manually)."
msgstr ""

#: ../../../CHANGELOG.md:396
msgid "mautrix-facebook and mautrix-instagram have been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:398
msgid "[mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) have been removed from the playbook, as they have been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, integrated to the playbook at [2024-02-19](#2024-02-19)."
msgstr ""

#: ../../../CHANGELOG.md:400 ../../../CHANGELOG.md:432
msgid "The playbook will let you know if you're using any variables for those bridges:"
msgstr ""

#: ../../../CHANGELOG.md:402
msgid "`matrix_mautrix_facebook_*`"
msgstr ""

#: ../../../CHANGELOG.md:403
msgid "`matrix_mautrix_instagram_*`"
msgstr ""

#: ../../../CHANGELOG.md:405 ../../../CHANGELOG.md:439
msgid "You'll need to remove them from `vars.yml` and potentially uninstall them manually. Consult pages below for details:"
msgstr ""

#: ../../../CHANGELOG.md:407
msgid "[Instruction for mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:408
msgid "[Instruction for mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:410
msgid "2025-11-08"
msgstr ""

#: ../../../CHANGELOG.md:412
msgid "MatrixZulipBridge support"
msgstr ""

#: ../../../CHANGELOG.md:414
msgid "Thanks to [Suguru Hirahara](https://github.com/luixxiul), the playbook now supports the [GearKite/MatrixZulipBridge](https://github.com/GearKite/MatrixZulipBridg) bridge for bridging Matrix to [Zulip](https://zulip.com/)."
msgstr ""

#: ../../../CHANGELOG.md:416
msgid "To learn more, see our [Setting up Zulip bridging](docs/configuring-playbook-bridge-zulip.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:418
msgid "2025-11-07"
msgstr ""

#: ../../../CHANGELOG.md:420
msgid "The matrix-chatgpt-bot has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:422
msgid "The [matrix-bot-chatgpt](./docs/configuring-playbook-bot-chatgpt.md) has been removed from the playbook, as it has been deprecated since September 2024."
msgstr ""

#: ../../../CHANGELOG.md:424
msgid "The playbook will let you know if you're using any `matrix_bot_chatgpt_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bot manually](./docs/configuring-playbook-bot-chatgpt.md#uninstalling-matrix-chatgpt-bot-manually)."
msgstr ""

#: ../../../CHANGELOG.md:426
msgid "2025-11-05"
msgstr ""

#: ../../../CHANGELOG.md:428
msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:430
msgid "The MX Puppet bridges for Discord, Instagram, Slack, and Twitter have been removed from the playbook, as they have been unmaintained for more than several years and do not support important features like authenticated media. See [this issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3867) for the context."
msgstr ""

#: ../../../CHANGELOG.md:434
msgid "`matrix_mx_puppet_discord_*`"
msgstr ""

#: ../../../CHANGELOG.md:435
msgid "`matrix_mx_puppet_instagram_*`"
msgstr ""

#: ../../../CHANGELOG.md:436
msgid "`matrix_mx_puppet_slack_*`"
msgstr ""

#: ../../../CHANGELOG.md:437
msgid "`matrix_mx_puppet_twitter_*`"
msgstr ""

#: ../../../CHANGELOG.md:441
msgid "[Instruction for MX Puppet Discord bridge](./docs/configuring-playbook-bridge-mx-puppet-discord.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:442
msgid "[Instruction for MX Puppet Instagram bridge](./docs/configuring-playbook-bridge-mx-puppet-instagram.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:443
msgid "[Instruction for MX Puppet Slack bridge](./docs/configuring-playbook-bridge-mx-puppet-slack.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:444
msgid "[Instruction for MX Puppet Twitter bridge](./docs/configuring-playbook-bridge-mx-puppet-twitter.md#uninstalling-the-bridge-manually)"
msgstr ""

#: ../../../CHANGELOG.md:446
msgid "2025-11-04"
msgstr ""

#: ../../../CHANGELOG.md:448
msgid "The Go Skype bridge has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:450
msgid "The [go-skype-bridge](./docs/configuring-playbook-bridge-go-skype-bridge.md) has been removed from the playbook, as Skype has been discontinued since the May 2025."
msgstr ""

#: ../../../CHANGELOG.md:452
msgid "The playbook will let you know if you're using any `matrix_go_skype_bridge_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-go-skype-bridge.md#uninstalling-the-bridge-manually)."
msgstr ""

#: ../../../CHANGELOG.md:454
msgid "2025-10-02"
msgstr ""

#: ../../../CHANGELOG.md:456
msgid "Element Admin support"
msgstr ""

#: ../../../CHANGELOG.md:458
msgid "The playbook now supports [Element Admin](./docs/configuring-playbook-element-admin.md) - a new web-based administration panel for Synapse and [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md)."
msgstr ""

#: ../../../CHANGELOG.md:460
msgid "Deployments based on Matrix Authentication Service may find it useful to run both Synapse Admin and Element Admin at the same time."
msgstr ""

#: ../../../CHANGELOG.md:462
msgid "Deployments that don't rely on Matrix Authentication Service are unlikely to find anything useful in Element Admin right now (it's too basic in its current form)."
msgstr ""

#: ../../../CHANGELOG.md:465
msgid "2025-04-26"
msgstr ""

#: ../../../CHANGELOG.md:467
msgid "Continuwuity support"
msgstr ""

#: ../../../CHANGELOG.md:469
msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [Continuwuity](./docs/configuring-playbook-continuwuity.md) homeserver support."
msgstr ""

#: ../../../CHANGELOG.md:471
msgid "Continuwuity is a fork of [conduwuit](./docs/configuring-playbook-conduwuit.md), which the playbook also supports. It appears that conduwuit has been abandoned and various forks (like Continuwuity, [Tuwunel](https://github.com/matrix-construct/tuwunel) and possibly others) are continuing in its path."
msgstr ""

#: ../../../CHANGELOG.md:473 ../../../CHANGELOG.md:686
msgid "Existing installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook."
msgstr ""

#: ../../../CHANGELOG.md:475
msgid "People that used to run conduwuit, may wish to:"
msgstr ""

#: ../../../CHANGELOG.md:477
msgid "either [migrate from conduwuit to Continuwuity](./docs/configuring-playbook-continuwuity.md#migrating-from-conduwuit)"
msgstr ""

#: ../../../CHANGELOG.md:478
msgid "or wait for some of the other forks to progress and for support for them to get added to the playbook"
msgstr ""

#: ../../../CHANGELOG.md:480
msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to Continuwuity) without data loss."
msgstr ""

#: ../../../CHANGELOG.md:483
msgid "2025-04-09"
msgstr ""

#: ../../../CHANGELOG.md:485
msgid "Element Call frontend installation is now optional"
msgstr ""

#: ../../../CHANGELOG.md:487
msgid "Because all Element clients (Element Web and Element X mobile) now embed and use their own Element Call frontend application (and not the one hosted via the playbook), it makes little sense for the playbook to self-host the Element Call frontend for you. Setting up the frontend requires an additional hostname (DNS setup) and it won't be used by Element clients anyway, so **we now recommend not installing the Element Call frontend**."
msgstr ""

#: ../../../CHANGELOG.md:489
msgid "💡 A reason you may wish to continue installing the Element Call frontend (despite Matrix clients not making use of it), is if you need to use it standalone - directly via a browser (without a Matrix client)."
msgstr ""

#: ../../../CHANGELOG.md:491
msgid "The playbook now lets you [Decide between Element Call vs just the Matrix RTC stack](./docs/configuring-playbook-element-call.md#decide-between-element-call-vs-just-the-matrix-rtc-stack)."
msgstr ""

#: ../../../CHANGELOG.md:493
msgid "If you'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:495
msgid "Adjusting your `vars.yml` configuration like this:"
msgstr ""

#: ../../../CHANGELOG.md:502
msgid "[Re-running the playbook](./docs/installing.md) with the `setup-all` Ansible tag (e.g. `just setup-all`)"
msgstr ""

#: ../../../CHANGELOG.md:504
msgid "Getting rid of the `call.element.example.com` DNS record"
msgstr ""

#: ../../../CHANGELOG.md:507
msgid "2025-03-15"
msgstr ""

#: ../../../CHANGELOG.md:509
msgid "Element Call support"
msgstr ""

#: ../../../CHANGELOG.md:511
msgid "The playbook now supports [Element Call](https://github.com/element-hq/element-call) as an optional feature. Thanks to [wjbeckett](https://github.com/wjbeckett) for getting us started via [PR#3562](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3562)."
msgstr ""

#: ../../../CHANGELOG.md:513
msgid "Element Call is a native Matrix video conferencing application developed by [Element](https://element.io/) that has the goal of replacing [Jitsi](./docs/configuring-playbook-jitsi.md) and the old WebRTC stack used in previous Element versions."
msgstr ""

#: ../../../CHANGELOG.md:515
msgid "💡 For now, Element Call is only supported with the [Synapse](docs/configuring-playbook-synapse.md) homeserver (with [federation](docs/configuring-playbook-federation.md) enabled) and [Element Web](docs/configuring-playbook-client-element-web.md) and Element X mobile clients. See the [Prerequisites](docs/configuring-playbook-element-call.md#prerequisites) section of the [Element Call documentation](docs/configuring-playbook-element-call.md) for more details."
msgstr ""

#: ../../../CHANGELOG.md:517
msgid "To get started, see the [Configuring Element Call](docs/configuring-playbook-element-call.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:520
msgid "2025-03-08"
msgstr ""

#: ../../../CHANGELOG.md:522
msgid "6️⃣ IPv6 support enablement recommended by default"
msgstr ""

#: ../../../CHANGELOG.md:524
msgid "Our [default example configuration](./examples/vars.yml) and [Configuring DNS](./docs/configuring-dns.md) guides now recommend enabling [IPv6](https://en.wikipedia.org/wiki/IPv6) support. We recommend that everyone enables IPv6 support for their Matrix server, even if they don't have IPv6 connectivity yet."
msgstr ""

#: ../../../CHANGELOG.md:526
msgid "Our new [Configuring IPv6](./docs/configuring-ipv6.md) documentation page has more details about the playbook's IPv6 support."
msgstr ""

#: ../../../CHANGELOG.md:528
msgid "**Existing playbook users** will **need to do some manual work** to enable IPv6 support. This consists of:"
msgstr ""

#: ../../../CHANGELOG.md:530
msgid "enabling IPv6 support for the Docker container networks:"
msgstr ""

#: ../../../CHANGELOG.md:531
msgid "add `devture_systemd_docker_base_ipv6_enabled: true` to their `vars.yml` configuration file"
msgstr ""

#: ../../../CHANGELOG.md:532
msgid "stop all services (`just stop-all`)"
msgstr ""

#: ../../../CHANGELOG.md:533
msgid "delete all container networks on the server: `docker network rm $(docker network ls -q)`"
msgstr ""

#: ../../../CHANGELOG.md:534
msgid "re-run the playbook fully: `just install-all`"
msgstr ""

#: ../../../CHANGELOG.md:536
msgid "[configuring IPv6 (`AAAA`) DNS records](./docs/configuring-ipv6.md#configuring-dns-records-for-ipv6)"
msgstr ""

#: ../../../CHANGELOG.md:538
msgid "2025-02-26"
msgstr ""

#: ../../../CHANGELOG.md:540
msgid "🪦 Bye-bye, Email2Matrix"
msgstr ""

#: ../../../CHANGELOG.md:542
msgid "The [Email2Matrix](./docs/configuring-playbook-email2matrix.md) service has been superseded by the [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) bridge for a long time now and was completely removed from the playbook today."
msgstr ""

#: ../../../CHANGELOG.md:544
msgid "If you still have the Email2Matrix component installed on your Matrix server, the playbook can no longer help you uninstall it and you will need to do it manually as described in the [Uninstalling Email2Matrix manually](./docs/configuring-playbook-email2matrix.md#uninstalling-email2matrix-manually) section of the documentation. The playbook will warn you if there are any `matrix_email2matrix_*` variables still remaining in your configuration."
msgstr ""

#: ../../../CHANGELOG.md:547
msgid "2025-02-23"
msgstr ""

#: ../../../CHANGELOG.md:549
msgid "The playbook defaults to exposing the Coturn STUN port (3478) over UDP once again"
msgstr ""

#: ../../../CHANGELOG.md:551
msgid "Recently, we made the playbook [default to exposing the Coturn STUN port (3478) only over TCP](#the-playbook-now-defaults-to-exposing-the-coturn-stun-port-3478-only-over-tcp) to reduce the severity of DDoS amplification/reflection attacks."
msgstr ""

#: ../../../CHANGELOG.md:553
msgid "It seems like old Element clients on mobile devices only support talking to the STUN port over UDP, not TCP. To accommodate such ancient clients, we're now **reversing this change** and **defaulting to exposing the Coturn STUN port (3478) over UDP once again**."
msgstr ""

#: ../../../CHANGELOG.md:556
msgid "In light of this new information, you have 2 options:"
msgstr ""

#: ../../../CHANGELOG.md:558
msgid "**If you already adapted to the previous change and would like to adapt to this change one again**:"
msgstr ""

#: ../../../CHANGELOG.md:560
msgid "make sure the `3478/udp` port is whitelisted in your external firewall (if you have one) once again."
msgstr ""

#: ../../../CHANGELOG.md:562
msgid "**If you don't care about old Element clients and wish to reduce the severity of DDoS amplification/reflection attacks**:"
msgstr ""

#: ../../../CHANGELOG.md:564
msgid "Consider closing the STUN/UDP port with the following configuration:"
msgstr ""

#: ../../../CHANGELOG.md:570
msgid "Consider keeping `3478/udp` blocked in your external firewall (if you have one)"
msgstr ""

#: ../../../CHANGELOG.md:572
msgid "2025-02-21"
msgstr ""

#: ../../../CHANGELOG.md:574
msgid "Docker daemon options are no longer adjusted when IPv6 is enabled"
msgstr ""

#: ../../../CHANGELOG.md:576
msgid "We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`."
msgstr ""

#: ../../../CHANGELOG.md:578
msgid "This variable did **2 different things at once**:"
msgstr ""

#: ../../../CHANGELOG.md:580
msgid "ensured that container networks were created with IPv6 being enabled"
msgstr ""

#: ../../../CHANGELOG.md:581
msgid "adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)"
msgstr ""

#: ../../../CHANGELOG.md:583
msgid "Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:"
msgstr ""

#: ../../../CHANGELOG.md:584
msgid "`ip6tables` defaults to `true` for everyone"
msgstr ""

#: ../../../CHANGELOG.md:585
msgid "`ip6tables` is out of the experimental phase, so `experimental` is no longer necessary"
msgstr ""

#: ../../../CHANGELOG.md:587
msgid "In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options. Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`."
msgstr ""

#: ../../../CHANGELOG.md:590
msgid "This change affects you like this:"
msgstr ""

#: ../../../CHANGELOG.md:592
msgid "✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected"
msgstr ""

#: ../../../CHANGELOG.md:593
msgid "❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):"
msgstr ""

#: ../../../CHANGELOG.md:594
msgid "✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected."
msgstr ""

#: ../../../CHANGELOG.md:595
msgid "🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:"
msgstr ""

#: ../../../CHANGELOG.md:606
msgid "Support for bridging to Bluesky via mautrix-bluesky"
msgstr ""

#: ../../../CHANGELOG.md:608
msgid "Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky)."
msgstr ""

#: ../../../CHANGELOG.md:610
msgid "To learn more, see our [Setting up mautrix-bluesky](./docs/configuring-playbook-bridge-mautrix-bluesky.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:613
msgid "2025-02-19"
msgstr ""

#: ../../../CHANGELOG.md:615
msgid "The playbook now defaults to exposing the Coturn STUN port (3478) only over TCP"
msgstr ""

#: ../../../CHANGELOG.md:617
msgid "We've previously done some work to **decrease the severity** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md)'s STUN port (2.8x -> 1.6x) as reported in [coturn: Lower DDoS amplification/reflection factor from 2.8 to 1.6 #2592](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592)."
msgstr ""

#: ../../../CHANGELOG.md:619
msgid "To **completely eliminate the problem** of DDoS amplification attacks done through the [Coturn](./docs/configuring-playbook-turn.md) STUN port even further (read more about this in [this article](https://stormwall.network/resources/blog/protect-against-ddos-based-on-stun-exploit)), the playbook now **disables exposure of the Coturn STUN port (`3478`) over UDP**. This is a bit heavy-handed, but is probably the only way to completely eliminate the problem."
msgstr ""

#: ../../../CHANGELOG.md:621
msgid "The playbook now **only exposes the Coturn STUN port (`3478`) over TCP by default**."
msgstr ""

#: ../../../CHANGELOG.md:623
msgid "💡 Users may wish to further remove the (now unnecessary) firewall rule allowing access to `3478/udp`."
msgstr ""

#: ../../../CHANGELOG.md:625
msgid "If you'd like the Coturn STUN port to be exposed over UDP like before, you can revert to the previous behavior by using the following configuration in your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:631
msgid "[!WARNING] People running Coturn directly on the `host` network (using `coturn_container_network: host`) will still have the STUN port exposed over UDP, as port exposure is done directly via Coturn and not via Docker. In such cases, the playbook cannot prevent `3478/udp` port exposure and you'd need to do it in another way (separate firewall rule, etc)."
msgstr ""

#: ../../../CHANGELOG.md:635
msgid "2025-02-17"
msgstr ""

#: ../../../CHANGELOG.md:637
msgid "FluffyChat Web support"
msgstr ""

#: ../../../CHANGELOG.md:639
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [FluffyChat Web](https://github.com/krille-chan/fluffychat) as an additional Matrix client you can self-host."
msgstr ""

#: ../../../CHANGELOG.md:641
msgid "To learn more, see our [Setting up FluffyChat Web](docs/configuring-playbook-client-fluffychat-web.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:644
msgid "2025-02-03"
msgstr ""

#: ../../../CHANGELOG.md:646
msgid "The mautrix-hangouts bridge has been removed from the playbook"
msgstr ""

#: ../../../CHANGELOG.md:648
msgid "The [mautrix-hangouts](./docs/configuring-playbook-bridge-mautrix-hangouts.md) bridge has been deprecated in the playbook since December 2024 and finally got completely removed from the playbook in February 2025."
msgstr ""

#: ../../../CHANGELOG.md:650
msgid "This is because Google Hangouts has been discontinued since the 1st of November 2022."
msgstr ""

#: ../../../CHANGELOG.md:652
msgid "The playbook will let you know if you're using any `matrix_mautrix_hangouts_*` variables. You'll need to remove them from `vars.yml` and potentially [uninstall the bridge manually](./docs/configuring-playbook-bridge-mautrix-hangouts.md#uninstalling-the-bridge-manually)."
msgstr ""

#: ../../../CHANGELOG.md:655
msgid "2025-01-27"
msgstr ""

#: ../../../CHANGELOG.md:657
msgid "Redis and KeyDB are no longer part of the playbook"
msgstr ""

#: ../../../CHANGELOG.md:659
msgid "**TLDR**: The playbook now exclusively uses Valkey as its Redis-compatible memorystore implementation, removing support for Redis and KeyDB. Most users are unaffected by this change unless they explicitly configured Redis or KeyDB variables. Only users that were explicitly defining `redis_*` or `keydb_*` variables will need to update their configuration to use `valkey_*` variables instead."
msgstr ""

#: ../../../CHANGELOG.md:661
msgid "The playbook has gone through several iterations of memorystore implementations:"
msgstr ""

#: ../../../CHANGELOG.md:663
msgid "It initially used Redis, auto-installing it when needed by features/services"
msgstr ""

#: ../../../CHANGELOG.md:664
msgid "[Switched to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis) as the default, while keeping Redis support for those who wished to remain on Redis"
msgstr ""

#: ../../../CHANGELOG.md:665
msgid "[Switched to Valkey](#backward-compatibility-break-the-playbook-now-defaults-to-valkey-instead-of-keydb) due to [KeyDB issues](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), while keeping Redis and KeyDB support, for those who wished to remain on them"
msgstr ""

#: ../../../CHANGELOG.md:667
msgid "To reduce configuration complexity and maintenance overhead, we are now:"
msgstr ""

#: ../../../CHANGELOG.md:669
msgid "removing Redis and KeyDB support entirely"
msgstr ""

#: ../../../CHANGELOG.md:670
msgid "using Valkey as the sole Redis-compatible memorystore implementation"
msgstr ""

#: ../../../CHANGELOG.md:672
msgid "To update your configuration:"
msgstr ""

#: ../../../CHANGELOG.md:674
msgid "**Most users** don't need to do anything"
msgstr ""

#: ../../../CHANGELOG.md:675
msgid "**Users that were explicitly sticking to Redis/KeyDB** need to update their `vars.yml` to use `valkey_*` variables instead"
msgstr ""

#: ../../../CHANGELOG.md:678
msgid "2025-01-19"
msgstr ""

#: ../../../CHANGELOG.md:680
msgid "conduwuit support"
msgstr ""

#: ../../../CHANGELOG.md:682
msgid "Thanks to [Virkkunen](https://github.com/Virkkunen), we now have optional experimental [conduwuit](https://conduwuit.puppyirl.gay/) homeserver support for new installations."
msgstr ""

#: ../../../CHANGELOG.md:684
msgid "conduwuit is a fork of [Conduit](./docs/configuring-playbook-conduit.md), which the playbook also supports. See [Differences from upstream Conduit](https://conduwuit.puppyirl.gay/differences.html)."
msgstr ""

#: ../../../CHANGELOG.md:688
msgid "To try out conduwuit, we recommend that you **use a new server**. Refer to our [Configuring conduwuit](./docs/configuring-playbook-conduwuit.md) guide for details."
msgstr ""

#: ../../../CHANGELOG.md:690
msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse/Conduit/Dendrite to conduwuit) without data loss."
msgstr ""

#: ../../../CHANGELOG.md:693
msgid "2025-01-14"
msgstr ""

#: ../../../CHANGELOG.md:695
msgid "(Backward Compatibility Break) Synapse v1.122.0 requires Postgres v13"
msgstr ""

#: ../../../CHANGELOG.md:697
msgid "The Synapse homeserver [requires Postgres v13 or newer](https://github.com/element-hq/synapse/issues/18034)."
msgstr ""

#: ../../../CHANGELOG.md:699
msgid "If you've been maintaining your setup for a while and you haven't been doing [Postgres upgrades](docs/maintenance-postgres.md#upgrading-postgresql), you may be on an old version of Postgres. The easiest way to check is to see the contents of the `/matrix/postgres/data/PG_VERSION` file."
msgstr ""

#: ../../../CHANGELOG.md:701
msgid "If you're on a Postgres version older than v13, you need to [upgrade your Postgres setup](docs/maintenance-postgres.md#upgrading-postgresql) or Synapse will produce an error on startup."
msgstr ""

#: ../../../CHANGELOG.md:703
msgid "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:705
msgid "If you're not ready to upgrade your Postgres setup yet, you can temporarily remain on an old Synapse version by adding the following configuration to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:713
msgid "2024-11-26"
msgstr ""

#: ../../../CHANGELOG.md:715
msgid "(Backward Compatibility Break) Synapse now defaults to enabling authenticated media"
msgstr ""

#: ../../../CHANGELOG.md:717
msgid "**TLDR**: with this update, your Synapse homeserver will start requiring authentication for newly-uploaded media files. While the majority of the ecosystem (clients, bots, etc.) should support this, certain software may lack support for it (and you may wish to turn it off, if it's causing issues)."
msgstr ""

#: ../../../CHANGELOG.md:719
msgid "The default configuration for the Synapse homeserver now [enforces Authenticated media by default](https://element-hq.github.io/synapse/v1.120/upgrade.html#authenticated-media-is-now-enforced-by-default)."
msgstr ""

#: ../../../CHANGELOG.md:721
msgid "Servers like `matrix.org` have already [sunset unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) months ago."
msgstr ""

#: ../../../CHANGELOG.md:723
msgid "Now that **various clients, bots, bridges and extra services have caught up with authenticated media support**, Synapse developers seem confident that it's time to enable authenticated media by default."
msgstr ""

#: ../../../CHANGELOG.md:725
msgid "We're changing the playbook configuration for authenticated media to keep up with upstream defaults changing."
msgstr ""

#: ../../../CHANGELOG.md:727
msgid "Old and unmaintained bridges (like all mx-puppet bridges, etc.) do not support authenticated media. Other software may be similarly affected. If you experience issues with some Matrix-related software, you may wish to disable authenticated media and contact the software maintainers to let them know."
msgstr ""

#: ../../../CHANGELOG.md:729
msgid "You can disable authenticated media at any time by setting `matrix_synapse_enable_authenticated_media: false` in your `vars.yml` configuration file and re-running the playbook."
msgstr ""

#: ../../../CHANGELOG.md:732
msgid "2024-11-23"
msgstr ""

#: ../../../CHANGELOG.md:734
msgid "(Backward Compatibility Break) The playbook now defaults to Valkey, instead of KeyDB"
msgstr ""

#: ../../../CHANGELOG.md:736
msgid "**TLDR**: if the playbook installed KeyDB (or Redis) as a dependency for you before, it will now replace it with [Valkey](https://valkey.io/) (a drop-in alternative). We [previously switched from Redis to KeyDB](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis), but Valkey is a better alternative, so we're switching again."
msgstr ""

#: ../../../CHANGELOG.md:738
msgid "The playbook used to install Redis or KeyDB if services have a need for a Redis-compatible implementation ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.)."
msgstr ""

#: ../../../CHANGELOG.md:740
msgid "Earlier this year, we switched from Redis to KeyDB — see [(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis](#backward-compatibility-break-the-playbook-now-defaults-to-keydb-instead-of-redis)."
msgstr ""

#: ../../../CHANGELOG.md:742
msgid "Because Valkey seems to be a better successor to Redis (than KeyDB) and likely doesn't suffer from [issues like this one](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3544), we now replace KeyDB with Valkey."
msgstr ""

#: ../../../CHANGELOG.md:744
msgid "Valkey (like KeyDB and Redis in the past) is an implicitly enabled dependency — you don't need custom configuration in `vars.yml` to enable it."
msgstr ""

#: ../../../CHANGELOG.md:746
msgid "Next time your run the playbook (via the `setup-all` tag), **KeyDB will be automatically uninstalled and replaced with Valkey**. Some Synapse downtime may occur while the switch happens."
msgstr ""

#: ../../../CHANGELOG.md:748
msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for Valkey**, nor the Valkey role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of Valkey (or Redis/KeyDB). If Redis is necessary in an `arm32` deployment, disabling Valkey and making the playbook fall back to Redis is possible (see below)."
msgstr ""

#: ../../../CHANGELOG.md:750 ../../../CHANGELOG.md:1090
msgid "**The playbook still supports Redis** and you can keep using Redis (for now) if you'd like, by adding this additional configuration to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:761
msgid "**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:771
msgid "At some point in time in the future, we'll remove both KeyDB and Redis from the playbook, so we recommend that you migrate to Valkey earlier anyway."
msgstr ""

#: ../../../CHANGELOG.md:774
msgid "2024-11-14"
msgstr ""

#: ../../../CHANGELOG.md:776
msgid "HTTP-compression support for Traefik-based setups"
msgstr ""

#: ../../../CHANGELOG.md:778
msgid "The playbook now **automatically enables HTTP-compression support** for major services powered by the playbook, like [Cinny](./docs/configuring-playbook-client-cinny.md), [Element Web](./docs/configuring-playbook-client-element-web.md), [Hydrogen](./docs/configuring-playbook-client-hydrogen.md), as well as for Matrix Client-Server and Federation APIs (`matrix.example.com`)."
msgstr ""

#: ../../../CHANGELOG.md:780
msgid "Other services installed by the playbook are currently not compression-enabled, but may become so over time. This change is rolled out on a per-service basis (as opposed to doing it globally, at the Traefik entrypoint level) to allow certain services or route endpoints which do not behave well when compressed (e.g. [issue 3749](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3749)) to be excluded from compression."
msgstr ""

#: ../../../CHANGELOG.md:782
msgid "A long time ago, various services were operating with `gzip`-compression enabled at the nginx level. Since the switch to Traefik (see [Goodbye, `matrix-nginx-proxy` 🪦](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/57c5271d9d6265a34a9d9cceb93365f685074f96/CHANGELOG.md#goodbye-matrix-nginx-proxy-)), all services (with the exception of Matrix APIs for Synapse worker-enabled setups which are powered by `nginx` via `synapse-reverse-proxy-companion`) have been operating without HTTP-compression support."
msgstr ""

#: ../../../CHANGELOG.md:784
msgid "HTTP-compression is now done via Traefik's [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware. We use the default configuration for this middleware, which enables `zstd`, `br` and `gzip` support (in this order). This middleware's configuration can be configured via variables in the Traefik role (see `traefik_config_http_middlewares_compression_middleware_options`)."
msgstr ""

#: ../../../CHANGELOG.md:786
msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you can benefit from the same by:"
msgstr ""

#: ../../../CHANGELOG.md:788
msgid "defining a [compress](https://doc.traefik.io/traefik/middlewares/http/compress/) middleware (via the [file](https://doc.traefik.io/traefik/providers/file/) or [Docker](https://doc.traefik.io/traefik/providers/docker/) providers)"
msgstr ""

#: ../../../CHANGELOG.md:789
msgid "setting `matrix_playbook_reverse_proxy_traefik_middleware_compression_enabled` to `true`"
msgstr ""

#: ../../../CHANGELOG.md:790
msgid "specifying the middleware's name in `matrix_playbook_reverse_proxy_traefik_middleware_compression_name` (e.g. `matrix_playbook_reverse_proxy_traefik_middleware_compression_name: my-compression-middleware@file`)"
msgstr ""

#: ../../../CHANGELOG.md:792
msgid "Timeout adjustments for Traefik-based setups"
msgstr ""

#: ../../../CHANGELOG.md:794
msgid "The playbook now supports configuring various [transport.respondingTimeouts](https://doc.traefik.io/traefik/routing/entrypoints/#respondingtimeouts) timeout values (`readTimeout`, `writeTimeout`, `idleTimeout`) for the `web`, `web-secure` and `matrix-federation` entrypoints."
msgstr ""

#: ../../../CHANGELOG.md:796
msgid "If you're using your own Traefik reverse-proxy server ([Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)) instead of the playbook's integrated Traefik service, you may wish to do similar configuration changes to your setup manually."
msgstr ""

#: ../../../CHANGELOG.md:798
msgid "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:800
msgid "The `traefik_config_entrypoint_web_transport_respondingTimeouts_*` variables (for the `web` entrypoint) cascade to affecting the timeout values for the `web-secure` and `matrix-federation` entrypoints, so you can easily adjust all timeout values using them."
msgstr ""

#: ../../../CHANGELOG.md:802
msgid "Example of the default timeout values used by the playbook:"
msgstr ""

#: ../../../CHANGELOG.md:813
msgid "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:816
msgid "2024-11-08"
msgstr ""

#: ../../../CHANGELOG.md:818
msgid "Support for synapse-admin auto-configuration via /.well-known/matrix/client"
msgstr ""

#: ../../../CHANGELOG.md:820
msgid "You can administrate your Synapse-powered homeserver using synapse-admin hosted externally (e.g. [admin.etke.cc](https://admin.etke.cc/)) and the synapse-admin instance would still auto-configure itself correctly for your server by [reading its `/.well-known/matrix/client` file](https://github.com/etkecc/synapse-admin/pull/126)."
msgstr ""

#: ../../../CHANGELOG.md:822
msgid "The playbook now configures the `/.well-known/matrix/client` file for this by default, injecting into it a `cc.etke.synapse-admin` section that contains the full synapse-admin configuration. This is done even if you don't enable the synapse-admin service in your configuration. The reason for always doing it is to allow users to skip the (small) overhead of self-hosting the non-core synapse-admin service, yet still be able to use it from elsewhere when needed."
msgstr ""

#: ../../../CHANGELOG.md:824
msgid "If you don't ever plan on using synapse-admin from other servers (besides your own due to [self-hosting synapse-admin](./docs/configuring-playbook-synapse-admin.md)), you **can disable this** `/.well-known/matrix/client` configuration via `matrix_static_files_file_matrix_client_property_cc_etke_synapse_admin_enabled: false`"
msgstr ""

#: ../../../CHANGELOG.md:827
msgid "2024-10-28"
msgstr ""

#: ../../../CHANGELOG.md:829
msgid "(BC Break) Postmoogle's variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:831
msgid "Due to the recategorization of [Postmoogle](./docs/configuring-playbook-bridge-postmoogle.md) from the bot to the bridge, its variables were renamed (`matrix_bot_postmoogle_` -> `matrix_postmoogle_`). You need to adjust your `vars.yml` configuration accordingly."
msgstr ""

#: ../../../CHANGELOG.md:833
msgid "2024-10-19"
msgstr ""

#: ../../../CHANGELOG.md:835
msgid "Support for Matrix Authentication Service"
msgstr ""

#: ../../../CHANGELOG.md:837
msgid "The playbook now supports installing and configuring [Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) (MAS)."
msgstr ""

#: ../../../CHANGELOG.md:839
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:841
msgid "This is an **experimental service** and there are **still certain issues with it** (see [Expectations](./docs/configuring-playbook-matrix-authentication-service.md#expectations)). Matrix server administrators should only consider switching if they identify with one or more [reasons to use Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md#reasons-to-use-matrix-authentication-service). As MAS adoption improves and more services are adjusted to support it, we expect that using MAS will become the norm."
msgstr ""

#: ../../../CHANGELOG.md:843
msgid "Our [Setting up Matrix Authentication Service](./docs/configuring-playbook-matrix-authentication-service.md) documentation page has more details about this new service, what you might expect from the switch and how you can migrate your existing (Synapse) homeserver setup to MAS."
msgstr ""

#: ../../../CHANGELOG.md:846
msgid "2024-09-27"
msgstr ""

#: ../../../CHANGELOG.md:848
msgid "(BC Break) Postgres & Traefik roles have been relocated and variable names need adjustments"
msgstr ""

#: ../../../CHANGELOG.md:850
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:852
msgid "Along with the relocation, the `devture_` prefix was dropped from their variable names, so you need to adjust your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:854
msgid "You need to do the following replacements:"
msgstr ""

#: ../../../CHANGELOG.md:856
msgid "`devture_postgres_` -> `postgres_`"
msgstr ""

#: ../../../CHANGELOG.md:857
msgid "`devture_traefik_` -> `traefik_`"
msgstr ""

#: ../../../CHANGELOG.md:862
msgid "2024-09-12"
msgstr ""

#: ../../../CHANGELOG.md:864
msgid "Support for baibot"
msgstr ""

#: ../../../CHANGELOG.md:866
msgid "The playbook now supports installing [baibot](./docs/configuring-playbook-bot-baibot.md) (pronounced bye-bot) — a [Matrix](https://matrix.org/) bot developed by [etke.cc](https://etke.cc/) that exposes the power of [AI](https://en.wikipedia.org/wiki/Artificial_intelligence) / [Large Language Models](https://en.wikipedia.org/wiki/Large_language_model) to you. 🤖"
msgstr ""

#: ../../../CHANGELOG.md:868
msgid "It supports [OpenAI](https://openai.com/)'s [ChatGPT](https://openai.com/blog/chatgpt/) models, as well as many other [☁️ providers](https://github.com/etkecc/baibot/blob/main/docs/providers.md)."
msgstr ""

#: ../../../CHANGELOG.md:870
msgid "It's designed as a more private and [✨ featureful](https://github.com/etkecc/baibot/?tab=readme-ov-file#-features) alternative to the now-unmaintained [matrix-chatgpt-bot](./docs/configuring-playbook-bot-chatgpt.md)."
msgstr ""

#: ../../../CHANGELOG.md:872
msgid "To get started, see the [Setting up baibot](./docs/configuring-playbook-bot-baibot.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:874
msgid "Switching synapse-admin to etke.cc's fork"
msgstr ""

#: ../../../CHANGELOG.md:876
msgid "The playbook now installs [etke.cc](https://etke.cc/)'s [fork](https://github.com/etkecc/synapse-admin) of [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin) (originally developed by [Awesome-Technologies](https://github.com/Awesome-Technologies)). This fork is a drop-in replacement for the original software."
msgstr ""

#: ../../../CHANGELOG.md:878
msgid "The creation of the fork has been provoked by users frequently encountering issues with the original synapse-admin software, such as unintentionally deleting their one-and-only admin user account (fixed [here](https://github.com/etkecc/synapse-admin/pull/1) and also contributed upstream [here](https://github.com/Awesome-Technologies/synapse-admin/pull/608) — to no avail for now). Since its inception, [a bunch of other quality-of-life improvements](https://github.com/etkecc/synapse-admin?tab=readme-ov-file#changes) have been made to the fork."
msgstr ""

#: ../../../CHANGELOG.md:880
msgid "If upstream synapse-admin picks up the pace and improves, the etke.cc fork may disappear and the playbook may switch to the original software again. Until that time comes, we believe that etke.cc's fork is the better software to use right now."
msgstr ""

#: ../../../CHANGELOG.md:882
msgid "If you'd like to switch back to the original synapse-admin software, you can do so by adding the following configuration to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:895
msgid "2024-08-17"
msgstr ""

#: ../../../CHANGELOG.md:897
msgid "New appservice-double-puppet service for better double-puppeting"
msgstr ""

#: ../../../CHANGELOG.md:899
msgid "Mautrix bridges are undergoing large changes as announced in the [August 2024 releases & progress](https://mau.fi/blog/2024-08-mautrix-release/) blog post."
msgstr ""

#: ../../../CHANGELOG.md:901
msgid "The playbook has already upgraded to the rewritten mautrix-slack ([v0.1.0](https://github.com/mautrix/slack/releases/tag/v0.1.0)) and mautrix-signal ([v0.7.0](https://github.com/mautrix/signal/releases/tag/v0.7.0)) bridges."
msgstr ""

#: ../../../CHANGELOG.md:903
msgid "The newly rewritten bridges do not support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) anymore, which has prompted us to switch to the new & better [appservice method](https://docs.mau.fi/bridges/general/double-puppeting.html#appservice-method-new) for double-puppeting. The playbook automates this double-puppeting setup for you if you enable the new [Appservice Double Puppet](./docs/configuring-playbook-appservice-double-puppet.md) service."
msgstr ""

#: ../../../CHANGELOG.md:905
msgid "All non-deprecated mautrix bridges in the playbook have been reworked to support double-puppeting via an Appservice. Most bridges still support double-puppeting via [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md), so the playbook supports it too. If only Shared Secret Auth is enabled, double-puppeting will be configured using that method (for the bridges that support it). That said, **Shared Secret Auth double-puppeting is being phased out and we recommend replacing it with the new Appservice method**."
msgstr ""

#: ../../../CHANGELOG.md:907
msgid "We recommend **enabling double-puppeting via the new Appservice method** by adding the following configuration to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:913
msgid "You can still **keep** [Shared Secret Auth](./docs/configuring-playbook-shared-secret-auth.md) enabled. Non-mautrix bridges and other services (e.g. [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) may still require it."
msgstr ""

#: ../../../CHANGELOG.md:915
msgid "When both double-puppeting methods are enabled, the playbook will automatically choose the new and better Appservice method for bridges that support it."
msgstr ""

#: ../../../CHANGELOG.md:918
msgid "2024-08-15"
msgstr ""

#: ../../../CHANGELOG.md:920
msgid "matrix-media-repo now configured for Authenticated Media"
msgstr ""

#: ../../../CHANGELOG.md:922
msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), our matrix-media-repo implementation now automatically [sets up signing keys](https://docs.t2bot.io/matrix-media-repo/v1.3.5/installation/signing-key/) for Authenticated Media (as per [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916))."
msgstr ""

#: ../../../CHANGELOG.md:924
msgid "If you had never heard of Authenticated Media before, the [Sunsetting unauthenticated media](https://matrix.org/blog/2024/06/26/sunsetting-unauthenticated-media/) article on [matrix.org](https://matrix.org/) is a good introduction."
msgstr ""

#: ../../../CHANGELOG.md:926
msgid "This feature is enabled for matrix-media-repo installations by default and will append an additional (matrix-media-repo-generated signing key) to your homeserver's (Synapse or Dendrite) signing key. See the [Signing keys](./docs/configuring-playbook-matrix-media-repo.md#signing-keys) and [Key backup and revoking](./docs/configuring-playbook-matrix-media-repo.md#key-backup-and-revoking) sections of the matrix-media-repo documentation for more details."
msgstr ""

#: ../../../CHANGELOG.md:928
msgid "If you'd like to avoid this new feature, you can disable it by setting `matrix_media_repo_generate_signing_key: false` in your `vars.yml` configuration file."
msgstr ""

#: ../../../CHANGELOG.md:931
msgid "2024-08-08"
msgstr ""

#: ../../../CHANGELOG.md:933
msgid "(Backward Compatibility Break) matrix-corporal has been upgraded to v3"
msgstr ""

#: ../../../CHANGELOG.md:935
msgid "The playbook now installs [matrix-corporal](https://github.com/devture/matrix-corporal) v3.0.0, which brings support for **power-level management** (thanks to [this PR](https://github.com/devture/matrix-corporal/pull/32))."
msgstr ""

#: ../../../CHANGELOG.md:937
msgid "This upgrade necessitates configuration policy changes as described in [matrix-corporal's changelog entry](https://github.com/devture/matrix-corporal/blob/5287cb81c82cd3b951c2a099b4697c3e0b384559/CHANGELOG.md#version-300-2024-08-08)."
msgstr ""

#: ../../../CHANGELOG.md:939
msgid "If you'd like to remain on the old (v2) version of matrix-corporal, you can do so by adding the following configuration to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:945
msgid "2024-07-25"
msgstr ""

#: ../../../CHANGELOG.md:947
msgid "synapse-usage-exporter support"
msgstr ""

#: ../../../CHANGELOG.md:949
msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [synapse-usage-exporter](https://github.com/loelkes/synapse-usage-exporter) — a small [Flask](https://flask.palletsprojects.com)-based webservice which can capture usage statistics from Synapse (via HTTP `PUT`) and then make them available for Prometheus to scrape."
msgstr ""

#: ../../../CHANGELOG.md:951
msgid "To learn more see our [Enabling synapse-usage-exporter for Synapse usage statistics](docs/configuring-playbook-synapse-usage-exporter.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:954
msgid "2024-07-06"
msgstr ""

#: ../../../CHANGELOG.md:956
msgid "matrix-alertmanager-receiver support"
msgstr ""

#: ../../../CHANGELOG.md:958
msgid "For those wishing to more easily integrate [Prometheus](https://prometheus.io/)' alerting service ([Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/)) with Matrix, the playbook can now set up [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver)."
msgstr ""

#: ../../../CHANGELOG.md:960
msgid "See [Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver](./docs/configuring-playbook-alertmanager-receiver.md) for more details."
msgstr ""

#: ../../../CHANGELOG.md:962
msgid "Traefik v3 and HTTP/3 are here now"
msgstr ""

#: ../../../CHANGELOG.md:964
msgid "**TLDR**: Traefik was migrated from v2 to v3. Minor changes were done to the playbook. Mostly everything else worked out of the box. Most people will not have to do any tweaks to their configuration. In addition, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is now auto-enabled for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints. If you have a firewall in front of your server and you wish to benefit from `HTTP3`, you will need to open the `443` and `8448` UDP ports in it."
msgstr ""

#: ../../../CHANGELOG.md:966
msgid "Traefik v3"
msgstr ""

#: ../../../CHANGELOG.md:968
msgid "The reverse-proxy that the playbook uses by default (Traefik) has recently been upgraded to v3 (see [this blog post](https://traefik.io/blog/announcing-traefik-proxy-v3-rc/) to learn about its new features). Version 3 includes some small breaking configuration changes requiring a [migration](https://doc.traefik.io/traefik/migration/v2-to-v3/)."
msgstr ""

#: ../../../CHANGELOG.md:970
msgid "We have **updated the playbook to Traefik v3** (make sure to run `just roles` / `make roles` to get it)."
msgstr ""

#: ../../../CHANGELOG.md:972
msgid "There were **only minor playbook changes required** to adapt to Traefik v3, and only to the Ansible role for [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) where we changed a few [`PathPrefix` instances to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp), because these instances were using a regular expression instead of a fixed path. For fixed-path values, `PathPrefix` is still the preferred matcher function to use."
msgstr ""

#: ../../../CHANGELOG.md:974
msgid "**Most people using the playbook should not have to do any changes**."
msgstr ""

#: ../../../CHANGELOG.md:976
msgid "If you're using the playbook's Traefik instance to reverse-proxy to some other services of your own (not managed by the playbook), you may wish to review their Traefik labels and make sure they're in line with the [Traefik v2 to v3 migration guide](https://doc.traefik.io/traefik/migration/v2-to-v3/)."
msgstr ""

#: ../../../CHANGELOG.md:978
msgid "If you've tweaked any of this playbook's `_path_prefix` variables and made them use a regular expression, you will now need to make additional adjustments. The playbook makes extensive use of `PathPrefix()` matchers in Traefik rules and `PathPrefix` does not support regular expressions anymore. To work around it, you may now need to override a whole `_traefik_rule` variable and switch it from [`PathPrefix` to `PathRegexp`](https://doc.traefik.io/traefik/routing/routers/#path-pathprefix-and-pathregexp)."
msgstr ""

#: ../../../CHANGELOG.md:980
msgid "If you're not using [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) (the only role we had to tweak to adapt it to Traefik v3), you **may potentially downgrade to Traefik v2** (if necessary) by adding `traefik_verison: v2.11.4` to your configuration. People using `matrix-media-repo` cannot downgrade this way, because `matrix-media-repo` has been adjusted to use `PathRegexp` — a [routing matcher](https://doc.traefik.io/traefik/v2.11/routing/routers/#rule) that Traefik v2 does not understand."
msgstr ""

#: ../../../CHANGELOG.md:982
msgid "HTTP/3 is enabled by default"
msgstr ""

#: ../../../CHANGELOG.md:984
msgid "In Traefik v3, [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3) support is no longer considered experimental now. Due to this, **the playbook auto-enables HTTP3** for the `web-secure` (port 443) and `matrix-federation` (port `8448`) entrypoints."
msgstr ""

#: ../../../CHANGELOG.md:986
msgid "HTTP3 uses the UDP protocol and **the playbook (together with Docker) will make sure that the appropriate ports** (`443` over UDP & `8448` over UDP) **are exposed and whitelisted in your server's firewall**. However, **if you have another firewall in front of your server** (as is the case for many cloud providers), **you will need to manually open these UDP ports**."
msgstr ""

#: ../../../CHANGELOG.md:988
msgid "If you do not open the UDP ports correctly or there is some other issue, clients (browsers, mostly) will fall-back to [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) or even [HTTP/1.1](https://en.wikipedia.org/wiki/HTTP)."
msgstr ""

#: ../../../CHANGELOG.md:990
msgid "Still, if HTTP/3 cannot function correctly in your setup, it's best to disable advertising support for it (and misleading clients into trying to use HTTP/3)."
msgstr ""

#: ../../../CHANGELOG.md:992
msgid "To **disable HTTP/3**, you can use the following configuration:"
msgstr ""

#: ../../../CHANGELOG.md:1006
msgid "If you are using [your own webserver](./docs/configuring-playbook-own-webserver.md) (in front of Traefik), port binding on UDP port `8448` by default due to HTTP/3 is either unnecessary or [may get in the way](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3402). If it does, you can disable it:"
msgstr ""

#: ../../../CHANGELOG.md:1019
msgid "2024-07-01"
msgstr ""

#: ../../../CHANGELOG.md:1021
msgid "synapse-admin is now restricted to your homeserver's URL by default"
msgstr ""

#: ../../../CHANGELOG.md:1023
msgid "A new feature introduced in synapse-admin [v0.10.0](https://github.com/Awesome-Technologies/synapse-admin/releases/tag/0.10.0) (released and supported by the playbook since a a few months ago) provides the ability to [restrict its usage to a specific homeserver](https://github.com/Awesome-Technologies/synapse-admin/blob/e21e44362c879ac41f47c580b04210842b6ff3d7/README.md#restricting-available-homeserver) (or multiple homeservers)."
msgstr ""

#: ../../../CHANGELOG.md:1025
msgid "The playbook has just started making use of this feature. **From now on, your synapse-admin instance will be restricted to the homeserver you're managing via the playbook**. When configured like this, the *Homeserver URL* field in synapse-admin's web UI changes from a text field to a dropdown having a single value (the URL of your homeserver). This makes usage simpler for most people, as they won't need to manually enter a *Homeserver URL* anymore."
msgstr ""

#: ../../../CHANGELOG.md:1027
msgid "If you'd like **to go back to the old unrestricted behavior**, use the following configuration:"
msgstr ""

#: ../../../CHANGELOG.md:1035
msgid "2024-06-25"
msgstr ""

#: ../../../CHANGELOG.md:1037
msgid "The URL-prefix for Hookshot generic webhooks has changed"
msgstr ""

#: ../../../CHANGELOG.md:1039
msgid "Until now, generic Hookshot webhook URLs looked like this: `https://matrix.example.com/hookshot/webhooks/:hookId`."
msgstr ""

#: ../../../CHANGELOG.md:1041
msgid "The `/hookshot/webhooks` common prefix gets stripped by Traefik automatically, so Hookshot only sees the part that comes after (`/:hookId`)."
msgstr ""

#: ../../../CHANGELOG.md:1043
msgid "[A few years ago](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1681), Hookshot started to prefer to handle webhooks at a `/webhook/:hookId` path (instead of directly at `/:hookId`)."
msgstr ""

#: ../../../CHANGELOG.md:1045
msgid "To avoid future problems, we've [reconfigured](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/4704a60718946fd469aeee7fc3ae8127c633bb6b) our Hookshot configuration to use webhook URLs that include `/webhook` in the URL suffix (e.g. `/hookshot/webhooks/webhook/:hookId`, instead of `/hookshot/webhooks/:hookId`). This means that when we strip the common prefi (`/hookshot/webhooks`), we'll end up sending `/webhook/:hookId` to Hookshot, just like recommended."
msgstr ""

#: ../../../CHANGELOG.md:1047
msgid "When generating new webhooks, you should start seeing the new URLs being used."
msgstr ""

#: ../../../CHANGELOG.md:1049
msgid "**For now**, **both** old URLs (`/hookshot/webhooks/:hookId`) and new URLs (`/hookshot/webhooks/webhook/:hookId`) **continue to work**, so your webhooks will not break just yet."
msgstr ""

#: ../../../CHANGELOG.md:1051
msgid "However, **we recommend that you update all your old webhook URLs** (configured in other systems) to include the new `/webhook` path component, so that future Hookshot changes (whenever they come) will not break your webhooks. You don't need to do anything on the Hookshot side — you merely need to reconfigure the remote systems that use your webhook URLs."
msgstr ""

#: ../../../CHANGELOG.md:1054
msgid "2024-06-22"
msgstr ""

#: ../../../CHANGELOG.md:1056
msgid "The maubot user is now managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:1058
msgid "To make things easier and to be consistent with other roles, the [maubot](./docs/configuring-playbook-bot-maubot.md) user (`bot.maubot` by default) is [now](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3376) automatically created be the playbook."
msgstr ""

#: ../../../CHANGELOG.md:1060
msgid "If you have an existing maubot installation, you will need to specify `matrix_bot_maubot_initial_password` in your `vars.yml` file to make the playbook not complain about it being undefined. Since the bot is already registered in your installation, there's nothing for the playbook to do anyway. In case you don't remember the password you've registered your maubot user account with, you can specify any value for this variable."
msgstr ""

#: ../../../CHANGELOG.md:1062
msgid "If you've registered another username for the bot (other than the recommended default of `bot.maubot`), consider adjusting the `matrix_bot_maubot_login` variable (e.g. `matrix_bot_maubot_login: my.maubot.username`)."
msgstr ""

#: ../../../CHANGELOG.md:1065
msgid "2024-06-03"
msgstr ""

#: ../../../CHANGELOG.md:1067
msgid "WeChat bridging support"
msgstr ""

#: ../../../CHANGELOG.md:1069
msgid "Thanks to [Tobias Diez](https://github.com/tobiasdiez)'s [efforts](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3241), the playbook now supports bridging to [WeChat](https://www.wechat.com/) via the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge."
msgstr ""

#: ../../../CHANGELOG.md:1071
msgid "See our [Setting up WeChat bridging](docs/configuring-playbook-bridge-wechat.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:1074
msgid "2024-03-26"
msgstr ""

#: ../../../CHANGELOG.md:1076
msgid "(Backward Compatibility Break) The playbook now defaults to KeyDB, instead of Redis"
msgstr ""

#: ../../../CHANGELOG.md:1078
msgid "**TLDR**: if the playbook used installed Redis as a dependency for you before, it will now replace it with [KeyDB](https://docs.keydb.dev/) (a drop-in alternative) due to [Redis having changed its license](https://redis.com/blog/redis-adopts-dual-source-available-licensing/)."
msgstr ""

#: ../../../CHANGELOG.md:1080
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now uses [KeyDB](https://docs.keydb.dev/) (a drop-in alternative for Redis), instead of [Redis](https://redis.io/)."
msgstr ""

#: ../../../CHANGELOG.md:1082
msgid "The playbook used to install Redis (and now installs KeyDB in its place) if services have a need for it ([enabling worker support for Synapse](docs/configuring-playbook-synapse.md#load-balancing-with-workers), [enabling Hookshot encryption](docs/configuring-playbook-bridge-hookshot.md#end-to-bridge-encryption), etc.) or if you explicitly enabled the service (`redis_enabled: true` or `keydb_enabled: true`)."
msgstr ""

#: ../../../CHANGELOG.md:1084
msgid "This change is provoked by the fact that [Redis is now \"source available\"](https://redis.com/blog/redis-adopts-dual-source-available-licensing/). According to the Limitations of [the new license](https://redis.com/legal/rsalv2-agreement/) (as best as we understand them, given that we're not lawyers), using Redis in the playbook (even in a commercial FOSS service like [etke.cc](https://etke.cc/)) does not violate the new Redis license. That said, we'd rather neither risk it, nor endorse shady licenses and products that pretend to be free-software. Another high-quality alternative to Redis seems to be [Dragonfly](https://www.dragonflydb.io/), but the [Dragonfly license](https://github.com/dragonflydb/dragonfly?tab=License-1-ov-file#readme) is no better than Redis's."
msgstr ""

#: ../../../CHANGELOG.md:1086
msgid "Next time your run the playbook (via the `setup-all` tag), **Redis will be automatically uninstalled and replaced with KeyDB**. Some Synapse downtime may occur while the switch happens."
msgstr ""

#: ../../../CHANGELOG.md:1088
msgid "Users on `arm32` should be aware that there's **neither a prebuilt `arm32` container image for KeyDB**, nor the KeyDB role supports self-building yet. Users on this architecture likely don't run Synapse with workers, etc., so they're likely in no need of KeyDB (or Redis). If Redis is necessary in an `arm32` deployment, disabling KeyDB and making the playbook fall back to Redis is possible (see below)."
msgstr ""

#: ../../../CHANGELOG.md:1099
msgid "2024-03-24"
msgstr ""

#: ../../../CHANGELOG.md:1101
msgid "Initial work on IPv6 support"
msgstr ""

#: ../../../CHANGELOG.md:1103
msgid "Thanks to [Tilo Spannagel](https://github.com/tilosp), the playbook can now enable IPv6 for container networks for various components (roles) via [the `devture_systemd_docker_base_ipv6_enabled` variable](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L14-L31)."
msgstr ""

#: ../../../CHANGELOG.md:1105
msgid "It should be noted that:"
msgstr ""

#: ../../../CHANGELOG.md:1107
msgid "Matrix roles (`roles/custom/matrix-*`) respect this variable, but external roles (those defined in `requirements.yml` and installed via `just roles`) do not respect it yet. Additional work is necessary"
msgstr ""

#: ../../../CHANGELOG.md:1108
msgid "changing the variable subsequently may not change existing container networks. Refer to [these instructions](https://github.com/devture/com.devture.ansible.role.systemd_docker_base/blob/c11a526bb8e318b42eb52055056377bb31154f13/defaults/main.yml#L26-L30)"
msgstr ""

#: ../../../CHANGELOG.md:1109
msgid "this is all very new and untested"
msgstr ""

#: ../../../CHANGELOG.md:1111
msgid "Pantalaimon support"
msgstr ""

#: ../../../CHANGELOG.md:1113
msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install the [Pantalaimon](https://github.com/matrix-org/pantalaimon) E2EE aware proxy daemon for you. It's already possible to integrate it with [Draupnir](docs/configuring-playbook-bot-draupnir.md) to allow it to work in E2EE rooms — see our Draupnir docs for details."
msgstr ""

#: ../../../CHANGELOG.md:1115
msgid "See our [Setting up Pantalaimon](docs/configuring-playbook-pantalaimon.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:1118
msgid "2024-03-05"
msgstr ""

#: ../../../CHANGELOG.md:1120
msgid "Support for Draupnir-for-all"
msgstr ""

#: ../../../CHANGELOG.md:1122
msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) (aka multi-instance Draupnir running in appservice mode)."
msgstr ""

#: ../../../CHANGELOG.md:1124
msgid "This is an alternative to [running Draupnir in bot mode](./docs/configuring-playbook-bot-draupnir.md), which is still supported by the playbook."
msgstr ""

#: ../../../CHANGELOG.md:1126
msgid "The documentation page for [Draupnir for all](./docs/configuring-playbook-appservice-draupnir-for-all.md) contains more information on how to install it."
msgstr ""

#: ../../../CHANGELOG.md:1129
msgid "2024-02-19"
msgstr ""

#: ../../../CHANGELOG.md:1131
msgid "Support for bridging to Facebook/Messenger via the new mautrix-meta bridge"
msgstr ""

#: ../../../CHANGELOG.md:1133
msgid "The [mautrix-facebook](./docs/configuring-playbook-bridge-mautrix-facebook.md) and [mautrix-instagram](./docs/configuring-playbook-bridge-mautrix-instagram.md) bridges are being [superseded by a new bridge](https://github.com/mautrix/facebook/issues/332) — the [mautrix-meta](https://github.com/mautrix/meta) bridge."
msgstr ""

#: ../../../CHANGELOG.md:1135
msgid "The playbook now supports the new mautrix-meta bridge — a single bridge, which can run in different modes and bridge to Messenger (via [Facebook](https://facebook.com/), Facebook over [Tor](https://www.torproject.org/) or via [Messenger](https://messenger.com/)) and [Instagram](https://instagram.com/). The playbook makes this bridge available via 2 separate Ansible roles, allowing you to easily run 2 instances of mautrix-meta, for bridging to both services at the same time."
msgstr ""

#: ../../../CHANGELOG.md:1137
msgid "If you're using mautrix-facebook or mautrix-instagram right now, **you can still continue using the old bridges, but may wish to change to the new bridge implementations**. See:"
msgstr ""

#: ../../../CHANGELOG.md:1139
msgid "[Setting up Instagram bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-instagram.md)"
msgstr ""

#: ../../../CHANGELOG.md:1141
msgid "[Setting up Messenger bridging via Mautrix Meta](docs/configuring-playbook-bridge-mautrix-meta-messenger.md)"
msgstr ""

#: ../../../CHANGELOG.md:1143
msgid "The documentation pages contain more information on how to migrate."
msgstr ""

#: ../../../CHANGELOG.md:1146
msgid "2024-02-14"
msgstr ""

#: ../../../CHANGELOG.md:1148
msgid "Much larger Synapse caches and cache auto-tuning enabled by default"
msgstr ""

#: ../../../CHANGELOG.md:1150
msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). This work and the default values used by the playbook are inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)."
msgstr ""

#: ../../../CHANGELOG.md:1152
msgid "The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939)."
msgstr ""

#: ../../../CHANGELOG.md:1154
msgid "The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables:"
msgstr ""

#: ../../../CHANGELOG.md:1156
msgid "`matrix_synapse_cache_autotuning_max_cache_memory_usage` — defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes"
msgstr ""

#: ../../../CHANGELOG.md:1157
msgid "`matrix_synapse_cache_autotuning_target_cache_memory_usage` — defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes"
msgstr ""

#: ../../../CHANGELOG.md:1158
msgid "`matrix_synapse_cache_autotuning_min_cache_ttl` — defaults to `30s`"
msgstr ""

#: ../../../CHANGELOG.md:1160
msgid "These values should be good defaults for most servers, but may change over time as we experiment further."
msgstr ""

#: ../../../CHANGELOG.md:1162
msgid "Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details."
msgstr ""

#: ../../../CHANGELOG.md:1165
msgid "2024-01-31"
msgstr ""

#: ../../../CHANGELOG.md:1167
msgid "(Backward-compatibility break) Minor changes necessary for some people serving a static website at the base domain"
msgstr ""

#: ../../../CHANGELOG.md:1169
msgid "This only affects people who are [Serving a static website at the base domain](./docs/configuring-playbook-base-domain-serving.md#serving-a-static-website-at-the-base-domain), but not managing its `index.html` through the playbook."
msgstr ""

#: ../../../CHANGELOG.md:1171
msgid "That is, for people who have `matrix_static_files_file_index_html_enabled: false` in their `vars.yml` configuration, the playbook has a new default behavior. Since the playbook is not managing the `index.html` file, it will default to a more sensible way of handling the base domain — redirecting `https://example.com/` to `https://matrix.example.com/`, instead of serving a 404 page."
msgstr ""

#: ../../../CHANGELOG.md:1173
msgid "If you are managing your static website by yourself (by dropping files into `/matrix/static-files/public` somehow), then you probably don't wish for such redirection to happen. You can disable it by adding `matrix_static_files_container_labels_base_domain_root_path_redirection_enabled: false` to your `vars.yml` configuration file."
msgstr ""

#: ../../../CHANGELOG.md:1176
msgid "2024-01-20"
msgstr ""

#: ../../../CHANGELOG.md:1178
msgid "Support for more efficient (specialized) Synapse workers"
msgstr ""

#: ../../../CHANGELOG.md:1180
msgid "Thanks to [Charles Wright](https://github.com/cvwright) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook has [received support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100) for load-balancing the Synapse workload via [specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) which are supposed to work better than our old [generic workers](./docs/configuring-playbook-synapse.md#generic-workers) implementation."
msgstr ""

#: ../../../CHANGELOG.md:1182
msgid "For now, playbook defaults remain unchanged and the `one-of-each` [workers preset](./docs/configuring-playbook-synapse.md#worker-presets) continues being the default. However, the default may change in the future. If you'd like to remain on this preset even if/when the defaults change, consider explicitly adding `matrix_synapse_workers_preset: one-of-each` to your `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:1184
msgid "Our specialized workers setup is based on recommendations found in [Tom Foster](https://github.com/tcpipuk)'s [Synapse homeserver guide](https://tcpipuk.github.io/synapse/index.html). What's special about our new setup is that we try to parse information out of the request (who the user is; which room is being operated on) and try to forward similar requests to the same worker. As an example, this means that once a worker caches some room information, subsequent requests for the same room will be routed to the same worker (which supposedly still has the room's state cached)."
msgstr ""

#: ../../../CHANGELOG.md:1186
msgid "To get started, refer to our [Specialized workers](./docs/configuring-playbook-synapse.md#specialized-workers) documentation section."
msgstr ""

#: ../../../CHANGELOG.md:1189
msgid "2024-01-17"
msgstr ""

#: ../../../CHANGELOG.md:1191
msgid "Switching to Element's AGPLv3-licensed Synapse release"
msgstr ""

#: ../../../CHANGELOG.md:1193
msgid "A few months ago, the [Element](https://element.io/) company has [announced](https://element.io/blog/element-to-adopt-agplv3/) that their work on the Synapse homeserver would no longer be available under the permissive [Apache-2.0 license](https://www.apache.org/licenses/LICENSE-2.0), but only under:"
msgstr ""

#: ../../../CHANGELOG.md:1195
msgid "the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.en.html) free-software license — the same license that this Ansible playbook has always used"
msgstr ""

#: ../../../CHANGELOG.md:1196
msgid "a proprietary license, for those wishing for Element to [sell them an exception](https://gnu.org/philosophy/selling-exceptions.html) to the AGPLv3 license"
msgstr ""

#: ../../../CHANGELOG.md:1198
msgid "You can also learn more in [this post](https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/) by the Matrix Foundation."
msgstr ""

#: ../../../CHANGELOG.md:1200
msgid "The change has [already happened](https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/) and the first Synapse release under the new license is here: [v1.99.0](https://github.com/element-hq/synapse/releases/tag/v1.99.0)."
msgstr ""

#: ../../../CHANGELOG.md:1202
msgid "There is no up-to-date alternative Synapse fork right now and this free-software (AGPLv3-licensed) playbook is definitely not against free-software licenses, so we are now switching to the Element-maintained Synapse release."
msgstr ""

#: ../../../CHANGELOG.md:1204
msgid "**What does this mean to you?**"
msgstr ""

#: ../../../CHANGELOG.md:1206
msgid "For most home users, it doesn't mean anything. Your installation will continue working as it should and you don't need to do anything."
msgstr ""

#: ../../../CHANGELOG.md:1208
msgid "For people building commercial products on top of Synapse, they may have to either buy a license exception from Element (from what we hear, the fee depends on the number of monthly-active users on your instance) or they may need to release all related code as free-software (which is what we've been doing at [etke.cc](https://etke.cc/) ([here](https://gitlab.com/etke.cc)) all along)."
msgstr ""

#: ../../../CHANGELOG.md:1210
msgid "We're no lawyers and this changelog entry does not aim to give you the best legal advice, so please research on your own!"
msgstr ""

#: ../../../CHANGELOG.md:1212
msgid "If you'd like to continue using the old Apache-2.0-licensed Synapse (for a while longer anyway), the playbook makes it possible by introducing a new Ansible variable. You can do it like this:"
msgstr ""

#: ../../../CHANGELOG.md:1224
msgid "Notes:"
msgstr ""

#: ../../../CHANGELOG.md:1226
msgid "if you had already upgraded Synapse to `v1.99.0` by running this playbook, you will still be able to downgrade to `v1.98.0`, because both releases use the same database schema version (`SCHEMA_COMPAT_VERSION = 83` — see [here for v1.98.0](https://github.com/element-hq/synapse/blob/v1.98.0/synapse/storage/schema/__init__.py#L131-L134) and [here for v1.99.0](https://github.com/element-hq/synapse/blob/v1.99.0/synapse/storage/schema/__init__.py#L137-L140)). More details on Synapse's database schema are available [here](https://element-hq.github.io/synapse/develop/development/database_schema.html). It appears that there are no new database migrations introduced in `v1.99.0`, so going back to the older release is possible. This is not guaranteed to hold true for future Synapse releases, so if you're seeing this early-enough, consider pinning the version and organization before re-running the playbook and getting upgraded to the latest version"
msgstr ""

#: ../../../CHANGELOG.md:1228
msgid "running an outdated homeserver exposes you to security issues and incompatibilities. Only consider doing this as a short-term solution."
msgstr ""

#: ../../../CHANGELOG.md:1230
msgid "2024-01-16"
msgstr ""

#: ../../../CHANGELOG.md:1232
msgid "`Draupnir` has been relicensed to AFL-3.0"
msgstr ""

#: ../../../CHANGELOG.md:1234
msgid "As of [#204](https://github.com/the-draupnir-project/Draupnir/pull/204) Draupnir changed its licence to AFL-3.0 from the CSL licence. This change affects playbook users who could not run Draupnir under the old license restrictions. The new license is considerably less restrictive and is OSI approved. Draupnir version v1.86.0 and later are covered by this license change."
msgstr ""

#: ../../../CHANGELOG.md:1236
msgid "2024-01-15"
msgstr ""

#: ../../../CHANGELOG.md:1238
msgid "Goodbye, `matrix-nginx-proxy` 🪦"
msgstr ""

#: ../../../CHANGELOG.md:1240
msgid "**TLDR**: All traces of the `matrix-nginx-proxy` reverse-proxy component are now gone. This brought about many other internal changes (and security improvements), so setups may need minor adjustments or suffer some (temporary) breakage. People who have been on the Traefik-native setup may upgrade without much issues. Those running their own Traefik instance may need minor changes. People who have been postponing the migration away from `matrix-nginx-proxy` (for more than a year already!) will now finally need to do something about it."
msgstr ""

#: ../../../CHANGELOG.md:1242
msgid "Backstory on `matrix-nginx-proxy`"
msgstr ""

#: ../../../CHANGELOG.md:1244
msgid "We gather here today to celebrate the loss of a once-beloved component in our stack — `matrix-nginx-proxy`. It's been our [nginx](https://nginx.org/)-based reverse-proxy of choice since the [first commit](https://github.com/spantaleev/matrix-docker-ansible-deploy/tree/87f5883f2455fb115457b65f267f17de305c053c) of this playbook, 7 years ago."
msgstr ""

#: ../../../CHANGELOG.md:1246
msgid "For 6 years, `matrix-nginx-proxy` has been the front-most reverse-proxy in our setup (doing SSL termination, etc.). After [transitioning to Traefik last year](#traefik-is-the-default-reverse-proxy-now), `matrix-nginx-proxy` took a step back. Nevertheless, since it was so ingrained into the playbook, it still remained in use — even if only internally. Despite our warnings of its imminent death, many of you have indubitably continued to use it instead of Traefik. Its suffering continued for too long, because it served many different purposes and massive effort was required to transition them to others."
msgstr ""

#: ../../../CHANGELOG.md:1248
msgid "To us, `matrix-nginx-proxy` was:"
msgstr ""

#: ../../../CHANGELOG.md:1250
msgid "an [nginx](https://nginx.org/)-based reverse-proxy"
msgstr ""

#: ../../../CHANGELOG.md:1251
msgid "an Ansible role organizing the work of [certbot](https://certbot.eff.org/) — retrieving free [Let's Encrypt](https://letsencrypt.org/) SSL certificates for `matrix-nginx-proxy` and for the [coturn TURN server](./docs/configuring-playbook-turn.md)"
msgstr ""

#: ../../../CHANGELOG.md:1252
msgid "a central component for reverse-proxying to the [long list of services](./docs/configuring-playbook.md) supported by the playbook. As such, it became a dependency that all these services had to inject themselves into during runtime"
msgstr ""

#: ../../../CHANGELOG.md:1253
msgid "an intermediary through which addons (bridges, bots) communicated with the homeserver. Going through an intermediary (instead of directly talking to the homeserver) is useful when certain components (like [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) are enabled, because it lets these services \"steal routes\" from the homeserver"
msgstr ""

#: ../../../CHANGELOG.md:1254
msgid "a webserver for serving the `/.well-known/matrix` static files (generated by the `matrix-base` role until now)"
msgstr ""

#: ../../../CHANGELOG.md:1255
msgid "a webserver [serving your base domain](./docs/configuring-playbook-base-domain-serving.md) (and also generating the `index.html` page for it)"
msgstr ""

#: ../../../CHANGELOG.md:1256
msgid "a central component providing global [HTTP Basic Auth](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) password-protection for all `/metrics` endpoints when metrics were exposed publicly for consumption from a remote Prometheus server"
msgstr ""

#: ../../../CHANGELOG.md:1258
msgid "Talk about a jack of all trades! The [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) (and Docker container philosophy) of \"do one thing and do it well\" had been severely violated for too long."
msgstr ""

#: ../../../CHANGELOG.md:1260
msgid "On a related note, we also had a large chain of reverse-proxies in the mix. In the worst case, it was something like this: (Traefik -> `matrix-nginx-proxy:8080` -> `matrix-nginx-proxy:12080` -> `matrix-synapse-reverse-proxy-companion:8008` -> `matrix-synapse:8008`)."
msgstr ""

#: ../../../CHANGELOG.md:1262
msgid "Due to complexity and the playbook's flexibility (trying to accommodate a mix of tens of components), many layers of indirection were necessary. We do like reverse-proxies, but… not quite enough to enjoy going through a chain of ~4 of them before reaching the target service."
msgstr ""

#: ../../../CHANGELOG.md:1264
msgid "After **a ton of work** in the last weeks (200+ commits, which changed 467 files - 8684 insertions and 8913 deletions), **we're finally saying goodbye** to `matrix-nginx-proxy`."
msgstr ""

#: ../../../CHANGELOG.md:1266
msgid "Going Traefik-native and cutting out all middlemen"
msgstr ""

#: ../../../CHANGELOG.md:1268
msgid "In our new setup, you'll see the bare minimum number of reverse-proxies."
msgstr ""

#: ../../../CHANGELOG.md:1270
msgid "In most cases, there's only Traefik and all services being registered directly with it. When [Synapse workers](./docs/configuring-playbook-synapse.md#load-balancing-with-workers) are enabled, `matrix-synapse-reverse-proxy-companion` remains as an extra reverse-proxy that requests go through (for load-balancing to the correct Synapse worker), but in all other cases services are exposed directly."
msgstr ""

#: ../../../CHANGELOG.md:1272
msgid "This reduces \"network\" hops (improving performance) and also decreases the number of components (containers). Each Ansible role in our setup is now independent and doesn't need to interact with other roles during runtime."
msgstr ""

#: ../../../CHANGELOG.md:1274
msgid "Traefik now has an extra job"
msgstr ""

#: ../../../CHANGELOG.md:1276
msgid "Previously, **Traefik had a single purpose** — being the main reverse-proxy. It was either front-most (terminating SSL, etc.) or you were [fronting Traefik with your own other reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy). In any case — it had this central (yet decentralized) job."
msgstr ""

#: ../../../CHANGELOG.md:1278
msgid "Now, **Traefik has one more role** — it serves as an intermediary which allows addon services (bridges, bots, etc.) to communicate with the homeserver. As mentioned above, such an intermediary service is not strictly necessary in all kinds of setups, but more complex setups (including [matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md) or [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md)) benefit from it."
msgstr ""

#: ../../../CHANGELOG.md:1280
msgid "To perform this new role, Traefik now has a new internal [entrypoint](https://doc.traefik.io/traefik/routing/entrypoints/) called `matrix-internal-matrix-client-api`. All homeservers (Conduit, Dendrite, Synapse and even `matrix-synapse-reverse-proxy-companion`) and homeserver-related core services ([matrix-media-repo](./docs/configuring-playbook-matrix-media-repo.md), [matrix-corporal](./docs/configuring-playbook-matrix-corporal.md) and potentially others) register their routes (using [container labels](https://docs.docker.com/config/labels-custom-metadata/)) not only on the public entrypoints (`web-secure`, `matrix-federation`), but also on this new internal entrypoint."
msgstr ""

#: ../../../CHANGELOG.md:1282
msgid "Doing so, services can contact Traefik on this entrypoint's dedicated port (the URL defaults to `http://matrix-traefik:8008`) and reach the homeserver Client-Server API as they expect. Internally, Traefik takes care of the routing to the correct service."
msgstr ""

#: ../../../CHANGELOG.md:1284
msgid "We've also considered keeping it simple and having services talk to the homeserver over the public internet (e.g. `https://matrix.example.com`) thus reusing all existing Traefik routing labels. In this scenario, performance was incredibly poor (e.g. 70 rps, instead of 1400 rps) due to TLS and networking overhead. The need for fast internal communication (via the new internal non-TLS-enabled Traefik entrypoint) is definitely there. In our benchmarks, Traefik even proved more efficient than nginx at doing this: ~1200 rps for Traefik compared to ~900 rps for nginx (out of ~1400 rps when talking to the Synapse homeserver directly)."
msgstr ""

#: ../../../CHANGELOG.md:1286
msgid "Traefik serving this second purpose has a few downsides:"
msgstr ""

#: ../../../CHANGELOG.md:1288
msgid "Traefik becomes a runtime dependency for all homeserver-dependant container services"
msgstr ""

#: ../../../CHANGELOG.md:1289
msgid "all homeserver-dependant services now need to be connected to the `traefik` container network, even if they don't need public internet exposure"
msgstr ""

#: ../../../CHANGELOG.md:1291
msgid "Despite these downsides (which the playbook manages automatically), we believe it's still a good compromise given the amount of complexity it eliminates and the performance benefits it yields. One alternative we've [considered](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3045#issuecomment-1867327001) was adding a new intermediary service (e.g. `matrix-homeserver-proxy` powered by nginx), but this both had much higher complexity (one more component in the mix; duplication of effort to produce nginx-compatible route definitions for it) and slightly worse performance (see above)."
msgstr ""

#: ../../../CHANGELOG.md:1293
msgid "People running the default Traefik setup do not need to do anything to make Traefik take on this extra job. Your Traefik configuration will be updated automatically."
msgstr ""

#: ../../../CHANGELOG.md:1295
msgid "**People running their own Traefik reverse-proxy need to do [minor adjustments](#people-managing-their-own-traefik-instance-need-to-do-minor-changes)**, as described in the section below."
msgstr ""

#: ../../../CHANGELOG.md:1297
msgid "You may disable Traefik acting as an intermediary by explicitly setting `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_enabled` to `false`. Services would then be configured to talk to the homeserver directly, giving you a slight performance boost and a \"simpler\" Traefik setup. However, such a configuration is less tested and will cause troubles, especially if you enable more services (like `matrix-media-repo`, etc.) in the future. As such, it's not recommended."
msgstr ""

#: ../../../CHANGELOG.md:1299
msgid "People managing their own Traefik instance need to do minor changes"
msgstr ""

#: ../../../CHANGELOG.md:1301
msgid "This section is for people [managing their own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you). Those [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) don't need to do any changes."
msgstr ""

#: ../../../CHANGELOG.md:1303
msgid "Because [Traefik has an extra job now](#traefik-now-has-an-extra-job), you need to adapt your configuration to add the additional `matrix-internal-matrix-client-api` entrypoint and potentially configure the `matrix_playbook_reverse_proxy_container_network` variable. See the [Traefik managed by you](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you) documentation section for more details."
msgstr ""

#: ../../../CHANGELOG.md:1305
msgid "People fronting Traefik with another reverse proxy need to do minor changes"
msgstr ""

#: ../../../CHANGELOG.md:1307
msgid "We've already previously mentioned that you need to do some minor [configuration changes related to `traefik_additional_entrypoints_auto`](#backward-compatibility-configuration-changes-required-for-people-fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)."
msgstr ""

#: ../../../CHANGELOG.md:1309
msgid "If you don't do these changes (switching from `traefik_additional_entrypoints_auto` to multiple other variables), your Traefik setup will not automatically receive the new `matrix-internal-matrix-client-api` Traefik entrypoint and Traefik would not be able to perform [its new duty of connecting addons with the homeserver](#traefik-now-has-an-extra-job)."
msgstr ""

#: ../../../CHANGELOG.md:1311
msgid "Supported reverse proxy types are now fewer"
msgstr ""

#: ../../../CHANGELOG.md:1313
msgid "This section is for people using a more custom reverse-proxy setup — those having `matrix_playbook_reverse_proxy_type` set to a value different than the default (`playbook-managed-traefik`)."
msgstr ""

#: ../../../CHANGELOG.md:1315
msgid "Previously, we allowed you to set `matrix_playbook_reverse_proxy_type` to 7 different values to accommodate various reverse-proxy setups."
msgstr ""

#: ../../../CHANGELOG.md:1317
msgid "The complexity of this is too high, so we only support 3 values right now:"
msgstr ""

#: ../../../CHANGELOG.md:1319
msgid "(the default) `playbook-managed-traefik`, when you're [using Traefik managed by the playbook](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook)"
msgstr ""

#: ../../../CHANGELOG.md:1320
msgid "`other-traefik-container`, when you're [managing your own Traefik instance on the Matrix server](./docs/configuring-playbook-own-webserver.md#traefik-managed-by-you)"
msgstr ""

#: ../../../CHANGELOG.md:1321
msgid "`none`, when you wish for [no reverse-proxy integration to be done at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all)"
msgstr ""

#: ../../../CHANGELOG.md:1323
msgid "The `none` value is not recommended and may not work adequately, due to lack of testing and [Traefik's new responsibilities](#traefik-now-has-an-extra-job) in our setup."
msgstr ""

#: ../../../CHANGELOG.md:1325
msgid "**Previous values that are now gone** (and the playbook would report them as such) are: `playbook-managed-nginx`, `other-nginx-non-container`, `other-on-same-host` and `other-on-another-host`."
msgstr ""

#: ../../../CHANGELOG.md:1327
msgid "If you were using these values as a way to stay away from Traefik, you now have 2 options:"
msgstr ""

#: ../../../CHANGELOG.md:1329
msgid "(recommended) [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)"
msgstr ""

#: ../../../CHANGELOG.md:1330
msgid "(not recommended) [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all) and reverse-proxying to each and every service manually"
msgstr ""

#: ../../../CHANGELOG.md:1332
msgid "Container networking changes"
msgstr ""

#: ../../../CHANGELOG.md:1334
msgid "Now that `matrix-nginx-proxy` is not in the mix, it became easier to clear out some other long-overdue technical debt."
msgstr ""

#: ../../../CHANGELOG.md:1336
msgid "Since the very beginning of this playbook, all playbook services were connected to a single (shared) `matrix` container network. Later on, some additional container networks appeared, but most services (database, etc.) still remained in the `matrix` container network. This meant that any random container in this network could try to talk (or attack) the Postgres database operating in the same `matrix` network."
msgstr ""

#: ../../../CHANGELOG.md:1338
msgid "Moving components (especially the database) into other container networks was difficult — it required changes to many other components to ensure correct connectivity."
msgstr ""

#: ../../../CHANGELOG.md:1340
msgid "All the hard work has been done now. We've added much more isolation between services by splitting them up into separate networks (`matrix-homeserver`, `matrix-addons`, `matrix-monitoring`, `matrix-exim-relay`, etc). Components are only joined to the networks they need and should (for the most part) not be able to access unrelated things."
msgstr ""

#: ../../../CHANGELOG.md:1342
msgid "Carrying out these container networking changes necessitated modifying many components, so **we're hoping not too many bugs were introduced in the process**."
msgstr ""

#: ../../../CHANGELOG.md:1344
msgid "We've refrained from creating too many container networks (e.g. one for each component), to avoid exhausting Docker's default network pool and contaminating the container networks list too much."
msgstr ""

#: ../../../CHANGELOG.md:1346
msgid "Metrics exposure changes"
msgstr ""

#: ../../../CHANGELOG.md:1348
msgid "This section is for people who are exposing monitoring metrics publicly, to be consumed by an external Prometheus server."
msgstr ""

#: ../../../CHANGELOG.md:1350
msgid "Previously, `matrix-nginx-proxy` was potentially password-protecting all `/metrics/*` endpoints with the same username and password (specified as plain-text in your `vars.yml` configuration file)."
msgstr ""

#: ../../../CHANGELOG.md:1352
msgid "From now on, there are new variables for doing roughly the same — `matrix_metrics_exposure_enabled`, `matrix_metrics_exposure_http_basic_auth_enabled` and `matrix_metrics_exposure_http_basic_auth_users`. See the [Prometheus & Grafana](./docs/configuring-playbook-prometheus-grafana.md) docs page for details."
msgstr ""

#: ../../../CHANGELOG.md:1354
msgid "`matrix-nginx-proxy` is not acting as a \"global guardian\" anymore. Now, each role provides its own metrics exposure and protection by registering with Traefik. Nevertheless, all roles are wired (via playbook configuration in `group_vars/matrix_servers`) to obey these new `matrix_metrics_exposure_*` variables. We've eliminated the centralization, but have kept the ease of use. Now, you can also do per-service password-protection (with different credentials), should you need to do that for some reason."
msgstr ""

#: ../../../CHANGELOG.md:1356
msgid "The playbook will tell you about all variables that you need to migrate during runtime, so rest assured — you shouldn't be able to miss anything!"
msgstr ""

#: ../../../CHANGELOG.md:1358
msgid "Matrix static files"
msgstr ""

#: ../../../CHANGELOG.md:1360
msgid "As mentioned above, static files like `/.well-known/matrix/*` or your base domain's `index.html` file (when [serving the base domain via the Matrix server](./docs/configuring-playbook-base-domain-serving.md) was enabled) were generated by the `matrix-base` or `matrix-nginx-proxy` roles and put into a `/matrix/static-files` directory on the server. Then `matrix-nginx-proxy` was serving all these static files."
msgstr ""

#: ../../../CHANGELOG.md:1362
msgid "All of this has been extracted into a new `matrix-static-files` Ansible role that's part of the playbook. The static files generated by this new role still live at roughly the same place (`/matrix/static-files/public` directory, instead of `/matrix/static-files`)."
msgstr ""

#: ../../../CHANGELOG.md:1364
msgid "The playbook will migrate and update the `/.well-known/matrix/*` files automatically but not your own files in `nginx-proxy/data/matrix-domain/` you will need to back these up yourself otherwise they will be lost. It will also warn you about usage of old variable names, so you can adapt to the new names."
msgstr ""

#: ../../../CHANGELOG.md:1366
msgid "A note on performance"
msgstr ""

#: ../../../CHANGELOG.md:1368
msgid "Some of you have been voicing their concerns (for a long time) about Traefik being too slow and nginx being better."
msgstr ""

#: ../../../CHANGELOG.md:1370
msgid "Some online benchmarks support this by demonstrating slightly higher SSL-termination performance in favor of nginx. The upcoming Traefik v3 release is [said to](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) improve Traefik's SSL performance by some 20%, but that still ends up being somewhat slower than nginx."
msgstr ""

#: ../../../CHANGELOG.md:1372
msgid "We believe that using Traefik provides way too many benefits to worry about this minor performance impairment."
msgstr ""

#: ../../../CHANGELOG.md:1374
msgid "The heaviest part of running a Matrix homeserver is all the slow and potentially inefficient things the homeserver (e.g. Synapse) is doing. These things affect performance much more than whatever reverse-proxy is in front. Your server will die the same way by joining the famously large **Matrix HQ** room, no matter which reverse-proxy you put in front."
msgstr ""

#: ../../../CHANGELOG.md:1376
msgid "Even our previously mentioned benchmarks (yielding ~1300 rps) are synthetic — hitting a useless `/_matrix/client/versions` endpoint. Real-use does much more than this."
msgstr ""

#: ../../../CHANGELOG.md:1378
msgid "If this is still not convincing enough for you and you want the best possible performance, consider [Fronting Traefik with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) (thus having the slowest part — SSL termination — happen elsewhere) or [Using no reverse-proxy on the Matrix side at all](./docs/configuring-playbook-own-webserver.md#using-no-reverse-proxy-on-the-matrix-side-at-all). The playbook will not get in your way of doing that, but these options may make your life much harder. Performance comes at a cost, after all."
msgstr ""

#: ../../../CHANGELOG.md:1380
msgid "Migration procedure"
msgstr ""

#: ../../../CHANGELOG.md:1382
msgid "The updated playbook will automatically perform some migration tasks for you:"
msgstr ""

#: ../../../CHANGELOG.md:1384
msgid "It will stop and remove the `matrix-nginx-proxy` systemd service and container for you. This behavior cannot be disabled. It's essential that this service gets stopped, because it remaining running (and having container labels) may confuse Traefik as to where to route HTTP requests."
msgstr ""

#: ../../../CHANGELOG.md:1386
msgid "It will delete the `/matrix/nginx-proxy` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled: false` to your `vars.yml` configuration file. Doing so will leave its data around."
msgstr ""

#: ../../../CHANGELOG.md:1388
msgid "It will delete the `/matrix/ssl` directory and all files within it. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_uninstallation_enabled: false` to your `vars.yml` configuration file. If you have some important certificates there for some reason, take them out or temporarily disable removal of these files until you do."
msgstr ""

#: ../../../CHANGELOG.md:1390
msgid "It will tell you about all variables (`matrix_nginx_proxy_*` and many others — even from other roles) that have changed during this large nginx-elimination upgrade. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_elimination_variable_transition_checks_enabled: false` to your `vars.yml` configuration file."
msgstr ""

#: ../../../CHANGELOG.md:1392
msgid "It will tell you about any leftover `matrix_nginx_proxy_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_nginx_proxy_leftover_variable_validation_checks_enabled: false` to your `vars.yml` configuration file."
msgstr ""

#: ../../../CHANGELOG.md:1394
msgid "It will tell you about any leftover `matrix_ssl_*` variables in your `vars.yml` file. You can disable this behavior by adding `matrix_playbook_migration_matrix_ssl_leftover_variable_checks_enabled: false` to your `vars.yml` configuration file."
msgstr ""

#: ../../../CHANGELOG.md:1396
msgid "We don't recommend changing these variables and suppressing warnings, unless you know what you're doing."
msgstr ""

#: ../../../CHANGELOG.md:1398
msgid "**Most people should just upgrade as per-normal**, bearing in mind that a lot has changed and some issues may arise. The playbook would guide you through renamed variables automatically."
msgstr ""

#: ../../../CHANGELOG.md:1400
msgid "Conclusion"
msgstr ""

#: ../../../CHANGELOG.md:1402
msgid "Thousands of lines of code were changed across hundreds of files. All addons (bridges, bots) were rewired in terms of container networking and in terms of how they reach the homeserver."
msgstr ""

#: ../../../CHANGELOG.md:1404
msgid "I don't actively use all the ~100 components offered by the playbook (no one does), nor do I operate servers exercising all edge-cases. As such, issues may arise. Please have patience and report (or try to fix) these issues!"
msgstr ""

#: ../../../CHANGELOG.md:1407
msgid "2024-01-14"
msgstr ""

#: ../../../CHANGELOG.md:1409
msgid "(Backward Compatibility) Configuration changes required for people fronting the integrated reverse-proxy webserver with another reverse-proxy"
msgstr ""

#: ../../../CHANGELOG.md:1411
msgid "If you're on the default setup (using the Traefik reverse-proxy as installed by the playbook), you don't need to do anything."
msgstr ""

#: ../../../CHANGELOG.md:1413
msgid "People who are [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy), as per our previous instructions are redefining `traefik_additional_entrypoints_auto` in their `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:1415
msgid "Such a full variable redefinion is intrustive, because it prevents the playbook from injecting additional entrypoints into the Traefik webserver. In the future, the playbook may have a need to do so."
msgstr ""

#: ../../../CHANGELOG.md:1417
msgid "For this reason, we no longer recommend completely redefining `traefik_additional_entrypoints_auto`. The playbook now defines [various `matrix_playbook_public_matrix_federation_api_traefik_entrypoint_*` variables in the `defaults/main.yml` file](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/roles/custom/matrix-base/defaults/main.yml) of the `matrix-base` role which can be used as a safer alternative to `traefik_additional_entrypoints_auto`."
msgstr ""

#: ../../../CHANGELOG.md:1419
msgid "Adapt your configuration as seen below:"
msgstr ""

#: ../../../CHANGELOG.md:1452
msgid "Also, feel free to read the [Fronting the integrated Traefik reverse-proxy webserver with another reverse-proxy](./docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy) documentation section again for additional details."
msgstr ""

#: ../../../CHANGELOG.md:1455
msgid "2024-01-13"
msgstr ""

#: ../../../CHANGELOG.md:1457
msgid "matrix-reminder-bot update with more secure (backward-incompatible) default settings"
msgstr ""

#: ../../../CHANGELOG.md:1459
msgid "**TLDR**: your updated (to [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0)) [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) is now more secure. By default, like other bridges/bots managed by the playbook, it will only provide its services to users of your own server (not to anyone, even across the Matrix Federation). If that's fine, there's nothing you need to do."
msgstr ""

#: ../../../CHANGELOG.md:1461
msgid "Maintenance of [matrix-reminder-bot](./docs/configuring-playbook-bot-matrix-reminder-bot.md) has been picked up by [Kim Brose](https://github.com/HarHarLinks) and [@svierne](https://github.com/svierne)."
msgstr ""

#: ../../../CHANGELOG.md:1463
msgid "Thanks to them, a new [v0.3.0](https://github.com/anoadragon453/matrix-reminder-bot/releases/tag/v0.3.0) release is out. The new version is now available for the ARM64 architecture, so playbook users on this architecture will no longer need to wait for [self-building](./docs/self-building.md) to happen."
msgstr ""

#: ../../../CHANGELOG.md:1465
msgid "The new version also comes with new `allowlist` and `blocklist` settings, which make it possible to restrict who can use the bot. Previously anyone, even across the Matrix Federation could talk to it and schedule reminders."
msgstr ""

#: ../../../CHANGELOG.md:1467
msgid "The playbook defaults all bridges and bots (where possible) to only be exposed to users of the current homeserver, not users across federation. Thanks to the new version of this bot making such a restriction possible, we're now making use of it. The playbook (via its `group_vars/matrix_servers` file) automatically enables the `allowlist` (`matrix_bot_matrix_reminder_bot_allowlist_enabled: true`) and configures it in such a way (`matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) so as to restrict the bot to your homeserver's users."
msgstr ""

#: ../../../CHANGELOG.md:1469
msgid "If you need **to undo or tweak these security improvements**, you can change your `vars.yml` file to:"
msgstr ""

#: ../../../CHANGELOG.md:1471
msgid "disable the allowlist (`matrix_bot_matrix_reminder_bot_allowlist_enabled: false`), making the bot allow usage by anyone, anywhere"
msgstr ""

#: ../../../CHANGELOG.md:1473
msgid "inject additional allowed servers or users by adding **additional** (on top of the default allowlist in `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`) custom regexes in the `matrix_bot_matrix_reminder_bot_allowlist_regexes_custom` list variable (see the [syntax reference](https://github.com/anoadragon453/matrix-reminder-bot/blob/1e910c0aa3469d280d93ee7e6c6d577227a3460c/sample.config.yaml#L43-L49))"
msgstr ""

#: ../../../CHANGELOG.md:1475
msgid "override the default allowlist (in the `group_vars/matrix_servers` file) by redefining `matrix_bot_matrix_reminder_bot_allowlist_regexes_auto`"
msgstr ""

#: ../../../CHANGELOG.md:1478
msgid "2024-01-05"
msgstr ""

#: ../../../CHANGELOG.md:1480
msgid "matrix-mailer has been replaced by the exim-relay external role"
msgstr ""

#: ../../../CHANGELOG.md:1482 ../../../CHANGELOG.md:2120
msgid "We're continuing our effort to make [the playbook use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things), so as to avoid doing everything ourselves and to facilitate code re-use."
msgstr ""

#: ../../../CHANGELOG.md:1484
msgid "The `matrix-mailer` role has been moved to its own repository ([ansible-role-exim-relay](https://github.com/mother-of-all-self-hosting/ansible-role-exim-relay)) that this playbook now includes."
msgstr ""

#: ../../../CHANGELOG.md:1486
msgid "To migrate:"
msgstr ""

#: ../../../CHANGELOG.md:1488
msgid "pull the playbook changes, as usual"
msgstr ""

#: ../../../CHANGELOG.md:1489
msgid "update your roles (run `just roles` or `make roles`)"
msgstr ""

#: ../../../CHANGELOG.md:1490
msgid "update your `vars.yml`, renaming `matrix_mailer`-prefixed variables to `exim_relay`-prefixed ones (e.g. `matrix_mailer_sender_address` -> `exim_relay_sender_address`). If you find none, it means you're using the default configuration and your migraiton job is even simpler."
msgstr ""

#: ../../../CHANGELOG.md:1491
msgid "re-run the playbook (`install-all` or `setup-all`)"
msgstr ""

#: ../../../CHANGELOG.md:1493
msgid "The playbook will take care of stopping the old `matrix-mailer` systemd service, relocating its directory and restarting it under the new name (`matrix-exim-relay.service`)."
msgstr ""

#: ../../../CHANGELOG.md:1496
msgid "2024-01-02"
msgstr ""

#: ../../../CHANGELOG.md:1498
msgid "mautrix-signal now powered by the new Go-based bridge"
msgstr ""

#: ../../../CHANGELOG.md:1500
msgid "The old Python-based [mautrix-signal](https://github.com/mautrix/signal) bridge is no longer maintained upstream. It's also known to have issues linking new devices."
msgstr ""

#: ../../../CHANGELOG.md:1502
msgid "It seems like the path forward is to switch to the new mautrix-signal bridge written in Golang, which we did thanks to [PR #3031](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041) by [Pierre 'McFly' Marty](https://github.com/pm-McFly)."
msgstr ""

#: ../../../CHANGELOG.md:1504
msgid "The playbook should **automatically migrate your mautrix-signal installation to the new bridge code**. You will **need to relink all your devices** to continue your bridged conversations."
msgstr ""

#: ../../../CHANGELOG.md:1507
msgid "2023-10-23"
msgstr ""

#: ../../../CHANGELOG.md:1509
msgid "Enabling `allow_public_rooms_over_federation` by default for Synapse"
msgstr ""

#: ../../../CHANGELOG.md:1511
msgid "**TDLR**: if your Matrix server is federating (which it mostly likely is, unless you've [disabled federation](docs/configuring-playbook-federation.md#disabling-federation)), your public rooms will not only be joinable across federation (as they've always been), but from now on will be discoverable (made available as a list across federation). We're changing this by flipping the value for Synapse's `allow_public_rooms_over_federation` setting to `true`, going against the upstream default. Servers that disable federation are not affected. Servers that have public rooms which are not published to the room directory are also not affected."
msgstr ""

#: ../../../CHANGELOG.md:1513
msgid "We generally try to stick to the default configuration for Synapse (and all other components), unless these defaults seem wrong or harmful. One such previous case from a few months ago was us [Enabling `forget_rooms_on_leave` by default for Synapse](#enabling-forget_rooms_on_leave-by-default-for-synapse) — the default value was making Synapse more wasteful of resources by default."
msgstr ""

#: ../../../CHANGELOG.md:1515
msgid "Today, we're going against upstream defaults again and flipping the `allow_public_rooms_over_federation` configuration option to `true`. This way, public rooms on your server will be made discoverable by others via federation, using the [`GET /_matrix/federation/v1/publicRooms` of the Server-Server API](https://spec.matrix.org/v1.8/server-server-api/#get_matrixfederationv1publicrooms)."
msgstr ""

#: ../../../CHANGELOG.md:1517
msgid "The upstream Synapse default is `false` (disabled), so that public rooms are not exposed for other servers to discover (learn about their existence). Nevertheless, even if these rooms are not exposed (listed) for discovery, they are **still joinable** by anyone who knows their address or is invited to the room by an existing member."
msgstr ""

#: ../../../CHANGELOG.md:1519
msgid "**We go against the upstream default** in an effort to make Matrix federation more useful — a public room should be globally public — not only joinable, but also discoverable across federation."
msgstr ""

#: ../../../CHANGELOG.md:1521
msgid "The **historical reasoning** behind this change is as follows:"
msgstr ""

#: ../../../CHANGELOG.md:1523
msgid "`allow_public_rooms_over_federation` seems to have been enabled by default for Synapse until v1.7.0 (~2019), just like we believe it should be for a globally-federating network — rooms should be joinable and discoverable across federation."
msgstr ""

#: ../../../CHANGELOG.md:1525
msgid "In Synapse v1.7.0 (~2019), `allow_public_rooms_over_federation` [got disabled](https://github.com/element-hq/synapse/blob/e9069c9f919685606506f04527332e83fbfa44d9/docs/upgrade.md?plain=1#L1877-L1891) by default in a [security-by-obscurity](https://en.wikipedia.org/wiki/Security_through_obscurity) workaround for misconfigured servers. See the [Avoiding unwelcome visitors on private Matrix servers](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers/) `matrix.org` blog article. We believe that people wishing for a truly private server, should [disable federation](docs/configuring-playbook-federation.md#disabling-federation), instead of having a fully-federating server and trying to hide its public rooms. We also provide other workarounds below. We (and the Synapse team, obviously) believe that Matrix should federate by default, so federating the public room list seems to make sense."
msgstr ""

#: ../../../CHANGELOG.md:1527
#, python-format
msgid "[etke.cc](https://etke.cc/) has been developing the free-software [Matrix Rooms Search](https://github.com/etkecc/mrs) project for a while now. One public (demo) instance of it is hosted at [matrixrooms.info](https://matrixrooms.info/). This search engine tries to go through the Matrix federation and discover & index public rooms to allow people to find them. We believe it's vital for Matrix (and any chat or social network for that matter) to be more discoverable, so that people can find communities and others to talk to. Today (on 23rd of October 2023), `matrixrooms.info` is indexing `23066` Matrix servers. Of these, only `1567` servers (7%) are making their public rooms discoverable. Who knows what wonderful communities and rooms are available on these 93% other Matrix servers that are supposedly federating, but are still gate-keeping their public room list. Indubitably, many of these servers are hosted via matrix-docker-ansible-deploy, so we feel partially responsible for making Matrix federation less useful."
msgstr ""

#: ../../../CHANGELOG.md:1529
msgid "Here are **actions you may wish to take** as a result of this change:"
msgstr ""

#: ../../../CHANGELOG.md:1531
msgid "(recommended) embrace the new default. If your Matrix server is federating, your public rooms have always been joinable across federation anyway. Exposing the list of public rooms does no harm and more-so does good by contributing to the usefulness of the Matrix network by facilitating room discovery."
msgstr ""

#: ../../../CHANGELOG.md:1533
msgid "(switch to a better way of doings things on your semi-private server) The problem that the Synapse team appears to have solved by flipping the `allow_public_rooms_over_federation` default in Synapse v1.7.0 seems to for \"mostly private\" servers, which federate and have a bunch of rooms made public (and published in their room directory) in an effort to allow people on the same homeserver to easily find and join them (self-onboarding). With the introduction of Matrix Spaces, you can reorganize your flow around spaces — you can auto-join your users to a Matrix Space (via Synapse's `auto_join_rooms` setting — controlled by our `matrix_synapse_auto_join_rooms` variable), then add a bunch of rooms to the space and make them joinable by people belonging to the space. That is to say, do not make rooms public and do not publish them to the room directory unless they are really public. Instead, use other mechanisms for semi-public rooms or private rooms. One alternative is to stick to what you're doing (public rooms published to your rooms directory) but having a `m.federate: true` flag set during creation (clients like Element Web have a nice UI checkbox for this) to explicitly disable federation for them."
msgstr ""

#: ../../../CHANGELOG.md:1535
msgid "(keeping the old behavior) if you wish to keep doing what you're doing (keeping your Matrix server federating, but hiding its public rooms list), add `matrix_synapse_allow_public_rooms_over_federation: false` to your `vars.yml` configuration. This restores the old behavior. You may also consider [disabling federation](docs/configuring-playbook-federation.md#disabling-federation) completely instead of relying on security-by-obscurity measures."
msgstr ""

#: ../../../CHANGELOG.md:1538
msgid "2023-10-18"
msgstr ""

#: ../../../CHANGELOG.md:1540
msgid "Postgres parameters are automatically tuned now"
msgstr ""

#: ../../../CHANGELOG.md:1542
msgid "The playbook has provided some hints about [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) for quite a while now."
msgstr ""

#: ../../../CHANGELOG.md:1544
msgid "From now on, the [Postgres Ansible role](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) automatically tunes your Postgres configuration with the same [calculation logic](https://github.com/le0pard/pgtune/blob/master/src/features/configuration/configurationSlice.js) that powers https://pgtune.leopard.in.ua/."
msgstr ""

#: ../../../CHANGELOG.md:1546
msgid "Our [Tuning PostgreSQL](docs/maintenance-postgres.md#tuning-postgresql) documentation page has details about how you can turn auto-tuning off or adjust the automatically-determined Postgres configuration parameters manually."
msgstr ""

#: ../../../CHANGELOG.md:1548
msgid "People who [enable load-balancing with Synapse workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) no longer need to increase the maximum number of Postgres connections manually (previously done via `postgres_process_extra_arguments`). There's a new variable (`postgres_max_connections`) for controlling this number and the playbook automatically raises its value from `200` to `500` for setups which enable workers."
msgstr ""

#: ../../../CHANGELOG.md:1551
msgid "2023-08-31"
msgstr ""

#: ../../../CHANGELOG.md:1553
msgid "SchildiChat Web support"
msgstr ""

#: ../../../CHANGELOG.md:1555
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) client."
msgstr ""

#: ../../../CHANGELOG.md:1557
msgid "See our [Configuring SchildiChat Web](docs/configuring-playbook-client-schildichat-web.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:1560
msgid "2023-08-23"
msgstr ""

#: ../../../CHANGELOG.md:1562
msgid "mautrix-wsproxy support"
msgstr ""

#: ../../../CHANGELOG.md:1564
msgid "Thanks to [Johan Swetzén](https://github.com/jswetzen)'s efforts (who finished what was started by [James Reilly](https://github.com/hanthor) and [Shreyas Ajjarapu](https://github.com/shreyasajj)), the playbook now supports bridging to Android SMS and Apple iMessage via the [mautrix-wsproxy](https://github.com/mautrix/wsproxy) service (in combination with a [mautrix-imessage](https://github.com/mautrix/imessage) bridge running on your Mac or Android phone)."
msgstr ""

#: ../../../CHANGELOG.md:1566
msgid "See our [Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage](docs/configuring-playbook-bridge-mautrix-wsproxy.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:1569
msgid "2023-07-24"
msgstr ""

#: ../../../CHANGELOG.md:1571
msgid "matrix-registration-bot usage changed"
msgstr ""

#: ../../../CHANGELOG.md:1573
msgid "[matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) got some updates and now supports password-only-based login. Therefore the bot now doesn't need any manual configuration except setting a password in your `vars.yml`. The bot will be registered as admin and access tokens will be obtained automatically by the bot."
msgstr ""

#: ../../../CHANGELOG.md:1575
msgid "**For existing users** You need to set `matrix_bot_matrix_registration_bot_bot_password` if you previously only used `matrix_bot_matrix_registration_bot_bot_access_token`. Please also remove the following deprecated settings"
msgstr ""

#: ../../../CHANGELOG.md:1577
msgid "`matrix_bot_matrix_registration_bot_bot_access_token`"
msgstr ""

#: ../../../CHANGELOG.md:1578
msgid "`matrix_bot_matrix_registration_bot_api_token`"
msgstr ""

#: ../../../CHANGELOG.md:1581
msgid "2023-07-21"
msgstr ""

#: ../../../CHANGELOG.md:1583
msgid "mautrix-gmessages support"
msgstr ""

#: ../../../CHANGELOG.md:1585
msgid "Thanks to [Shreyas Ajjarapu](https://github.com/shreyasajj)'s efforts, the playbook now supports bridging to [Google Messages](https://messages.google.com/) via the [mautrix-gmessages](https://github.com/mautrix/gmessages) bridge. See our [Setting up Mautrix Google Messages bridging](docs/configuring-playbook-bridge-mautrix-gmessages.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:1588
msgid "2023-07-17"
msgstr ""

#: ../../../CHANGELOG.md:1590
msgid "matrix-media-repo support"
msgstr ""

#: ../../../CHANGELOG.md:1592
msgid "Thanks to [Michael Hollister](https://github.com/Michael-Hollister) from [FUTO](https://www.futo.org/), the creators of the [Circles app](https://circu.li/), the playbook can now set up [matrix-media-repo](https://github.com/turt2live/matrix-media-repo) — an alternative way to store homeserver media files, powered by a homeserver-independent implementation which supports S3 storage, IPFS, deduplication and other advanced features."
msgstr ""

#: ../../../CHANGELOG.md:1594
msgid "To learn more see our [Storing Matrix media files using matrix-media-repo](docs/configuring-playbook-matrix-media-repo.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:1597
msgid "2023-05-25"
msgstr ""

#: ../../../CHANGELOG.md:1599
msgid "Enabling `forget_rooms_on_leave` by default for Synapse"
msgstr ""

#: ../../../CHANGELOG.md:1601
msgid "With the [Synapse v1.84.0 update](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698), we've also **changed the default value** of the `forget_rooms_on_leave` setting of Synapse to a value of `true`. This way, **when you leave a room, Synapse will now forget it automatically**."
msgstr ""

#: ../../../CHANGELOG.md:1603
msgid "The upstream Synapse default is `false` (disabled), so that you must forget rooms manually after leaving."
msgstr ""

#: ../../../CHANGELOG.md:1605
msgid "**We go against the upstream default** ([somewhat controversially](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700)) in an effort to make Synapse leaner and potentially do what we believe most users would expect their homeserver to be doing."
msgstr ""

#: ../../../CHANGELOG.md:1607
msgid "If you'd like to go back to the old behavior, add the following to your configuration: `matrix_synapse_forget_rooms_on_leave: false`"
msgstr ""

#: ../../../CHANGELOG.md:1610
msgid "2023-04-03"
msgstr ""

#: ../../../CHANGELOG.md:1612
msgid "The matrix-jitsi role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1614
msgid "**TLDR**: the `matrix-jitsi` role is now included from the [ansible-role-jitsi](https://github.com/mother-of-all-self-hosting/ansible-role-jitsi) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1616
msgid "The `matrix-jitsi` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Jitsi stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so."
msgstr ""

#: ../../../CHANGELOG.md:1618
msgid "As part of the extraction process of this role out of the Matrix playbook, a few other things improved:"
msgstr ""

#: ../../../CHANGELOG.md:1620
msgid "**native Traefik support** has been added"
msgstr ""

#: ../../../CHANGELOG.md:1621
msgid "**support for hosting under a subpath** has been added, although it suffers from a few minor issues listed [here](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md#url)"
msgstr ""

#: ../../../CHANGELOG.md:1623
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Jitsi or not."
msgstr ""

#: ../../../CHANGELOG.md:1625
msgid "If you're making use of Jitsi via this playbook, you will need to update variable references in your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:1627
msgid "`matrix_jitsi_*_docker_image_` -> `matrix_jitsi_*_container_image_`"
msgstr ""

#: ../../../CHANGELOG.md:1628
msgid "`matrix_jitsi_` -> `jitsi_`"
msgstr ""

#: ../../../CHANGELOG.md:1629 ../../../CHANGELOG.md:1656
msgid "some other internal variables have changed, but the playbook will tell you about them"
msgstr ""

#: ../../../CHANGELOG.md:1631
msgid "2023-03-22"
msgstr ""

#: ../../../CHANGELOG.md:1633
msgid "ntfy Web App is disabled by default"
msgstr ""

#: ../../../CHANGELOG.md:1635
msgid "ntfy provides a web app, which is now disabled by default, because it may be unknown to and unused by most users of this playbook. You can enable it by setting `ntfy_web_root: \"app\"` (see [ntfy documentation](docs/configuring-playbook-ntfy.md))."
msgstr ""

#: ../../../CHANGELOG.md:1637
msgid "This change was already applied a while before this entry, but as some users were reporting the missing web app, this entry was added (see [#2529](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2529))."
msgstr ""

#: ../../../CHANGELOG.md:1640
msgid "2023-03-21"
msgstr ""

#: ../../../CHANGELOG.md:1642
msgid "The matrix-prometheus role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1644
msgid "**TLDR**: the `matrix-prometheus` role is now included from the [ansible-role-prometheus](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus) repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook). Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1646
msgid "The `matrix-prometheus` role has been relocated in its own repository, part of the [MASH playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) project — an Ansible playbook for self-hosting [a growing list of FOSS software](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md). If hosting a Prometheus stack on the Matrix server itself did not stand right with you or you always wanted to host most stuff, you can now use this new playbook to do so."
msgstr ""

#: ../../../CHANGELOG.md:1648
msgid "Extracting the Prometheus role out of this Matrix playbook required huge internal refactoring to the way the Prometheus configuration (scraping jobs) is generated. If you notice any breakage after upgrading, let us know."
msgstr ""

#: ../../../CHANGELOG.md:1650
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Prometheus or not."
msgstr ""

#: ../../../CHANGELOG.md:1652
msgid "If you're making use of Prometheus via this playbook, you will need to update variable references in your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:1654
msgid "`matrix_prometheus_docker_image_` -> `matrix_prometheus_container_image_`"
msgstr ""

#: ../../../CHANGELOG.md:1655
msgid "`matrix_prometheus_` -> `prometheus_`"
msgstr ""

#: ../../../CHANGELOG.md:1659
msgid "2023-03-12"
msgstr ""

#: ../../../CHANGELOG.md:1661
msgid "synapse-auto-compressor support"
msgstr ""

#: ../../../CHANGELOG.md:1663
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state)'s `synapse_auto_compressor` tool to run periodically."
msgstr ""

#: ../../../CHANGELOG.md:1665
msgid "If enabled, `synapse_auto_compressor` runs on a schedule and compresses your Synapse database's `state_groups` table. It was possible to run `rust-synapse-compress-state` manually via the playbook even before — see [Compressing state with rust-synapse-compress-state](docs/maintenance-synapse.md#compressing-state-with-rust-synapse-compress-state). However, using `synapse_auto_compressor` is better, because:"
msgstr ""

#: ../../../CHANGELOG.md:1667
msgid "it runs on a more up-to-date version of `rust-synapse-compress-state`"
msgstr ""

#: ../../../CHANGELOG.md:1668
msgid "it's a set-it-and-forget-it tool that you can enable and never have to deal with manual compression anymore"
msgstr ""

#: ../../../CHANGELOG.md:1670
msgid "This tool needs to be enabled manually, for now. In the future, we're considering enabling it by default for all Synapse installations."
msgstr ""

#: ../../../CHANGELOG.md:1672
msgid "See our [Setting up synapse-auto-compressor](docs/configuring-playbook-synapse-auto-compressor.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:1675
msgid "2023-03-07"
msgstr ""

#: ../../../CHANGELOG.md:1677
msgid "Sliding Sync proxy (Element X) support"
msgstr ""

#: ../../../CHANGELOG.md:1679
msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn) for [getting it started](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515), [FSG-Cat](https://github.com/FSG-Cat) for fixing it up and me ([Slavi](https://github.com/spantaleev)) for polishing it up, the playbook can now install and configure the [sliding-sync proxy](https://github.com/matrix-org/sliding-sync)."
msgstr ""

#: ../../../CHANGELOG.md:1681
msgid "The upcoming Element X clients ([Element X iOS](https://github.com/vector-im/element-x-ios) and [Element X Android](https://github.com/vector-im/element-x-android)) require the `sliding-sync` proxy to do their job. **These clients are still in beta** (especially Element X Android, which requires manual compilation to get it working with a non-`matrix.org` homeseserver). Playbook users can now easily give these clients a try and help test them thanks to us having `sliding-sync` support."
msgstr ""

#: ../../../CHANGELOG.md:1683
msgid "To get started, see our [Setting up the Sliding Sync proxy](docs/configuring-playbook-sliding-sync-proxy.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:1686
msgid "2023-03-02"
msgstr ""

#: ../../../CHANGELOG.md:1688
msgid "The matrix-etherpad role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1690
msgid "**TLDR**: the `matrix-etherpad` role is now included from [another repository](https://github.com/mother-of-all-self-hosting/ansible-role-etherpad). Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1692
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're using Etherpad or not."
msgstr ""

#: ../../../CHANGELOG.md:1694
msgid "If you're making use of Etherpad via this playbook, you will need to update variable references in your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:1696
msgid "Rename `matrix_etherpad_public_endpoint` to `etherpad_path_prefix`"
msgstr ""

#: ../../../CHANGELOG.md:1698
msgid "Replace `matrix_etherpad_mode: dimension` with:"
msgstr ""

#: ../../../CHANGELOG.md:1699
msgid "for `matrix-nginx-proxy` users:"
msgstr ""

#: ../../../CHANGELOG.md:1700
msgid "`etherpad_nginx_proxy_dimension_integration_enabled: true`"
msgstr ""

#: ../../../CHANGELOG.md:1701
msgid "`etherpad_hostname: \"{{ matrix_server_fqn_dimension }}\"`"
msgstr ""

#: ../../../CHANGELOG.md:1702
msgid "for Traefik users:"
msgstr ""

#: ../../../CHANGELOG.md:1703
msgid "define your own `etherpad_hostname` and `etherpad_path_prefix` as you see fit"
msgstr ""

#: ../../../CHANGELOG.md:1705
msgid "Rename all other variables:"
msgstr ""

#: ../../../CHANGELOG.md:1706
msgid "`matrix_etherpad_docker_image_` -> `matrix_etherpad_container_image_`"
msgstr ""

#: ../../../CHANGELOG.md:1707
msgid "`matrix_etherpad_` -> `etherpad_`"
msgstr ""

#: ../../../CHANGELOG.md:1709
msgid "Along with this relocation, the new role also:"
msgstr ""

#: ../../../CHANGELOG.md:1711
msgid "supports [self-building](docs/self-building.md), so it should work on `arm32` and `arm64` architectures"
msgstr ""

#: ../../../CHANGELOG.md:1712
msgid "has native Traefik reverse-proxy support (Etherpad requests no longer go through `matrix-nginx-proxy` when using Traefik)"
msgstr ""

#: ../../../CHANGELOG.md:1715
msgid "2023-02-26"
msgstr ""

#: ../../../CHANGELOG.md:1717
msgid "Traefik is the default reverse-proxy now"
msgstr ""

#: ../../../CHANGELOG.md:1719
msgid "**TLDR**: new installations will now default to Traefik as their reverse-proxy. Existing users need to explicitly choose their reverse-proxy type. [Switching to Traefik](#how-do-i-switch-my-existing-setup-to-traefik) is strongly encouraged. `matrix-nginx-proxy` may break over time and will ultimately be removed."
msgstr ""

#: ../../../CHANGELOG.md:1721
msgid "As mentioned 2 weeks ago in [(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support](#backward-compatibility-reverse-proxy-configuration-changes-and-initial-traefik-support), the playbook is moving to Traefik as its default SSL-terminating reverse-proxy."
msgstr ""

#: ../../../CHANGELOG.md:1723
msgid "Until now, we've been doing the migration gradually and keeping full backward compatibility. New installations were defaulting to `matrix-nginx-proxy` (just like before), while existing installations were allowed to remain on `matrix-nginx-proxy` as well. This makes things very difficult for us, because we need to maintain and think about lots of different setups:"
msgstr ""

#: ../../../CHANGELOG.md:1725
msgid "Traefik managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:1726
msgid "Traefik managed by the user in another way"
msgstr ""

#: ../../../CHANGELOG.md:1727
msgid "another reverse-proxy on the same host (`127.0.0.1` port exposure)"
msgstr ""

#: ../../../CHANGELOG.md:1728
msgid "another reverse-proxy on another host (`0.0.0.0` port exposure)"
msgstr ""

#: ../../../CHANGELOG.md:1729
msgid "`matrix-nginx-proxy` — an `nginx` container managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:1730
msgid "`nginx` webserver operated by the user, running without a container on the same server"
msgstr ""

#: ../../../CHANGELOG.md:1732
msgid "Each change we do and each new feature that comes in needs to support all these different ways of reverse-proxying. Because `matrix-nginx-proxy` was the default and pretty much everyone was (and still is) using it, means that new PRs also come with `matrix-nginx-proxy` as their main focus and Traefik as an afterthought, which means we need to spend hours fixing up Traefik support."
msgstr ""

#: ../../../CHANGELOG.md:1734
msgid "We can't spend all this time maintaining so many different configurations anymore. Traefik support has been an option for 2 weeks and lots of people have already migrated their server and have tested things out. Traefik is what we use and preferentially test for."
msgstr ""

#: ../../../CHANGELOG.md:1736
msgid "It's time for the **next step in our migration process** to Traefik and elimination of `matrix-nginx-proxy`:"
msgstr ""

#: ../../../CHANGELOG.md:1738
msgid "Traefik is now the default reverse-proxy for new installations"
msgstr ""

#: ../../../CHANGELOG.md:1739
msgid "All existing users need to explicitly choose their reverse-proxy type by defining the `matrix_playbook_reverse_proxy_type` variable in their `vars.yml` configuration file. We strongly encourage existing users to [switch the Traefik](#how-to-switch-an-existing-setup-to-traefik), as the nginx setup is bound to become more and more broken over time until it's ultimately removed"
msgstr ""

#: ../../../CHANGELOG.md:1741
msgid "How do I switch my existing setup to Traefik?"
msgstr ""

#: ../../../CHANGELOG.md:1743
msgid "**For users who are on `matrix-nginx-proxy`** (the default reverse-proxy provided by the playbook), switching to Traefik can happen with a simple configuration change. Follow this section from 2 weeks ago: [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now)."
msgstr ""

#: ../../../CHANGELOG.md:1745
msgid "If you experience trouble:"
msgstr ""

#: ../../../CHANGELOG.md:1747
msgid "Follow [How do I remain on matrix-nginx-proxy?](#how-do-i-remain-on-matrix-nginx-proxy) to bring your server back online using the old reverse-proxy"
msgstr ""

#: ../../../CHANGELOG.md:1748
msgid "Ask for help in our [support channels](README.md#support)"
msgstr ""

#: ../../../CHANGELOG.md:1749
msgid "Try switching to Traefik again later"
msgstr ""

#: ../../../CHANGELOG.md:1751
msgid "**For users with a more special reverse-proxying setup** (another nginx server, Apache, Caddy, etc.), the migration may not be so smooth. Follow the [Using your own webserver](docs/configuring-playbook-own-webserver.md) guide. Ideally, your custom reverse-proxy will be configured in such a way that it **fronts the Traefik reverse-proxy** provided by the playbook. Other means of reverse-proxying are more fragile and may be deprecated in the future."
msgstr ""

#: ../../../CHANGELOG.md:1753
msgid "I already use my own Traefik server. How do I plug that in?"
msgstr ""

#: ../../../CHANGELOG.md:1755
msgid "See the [Traefik managed by the playbook](docs/configuring-playbook-own-webserver.md#traefik-managed-by-the-playbook) section."
msgstr ""

#: ../../../CHANGELOG.md:1757
msgid "Why is matrix-nginx-proxy used even after switching to Traefik?"
msgstr ""

#: ../../../CHANGELOG.md:1759
msgid "This playbook manages many different services. All these services were initially integrated with `matrix-nginx-proxy`."
msgstr ""

#: ../../../CHANGELOG.md:1761
msgid "While we migrate all these components to have native Traefik support, some still go through nginx internally (Traefik -> local `matrix-nginx-proxy` -> component). As time goes on, internal reliance on `matrix-nginx-proxy` will gradually decrease until it's completely removed."
msgstr ""

#: ../../../CHANGELOG.md:1763
msgid "How do I remain on matrix-nginx-proxy?"
msgstr ""

#: ../../../CHANGELOG.md:1765
msgid "Most new work and testing targets Traefik, so remaining on nginx is **not** \"the good old stable\" option, but rather the \"still available, but largely untested and likely to be broken very soon\" option."
msgstr ""

#: ../../../CHANGELOG.md:1767
msgid "To proceed regardless of this warning, add `matrix_playbook_reverse_proxy_type: playbook-managed-nginx` to your configuration."
msgstr ""

#: ../../../CHANGELOG.md:1769
msgid "At some point in the **near** future (days, or even weeks at most), we hope to completely get rid of `matrix-nginx-proxy` (or break it enough to make it unusable), so you **will soon be forced to migrate** anyway. Plan your migration accordingly."
msgstr ""

#: ../../../CHANGELOG.md:1771
msgid "How do I keep using my own other reverse-proxy?"
msgstr ""

#: ../../../CHANGELOG.md:1773
msgid "We recommend that you follow the guide for [Fronting the integrated reverse-proxy webserver with another reverse-proxy](docs/configuring-playbook-own-webserver.md#fronting-the-integrated-reverse-proxy-webserver-with-another-reverse-proxy)."
msgstr ""

#: ../../../CHANGELOG.md:1776
msgid "2023-02-25"
msgstr ""

#: ../../../CHANGELOG.md:1778
msgid "rageshake support"
msgstr ""

#: ../../../CHANGELOG.md:1780
msgid "Thanks to [Benjamin Kampmann](https://github.com/gnunicorn), the playbook can now install and configure the [rageshake](https://github.com/matrix-org/rageshake) bug report server."
msgstr ""

#: ../../../CHANGELOG.md:1782
msgid "Additional details are available in [Setting up rageshake](docs/configuring-playbook-rageshake.md)."
msgstr ""

#: ../../../CHANGELOG.md:1785
msgid "2023-02-17"
msgstr ""

#: ../../../CHANGELOG.md:1787
msgid "Synapse templates customization support"
msgstr ""

#: ../../../CHANGELOG.md:1789
msgid "The playbook can now help you customize Synapse's templates."
msgstr ""

#: ../../../CHANGELOG.md:1791
msgid "Additional details are available in the [Customizing templates](docs/configuring-playbook-synapse.md#customizing-templates) section of our Synapse documentation."
msgstr ""

#: ../../../CHANGELOG.md:1793
msgid "The matrix-redis role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1795
msgid "**TLDR**: the `matrix-redis` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1797
msgid "The `matrix-redis` role (which configures [Redis](https://redis.io/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-redis). This makes it possible to easily use it in other Ansible playbooks."
msgstr ""

#: ../../../CHANGELOG.md:1799
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_redis_` -> `redis_`)."
msgstr ""

#: ../../../CHANGELOG.md:1801
msgid "The matrix-ntfy role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1803
msgid "**TLDR**: the `matrix-ntfy` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1805
msgid "The `matrix-ntfy` role (which configures [Ntfy](https://ntfy.sh/)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-ntfy). This makes it possible to easily use it in other Ansible playbooks."
msgstr ""

#: ../../../CHANGELOG.md:1807
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Ntfy or not. If you're making use of Ntfy via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_ntfy_` -> `ntfy_`)."
msgstr ""

#: ../../../CHANGELOG.md:1810
msgid "2023-02-15"
msgstr ""

#: ../../../CHANGELOG.md:1812
msgid "The matrix-grafana role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1814
msgid "**TLDR**: the `matrix-grafana` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1816
msgid "The `matrix-grafana` role (which configures [Grafana](docs/configuring-playbook-prometheus-grafana.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-grafana). This makes it possible to easily use it in other Ansible playbooks."
msgstr ""

#: ../../../CHANGELOG.md:1818
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Grafana or not. If you're making use of Grafana via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_grafana_` -> `grafana_`)."
msgstr ""

#: ../../../CHANGELOG.md:1821
msgid "2023-02-13"
msgstr ""

#: ../../../CHANGELOG.md:1823
msgid "The matrix-backup-borg role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1825
msgid "**TLDR**: the `matrix-backup-borg` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1827
msgid "Thanks to [moan0s](https://github.com/moan0s), the `matrix-backup-borg` role (which configures [BorgBackup](docs/configuring-playbook-backup-borg.md)) has been extracted from the playbook and now lives in its [own repository](https://github.com/mother-of-all-self-hosting/ansible-role-backup_borg). This makes it possible to easily use it in other Ansible playbooks and will become part of [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) soon."
msgstr ""

#: ../../../CHANGELOG.md:1829
msgid "You need to **update your roles** (`just roles` or `make roles`) regardless of whether you're enabling Borg's backup functionality or not. If you're making use of BorgBackup via this playbook, you will need to update variable references in your `vars.yml` file (`matrix_backup_borg_` -> `backup_borg_`)."
msgstr ""

#: ../../../CHANGELOG.md:1832
msgid "2023-02-12"
msgstr ""

#: ../../../CHANGELOG.md:1834
msgid "(Backward Compatibility) Reverse-proxy configuration changes and initial Traefik support"
msgstr ""

#: ../../../CHANGELOG.md:1836
msgid "**TLDR**:"
msgstr ""

#: ../../../CHANGELOG.md:1838
msgid "there's a new `matrix_playbook_reverse_proxy_type` variable (see [roles/custom/matrix-base/defaults/main.yml](roles/custom/matrix-base/defaults/main.yml)), which lets you tell the playbook what reverse-proxy setup you'd like to have. This makes it easier for people who want to do reverse-proxying in other ways."
msgstr ""

#: ../../../CHANGELOG.md:1839
msgid "the default reverse-proxy (`matrix_playbook_reverse_proxy_type`) is still `playbook-managed-nginx` (via `matrix-nginx-proxy`), for now. **Existing `matrix-nginx-proxy` users should not observe any changes** and can stay on this for now."
msgstr ""

#: ../../../CHANGELOG.md:1840
msgid "**Users who use their [own other webserver](docs/configuring-playbook-own-webserver.md) (e.g. Apache, etc.) need to change** `matrix_playbook_reverse_proxy_type` to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`"
msgstr ""

#: ../../../CHANGELOG.md:1841
msgid "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:1842
msgid "**Traefik will become the default reverse-proxy in the near future**. `matrix-nginx-proxy` will either remain as an option, or be completely removed to simplify the playbook"
msgstr ""

#: ../../../CHANGELOG.md:1844
msgid "Motivation for redoing our reverse-proxy setup"
msgstr ""

#: ../../../CHANGELOG.md:1846
msgid "The playbook has supported various reverse-proxy setups for a long time. We have various configuration variables (`matrix_nginx_proxy_enabled`, various `_host_bind_port` variables, etc.) which allow the playbook to adapt to these different setups. The whole situation was messy though — hard to figure out and with lots of variables to toggle to make things work as you'd expect — huge **operational complexity**."
msgstr ""

#: ../../../CHANGELOG.md:1848
msgid "We love containers, proven by the fact that **everything** that this playbook manages runs in a container. Yet, we weren't allowing people to easily host other web-exposed containers alongside Matrix services on the same server. We were using `matrix-nginx-proxy` (our integrated [nginx](https://nginx.org/) server), which was handling web-exposure and SSL termination for our own services, but we **weren't helping you with all your other containers**."
msgstr ""

#: ../../../CHANGELOG.md:1850
msgid "People who were **using `matrix-nginx-proxy`** were on the happy path on which everything worked well by default (Matrix-wise), **but** could not easily run other web-exposed services on their Matrix server because `matrix-nginx-proxy` was occupying ports `80` and `443`. Other services which wanted to get web exposure either had to be plugged into `matrix-nginx-proxy` (somewhat difficult) or people had to forgo using `matrix-nginx-proxy` in favor of something else."
msgstr ""

#: ../../../CHANGELOG.md:1852
msgid "Of those that decided to forgo `matrix-nginx-proxy`, many were **using nginx** on the same server without a container. This was likely some ancient nginx version, depending on your choice of distro. The Matrix playbook was trying to be helpful and even with `matrix_nginx_proxy_enabled: false` was still generating nginx configuration in `/matrix/nginx-proxy/conf.d`. Those configuration files were adapted for inclusion into an nginx server running locally. Disabling the `matrix-nginx-proxy` role like this, yet still having it produce files is a bit disgusting, but it's what we've had since the early beginnings of this playbook."
msgstr ""

#: ../../../CHANGELOG.md:1854
msgid "Others still, wanted to run Matrix locally (no SSL certificates), regardless of which web server technology this relied on, and then **reverse-proxy from another machine on the network** which was doing SSL termination. These people were:"
msgstr ""

#: ../../../CHANGELOG.md:1856
msgid "*either* relying on `matrix_nginx_proxy_enabled: false` as well, combined with exposing services manually (setting `_bind_port` variables)"
msgstr ""

#: ../../../CHANGELOG.md:1857
msgid "*or* better yet, they were keeping `matrix-nginx-proxy` enabled, but in `http`-only mode (no SSL certificate retrieval)."
msgstr ""

#: ../../../CHANGELOG.md:1859
msgid "Despite this operational complexity, things worked and were reasonably flexible to adapt to all these situations."
msgstr ""

#: ../../../CHANGELOG.md:1861
msgid "When using `matrix-nginx-proxy` as is, we still had another problem — one of **internal playbook complexity**. Too many services need to be web-exposed (port 80/443, SSL certificates). Because of this, they all had to integrate with the `matrix-nginx-proxy` role. Tens of different roles explicitly integrating with `matrix-nginx-proxy` is not what we call clean. The `matrix-nginx-proxy` role contains variables for many of these roles (yikes). Other roles were more decoupled from it and were injecting configuration into `matrix-nginx-proxy` at runtime — see all the `inject_into_nginx_proxy.yml` task files in this playbook (more decoupled, but still… yikes)."
msgstr ""

#: ../../../CHANGELOG.md:1863
msgid "The next problem is one of **efficiency, interoperability and cost-saving**. We're working on other playbooks:"
msgstr ""

#: ../../../CHANGELOG.md:1865
msgid "[vaultwarden-docker-ansible-deploy](https://github.com/spantaleev/vaultwarden-docker-ansible-deploy) for hosting the [Vaultwarden](https://github.com/dani-garcia/vaultwarden) server — an alternative implementation of the [Bitwarden](https://bitwarden.com/) password manager"
msgstr ""

#: ../../../CHANGELOG.md:1866
msgid "[gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) — for hosting the [Gitea](https://gitea.io/) git source code hosting service"
msgstr ""

#: ../../../CHANGELOG.md:1867
msgid "[nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy) — for hosting the [Nextcloud](https://nextcloud.com/) groupware platform"
msgstr ""

#: ../../../CHANGELOG.md:1869
msgid "We'd love for users to be able to **seamlessly use all these playbooks (and others, even) against a single server**. We don't want `matrix-nginx-proxy` to have a monopoly on port `80`/`443` and make it hard for other services to join in on the party. Such a thing forces people into running multiple servers (one for each service), which does provide nice security benefits, but is costly and ineffiecient. We'd like to make self-hosting these services cheap and easy."
msgstr ""

#: ../../../CHANGELOG.md:1871
msgid "These other playbooks have been using [Traefik](https://traefik.io/) as their default reverse-proxy for a long time. They can all coexist nicely together (as an example, see the [Interoperability](https://github.com/spantaleev/nextcloud-docker-ansible-deploy/blob/master/docs/configuring-playbook-interoperability.md) documentation for the [Nextcloud playbook](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)). Now that this playbook is gaining Traefik support, it will be able to interoperate with them. If you're going this way, make sure to have the Matrix playbook install Traefik and have the others use `*_reverse_proxy_type: other-traefik-container`."
msgstr ""

#: ../../../CHANGELOG.md:1873
msgid "Finally, at [etke.cc — a managed Matrix server hosting service](https://etke.cc) (built on top of this playbook, and coincidentally [turning 2 years old today](https://etke.cc/news/upsyw4ykbtgmwhz8k7ukldx0zbbfq-fh0iqi3llixi0/) 🎉), we're allowing people to host some additional services besides Matrix components. Exposing these services to the web requires ugly hacks and configuration files being dropped into `/matrix/nginx-proxy/conf.d`. We believe that everything should run in independent containers and be exposed to the web via a Traefik server, without a huge Ansible role like `matrix-nginx-proxy` that everything else needs to integrate with."
msgstr ""

#: ../../../CHANGELOG.md:1875
msgid "How do these changes fix all these problems?"
msgstr ""

#: ../../../CHANGELOG.md:1877
msgid "The new `matrix_playbook_reverse_proxy_type` lets you easily specify your preferred reverse-proxy type, including `other-on-same-host`, `other-on-another-host` and `none`, so people who'd like to reverse-proxy with their own web server have more options now."
msgstr ""

#: ../../../CHANGELOG.md:1879
msgid "Using Traefik greatly simplifies things, so going forward we'll have a simpler and easier to maintain playbook, which is also interoperable with other services."
msgstr ""

#: ../../../CHANGELOG.md:1881
msgid "Traefik is a web server, which has been specifically **designed for reverse-proxying to services running in containers**. It's ideal for usage in an Ansible playbook which runs everything in containers."
msgstr ""

#: ../../../CHANGELOG.md:1883
msgid "**Traefik obtains SSL certificates automatically**, so there's no need for plugging additional tools like [Certbot](https://certbot.eff.org/) into your web server (like we were doing in the `matrix-nginx-proxy` role). No more certificate renewal timers, web server reloading timers, etc. It's just simpler."
msgstr ""

#: ../../../CHANGELOG.md:1885
msgid "Traefik is a **modern web server**. [HTTP/3](https://doc.traefik.io/traefik/routing/entrypoints/#http3) is supported already (experimentally) and will move to stable soon, in the upcoming Traefik v3 release."
msgstr ""

#: ../../../CHANGELOG.md:1887
msgid "Traefik does not lock important functionality we'd like to use into [plus packages like nginx does](https://www.nginx.com/products/nginx/), leading us to resolve to configuration workarounds. The default Traefik package is good enough as it is."
msgstr ""

#: ../../../CHANGELOG.md:1889
msgid "Where we're at right now?"
msgstr ""

#: ../../../CHANGELOG.md:1891
msgid "`matrix_playbook_reverse_proxy_type` still defaults to a value of `playbook-managed-nginx`."
msgstr ""

#: ../../../CHANGELOG.md:1893
msgid "Unless we have some regression, **existing `matrix-nginx-proxy` users should be able to update their Matrix server and not observe any changes**. Their setup should still remain on nginx and everything should still work as expected."
msgstr ""

#: ../../../CHANGELOG.md:1895
msgid "**Users using [their own webservers](docs/configuring-playbook-own-webserver.md) will need to change `matrix_playbook_reverse_proxy_type`** to something like `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`. Previously, they could toggle `matrix_nginx_proxy_enabled` to `false`, and that made the playbook automatically expose services locally. Currently, we only do this if you change the reverse-proxy type to `other-on-same-host`, `other-on-another-host` or `other-nginx-non-container`."
msgstr ""

#: ../../../CHANGELOG.md:1897
msgid "How do I explicitly switch to Traefik right now?"
msgstr ""

#: ../../../CHANGELOG.md:1899
msgid "**Users who wish to migrate to Traefik** today, can do so by **adding** this to their configuration:"
msgstr ""

#: ../../../CHANGELOG.md:1905
msgid "You may still need to keep certain old `matrix_nginx_proxy_*` variables (like `matrix_nginx_proxy_base_domain_serving_enabled`), even when using Traefik. For now, we recommend keeping all `matrix_nginx_proxy_*` variables just in case. In the future, reliance on `matrix-nginx-proxy` will be removed."
msgstr ""

#: ../../../CHANGELOG.md:1907
msgid "Switching to Traefik will obtain new SSL certificates from Let's Encrypt (stored in `/matrix/traefik/ssl/acme.json`). **The switch is reversible**. You can always go back to `playbook-managed-nginx` if Traefik is causing you trouble."
msgstr ""

#: ../../../CHANGELOG.md:1909
msgid "**Note**: toggling `matrix_playbook_reverse_proxy_type` between Traefik and nginx will uninstall the Traefik role and all of its data (under `/matrix/traefik`), so you may run into a Let's Encrypt rate limit if you do it often."
msgstr ""

#: ../../../CHANGELOG.md:1911
msgid "Treafik directly reverse-proxies to **some** services right now, but for most other services it goes through `matrix-nginx-proxy` (e.g. Traefik -> `matrix-nginx-proxy` -> [Ntfy](docs/configuring-playbook-ntfy.md)). So, even if you opt into Traefik, you'll still see `matrix-nginx-proxy` being installed in local-only mode. This will improve with time."
msgstr ""

#: ../../../CHANGELOG.md:1913
msgid "Some services (like [coturn](docs/configuring-playbook-turn.md) and [Postmoogle](docs/configuring-playbook-bridge-postmoogle.md)) cannot be reverse-proxied to directly from Traefik, so they require direct access to SSL certificate files extracted out of Traefik. The playbook does this automatically thanks to a new [com.devture.ansible.role.traefik_certs_dumper](https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper) role utilizing the [traefik-certs-dumper](https://github.com/ldez/traefik-certs-dumper) tool."
msgstr ""

#: ../../../CHANGELOG.md:1915
msgid "Our Traefik setup mostly works, but certain esoteric features may not work. If you have a default setup, we expect you to have a good experience."
msgstr ""

#: ../../../CHANGELOG.md:1917
msgid "Where we're going in the near future?"
msgstr ""

#: ../../../CHANGELOG.md:1919
msgid "The `matrix-nginx-proxy` role is quite messy. It manages both nginx and Certbot and its certificate renewal scripts and timers. It generates configuration even when the role is disabled (weird). Although it doesn't directly reach into variables from other roles, it has explicit awareness of various other services that it reverse-proxies to (`roles/custom/matrix-nginx-proxy/templates/nginx/conf.d/matrix-ntfy.conf.j2`, etc.). We'd like to clean this up. The only way is probably to just get rid of the whole thing at some point."
msgstr ""

#: ../../../CHANGELOG.md:1921
msgid "For now, `matrix-nginx-proxy` will stay around."
msgstr ""

#: ../../../CHANGELOG.md:1923
msgid "As mentioned above, Traefik still reverse-proxies to some (most) services by going through a local-only `matrix-nginx-proxy` server. This has allowed us to add Traefik support to the playbook early on (without having to rework all services), but is not the final goal. We'll **work on making each service support Traefik natively**, so that traffic will not need to go through `matrix-nginx-proxy` anymore. In the end, choosing Traefik should only give you a pure Traefik installation with no `matrix-nginx-proxy` in sight."
msgstr ""

#: ../../../CHANGELOG.md:1925
msgid "As Traefik support becomes complete and proves to be stable for a while, especially as a playbook default, we will **most likely remove `matrix-nginx-proxy` completely**. It will likely be some months before this happens though. Keeping support for both Traefik and nginx in the playbook will be a burden, especially with most of us running Traefik in the future. The Traefik role should do everything nginx does in a better and cleaner way. Users who use their own `nginx` server on the Matrix server will be inconvenienced, as nothing will generate ready-to-include nginx configuration for them. Still, we hope it won't be too hard to migrate their setup to another way of doing things, like:"
msgstr ""

#: ../../../CHANGELOG.md:1927
msgid "not using nginx anymore. A common reason for using nginx until now was that you were running other containers and you need your own nginx to reverse-proxy to all of them. Just switch them to Traefik as well."
msgstr ""

#: ../../../CHANGELOG.md:1928
msgid "running Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and using some nginx configuration which reverse-proxies to Traefik (we should introduce examples for this in `examples/nginx`)."
msgstr ""

#: ../../../CHANGELOG.md:1930
msgid "How do I help?"
msgstr ""

#: ../../../CHANGELOG.md:1932
msgid "You can help by:"
msgstr ""

#: ../../../CHANGELOG.md:1934
msgid "**explicitly switching your server to Traefik** right now (see example configuration in [How do I explicitly switch to Traefik right now?](#how-do-i-explicitly-switch-to-traefik-right-now) above), testing, reporting troubles"
msgstr ""

#: ../../../CHANGELOG.md:1936
msgid "**adding native Traefik support to a role** (requires adding Traefik labels, etc.) — for inspiration, see these roles ([prometheus_node_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter), [prometheus_postgres_exporter](https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter)) and how they're hooked into the playbook via [group_vars/matrix_servers](group_vars/matrix_servers)."
msgstr ""

#: ../../../CHANGELOG.md:1938
msgid "**adding reverse-proxying examples for nginx users** in `examples/nginx`. People who insist on using their own `nginx` server on the same Matrix host, can run Traefik in local-only mode (`traefik_config_entrypoint_web_secure_enabled: false`) and reverse-proxy to the Traefik server"
msgstr ""

#: ../../../CHANGELOG.md:1941
msgid "2023-02-10"
msgstr ""

#: ../../../CHANGELOG.md:1943
msgid "Matrix Authentication Support for Jitsi"
msgstr ""

#: ../../../CHANGELOG.md:1945
msgid "Thanks to [Jakob S.](https://github.com/jakicoll) ([zakk gGmbH](https://github.com/zakk-it)), Jitsi can now use Matrix for authentication (via [Matrix User Verification Service](https://github.com/matrix-org/matrix-user-verification-service))."
msgstr ""

#: ../../../CHANGELOG.md:1947
msgid "Additional details are available in the [Authenticate using Matrix OpenID (Auth-Type 'matrix')](docs/configuring-playbook-jitsi.md#authenticate-using-matrix-openid-auth-type-matrix)."
msgstr ""

#: ../../../CHANGELOG.md:1949
msgid "Draupnir moderation tool (bot) support"
msgstr ""

#: ../../../CHANGELOG.md:1951
msgid "Thanks to [FSG-Cat](https://github.com/FSG-Cat), the playbook can now install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool (bot). Draupnir is a fork of [Mjolnir](docs/configuring-playbook-bot-mjolnir.md) (which the playbook has supported for a long time) maintained by Mjolnir's former lead developer."
msgstr ""

#: ../../../CHANGELOG.md:1953
msgid "Additional details are available in [Setting up Draupnir](docs/configuring-playbook-bot-draupnir.md)."
msgstr ""

#: ../../../CHANGELOG.md:1956
msgid "2023-02-05"
msgstr ""

#: ../../../CHANGELOG.md:1958
msgid "The matrix-prometheus-postgres-exporter role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:1960
msgid "**TLDR**: the `matrix-prometheus-postgres-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1962
msgid "The `matrix-prometheus-postgres-exporter` role (which configures [Prometheus Postgres Exporter](https://github.com/prometheus-community/postgres_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-postgres-exporter"
msgstr ""

#: ../../../CHANGELOG.md:1964
msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_postgres_exporter_` -> `prometheus_postgres_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:1966
msgid "The `matrix-prometheus-services-proxy-connect` role has bee adjusted to help integrate the new `prometheus_postgres_exporter` role with our own services (`matrix-nginx-proxy`)"
msgstr ""

#: ../../../CHANGELOG.md:1968 ../../../CHANGELOG.md:2010
msgid "Other roles which aren't strictly related to Matrix are likely to follow this fate of moving to their own repositories. Extracting them out allows other Ansible playbooks to make use of these roles easily."
msgstr ""

#: ../../../CHANGELOG.md:1971
msgid "2023-01-26"
msgstr ""

#: ../../../CHANGELOG.md:1973
msgid "coturn can now use host-networking"
msgstr ""

#: ../../../CHANGELOG.md:1975
msgid "Large coturn deployments (with a huge range of ports specified via `coturn_turn_udp_min_port` and `coturn_turn_udp_max_port`) experience a huge slowdown with how Docker publishes all these ports (setting up firewall forwarding rules), which leads to a very slow coturn service startup and shutdown."
msgstr ""

#: ../../../CHANGELOG.md:1977
msgid "Such deployments don't need to run coturn within a private container network anymore. coturn can now run with host-networking by using configuration like this:"
msgstr ""

#: ../../../CHANGELOG.md:1983
msgid "With such a configuration, **Docker no longer needs to configure thousands of firewall forwarding rules** each time coturn starts and stops. This, however, means that **you will need to ensure these ports are open** in your firewall yourself."
msgstr ""

#: ../../../CHANGELOG.md:1985
msgid "Thanks to us [tightening coturn security](#backward-compatibility-tightening-coturn-security-can-lead-to-connectivity-issues), running coturn with host-networking should be safe and not expose neither other services running on the host, nor other services running on the local network."
msgstr ""

#: ../../../CHANGELOG.md:1987
msgid "(Backward Compatibility) Tightening coturn security can lead to connectivity issues"
msgstr ""

#: ../../../CHANGELOG.md:1989
msgid "**TLDR**: users who run and access their Matrix server on a private network (likely a small minority of users) may experience connectivity issues with our new default coturn blocklists. They may need to override `coturn_denied_peer_ips` and remove some IP ranges from it."
msgstr ""

#: ../../../CHANGELOG.md:1991
msgid "Inspired by [this security article](https://www.rtcsec.com/article/cve-2020-26262-bypass-of-coturns-access-control-protection/), we've decided to make use of coturn's `denied-peer-ip` functionality to prevent relaying network traffic to certain private IP subnets. This ensures that your coturn server won't accidentally try to forward traffic to certain services running on your local networks. We run coturn in a container and in a private container network by default, which should prevent such access anyway, but having additional block layers in place is better."
msgstr ""

#: ../../../CHANGELOG.md:1993
msgid "If you access your Matrix server from a local network and need coturn to relay to private IP addresses, you may observe that relaying is now blocked due to our new default `denied-peer-ip` lists (specified in `coturn_denied_peer_ips`). If you experience such connectivity problems, consider overriding this setting in your `vars.yml` file and removing certain networks from it."
msgstr ""

#: ../../../CHANGELOG.md:1995
msgid "We've also added `no-multicast-peers` to the default coturn configuration, but we don't expect this to cause trouble for most people."
msgstr ""

#: ../../../CHANGELOG.md:1998
msgid "2023-01-21"
msgstr ""

#: ../../../CHANGELOG.md:2000
msgid "The matrix-prometheus-node-exporter role lives independently now"
msgstr ""

#: ../../../CHANGELOG.md:2002
msgid "**TLDR**: the `matrix-prometheus-node-exporter` role is now included from another repository. Some variables have been renamed. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:2004
msgid "The `matrix-prometheus-node-exporter` role (which configures [Prometheus node exporter](https://github.com/prometheus/node_exporter)) has been extracted from the playbook and now lives in its own repository at https://github.com/mother-of-all-self-hosting/ansible-role-prometheus-node-exporter"
msgstr ""

#: ../../../CHANGELOG.md:2006
msgid "It's still part of the playbook, but is now installed via `ansible-galaxy` (by running `just roles` / `make roles`). Some variables have been renamed (`matrix_prometheus_node_exporter_` -> `prometheus_node_exporter_`, etc.). The playbook will report all variables that you need to rename to get upgraded. All functionality remains intact."
msgstr ""

#: ../../../CHANGELOG.md:2008
msgid "A new `matrix-prometheus-services-proxy-connect` role was added to the playbook to help integrate the new `prometheus_node_exporter` role with our own services (`matrix-nginx-proxy`)"
msgstr ""

#: ../../../CHANGELOG.md:2013
msgid "2023-01-13"
msgstr ""

#: ../../../CHANGELOG.md:2015
msgid "Support for running commands via just"
msgstr ""

#: ../../../CHANGELOG.md:2017
msgid "We've previously used [make](https://www.gnu.org/software/make/) for easily running some playbook commands (e.g. `make roles` which triggers `ansible-galaxy`, see [Makefile](Makefile)). Our `Makefile` is still around and you can still run these commands."
msgstr ""

#: ../../../CHANGELOG.md:2019
msgid "In addition, we've added support for running commands via [just](https://github.com/casey/just) — a more modern command-runner alternative to `make`. Instead of `make roles`, you can now run `just roles` to accomplish the same."
msgstr ""

#: ../../../CHANGELOG.md:2021
msgid "Our [justfile](justfile) already defines some additional helpful **shortcut** commands that weren't part of our `Makefile`. Here are some examples:"
msgstr ""

#: ../../../CHANGELOG.md:2023
msgid "`just install-all` to trigger the much longer `ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start` command"
msgstr ""

#: ../../../CHANGELOG.md:2024
msgid "`just install-all --ask-vault-pass` — commands also support additional arguments (`--ask-vault-pass` will be appended to the above installation command)"
msgstr ""

#: ../../../CHANGELOG.md:2025
msgid "`just run-tags install-mautrix-slack,start` — to run specific playbook tags"
msgstr ""

#: ../../../CHANGELOG.md:2026
msgid "`just start-all` — (re-)starts all services"
msgstr ""

#: ../../../CHANGELOG.md:2027
msgid "`just stop-group postgres` — to stop only the Postgres service"
msgstr ""

#: ../../../CHANGELOG.md:2028
msgid "`just register-user alice secret-password yes` — registers an `alice` user with the `secret-password` password and admin access (admin = `yes`)"
msgstr ""

#: ../../../CHANGELOG.md:2030
msgid "Additional helpful commands and shortcuts may be defined in the future."
msgstr ""

#: ../../../CHANGELOG.md:2032
msgid "This is all completely optional. If you find it difficult to [install `just`](https://github.com/casey/just#installation) or don't find any of this convenient, feel free to run all commands manually."
msgstr ""

#: ../../../CHANGELOG.md:2035
msgid "2023-01-11"
msgstr ""

#: ../../../CHANGELOG.md:2037
msgid "mautrix-slack support"
msgstr ""

#: ../../../CHANGELOG.md:2039
msgid "Thanks to [Cody Neiman](https://github.com/xangelix)'s efforts, the playbook now supports bridging to [Slack](https://slack.com/) via the [mautrix-slack](https://mau.dev/mautrix/slack) bridge. See our [Setting up Mautrix Slack bridging](docs/configuring-playbook-bridge-mautrix-slack.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:2041
msgid "**Note**: this is a new Slack bridge. The playbook still retains Slack bridging via [matrix-appservice-slack](docs/configuring-playbook-bridge-appservice-slack.md) and [mx-puppet-slack](docs/configuring-playbook-bridge-mx-puppet-slack.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)."
msgstr ""

#: ../../../CHANGELOG.md:2044
msgid "2023-01-10"
msgstr ""

#: ../../../CHANGELOG.md:2046
msgid "ChatGPT support"
msgstr ""

#: ../../../CHANGELOG.md:2048
msgid "Thanks to [@bertybuttface](https://github.com/bertybuttface), the playbook can now help you set up [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) — a bot through which you can talk to the [ChatGPT](https://openai.com/blog/chatgpt/) model."
msgstr ""

#: ../../../CHANGELOG.md:2050
msgid "See our [Setting up matrix-bot-chatgpt](docs/configuring-playbook-bot-chatgpt.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2053
msgid "2022-11-30"
msgstr ""

#: ../../../CHANGELOG.md:2055
msgid "matrix-postgres-backup has been replaced by the ansible-role-postgres-backup external role"
msgstr ""

#: ../../../CHANGELOG.md:2057
msgid "Just like we've [replaced Postgres with an external role](#matrix-postgres-has-been-replaced-by-the-comdevtureansiblerolepostgres-external-role) on 2022-11-28, we're now replacing `matrix-postgres-backup` with an external role — [com.devture.ansible.role.postgres_backup](https://github.com/mother-of-all-self-hosting/ansible-role-postgres_backup)."
msgstr ""

#: ../../../CHANGELOG.md:2059
msgid "You'll need to rename your `matrix_postgres_backup`-prefixed variables such that they use a `postgres_backup` prefix."
msgstr ""

#: ../../../CHANGELOG.md:2062
msgid "2022-11-28"
msgstr ""

#: ../../../CHANGELOG.md:2064
msgid "matrix-postgres has been replaced by the ansible-role-postgres external role"
msgstr ""

#: ../../../CHANGELOG.md:2066
msgid "**TLDR**: the tasks that install the integrated Postgres server now live in an external role — [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres). You'll need to run `make roles` to install it, and to also rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix (e.g. `matrix_postgres_connection_password` -> `postgres_connection_password`). All your data will still be there! Some scripts have moved (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`)."
msgstr ""

#: ../../../CHANGELOG.md:2068
msgid "The `matrix-postgres` role that has been part of the playbook for a long time has been replaced with the [ansible-role-postgres](https://github.com/mother-of-all-self-hosting/ansible-role-postgres) role. This was done as part of our work to [use external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) for better code re-use and maintainability."
msgstr ""

#: ../../../CHANGELOG.md:2070
msgid "The new role is an upgraded version of the old `matrix-postgres` role with these notable differences:"
msgstr ""

#: ../../../CHANGELOG.md:2072
msgid "it uses different names for its variables (`matrix_postgres` -> `devture_postgres`)"
msgstr ""

#: ../../../CHANGELOG.md:2073
msgid "when [Vacuuming PostgreSQL](docs/maintenance-postgres.md#vacuuming-postgresql), it will vacuum all your databases, not just the Synapse one"
msgstr ""

#: ../../../CHANGELOG.md:2075
msgid "You'll need to run `make roles` to install the new role. You would also need to rename your `matrix_postgres`-prefixed variables to use a `devture_postgres` prefix."
msgstr ""

#: ../../../CHANGELOG.md:2077
msgid "Note: the systemd service still remains the same — `matrix-postgres.service`. Your data will still be in `/matrix/postgres`, etc. Postgres-related scripts will be moved to `/matrix/postgres/bin` (`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`, etc). Also see [The playbook no longer installs scripts in /usr/local/bin](#the-playbook-no-longer-installs-scripts-in-usrlocalbin)."
msgstr ""

#: ../../../CHANGELOG.md:2079
msgid "The playbook no longer installs scripts to /usr/local/bin"
msgstr ""

#: ../../../CHANGELOG.md:2081
msgid "The locations of various scripts installed by the playbook have changed."
msgstr ""

#: ../../../CHANGELOG.md:2083
msgid "The playbook no longer contaminates your `/usr/local/bin` directory. All scripts installed by the playbook now live in `bin/` directories under `/matrix`. Some examples are below:"
msgstr ""

#: ../../../CHANGELOG.md:2085
msgid "`/usr/local/bin/matrix-remove-all` -> `/matrix/bin/remove-all`"
msgstr ""

#: ../../../CHANGELOG.md:2086
msgid "`/usr/local/bin/matrix-postgres-cli` -> `/matrix/postgres/bin/cli`"
msgstr ""

#: ../../../CHANGELOG.md:2087
msgid "`/usr/local/bin/matrix-ssl-lets-encrypt-certificates-renew` -> `/matrix/ssl/bin/lets-encrypt-certificates-renew`"
msgstr ""

#: ../../../CHANGELOG.md:2088
msgid "`/usr/local/bin/matrix-synapse-register-user` -> `/matrix/synapse/bin/register-user`"
msgstr ""

#: ../../../CHANGELOG.md:2091
msgid "2022-11-25"
msgstr ""

#: ../../../CHANGELOG.md:2093
msgid "2x-5x performance improvements in playbook runtime"
msgstr ""

#: ../../../CHANGELOG.md:2095
msgid "**TLDR**: the playbook is 2x faster for running `--tags=setup-all` (and various other tags). It also has new `--tags=install-*` tags (like `--tags=install-all`), which skip uninstallation tasks and bring an additional 2.5x speedup. In total, the playbook can maintain your server 5 times faster."
msgstr ""

#: ../../../CHANGELOG.md:2097
msgid "Our [etke.cc managed Matrix hosting service](https://etke.cc) runs maintenance against hundreds of servers, so the playbook being fast means a lot. The [etke.cc Ansible playbook](https://github.com/etkecc/ansible) (which is an extension of this one) is growing to support more and more services (besides just Matrix), so the Matrix playbook being leaner prevents runtimes from becoming too slow and improves the customer experience."
msgstr ""

#: ../../../CHANGELOG.md:2099
msgid "Even when running `ansible-playbook` manually (as most of us here do), it's beneficial not to waste time and CPU resources."
msgstr ""

#: ../../../CHANGELOG.md:2101
msgid "Recently, a few large optimizations have been done to this playbook and its external roles (see [The playbook now uses external roles for some things](#the-playbook-now-uses-external-roles-for-some-things) and don't forget to run `make roles`):"
msgstr ""

#: ../../../CHANGELOG.md:2103
msgid "Replacing Ansible `import_tasks` calls with `include_tasks`, which decreased runtime in half. Using `import_tasks` is slower and causes Ansible to go through and skip way too many tasks (tasks which could have been skipped altogether by not having Ansible include them in the first place). On an experimental VM, **deployment time was decreased from ~530 seconds to ~250 seconds**."
msgstr ""

#: ../../../CHANGELOG.md:2105
msgid "Introducing new `install-*` tags (`install-all` and `install-COMPONENT`, e.g. `install-synapse`, `install-bot-mjolnir`), which only run Ansible tasks pertaining to installation, while skipping uninstallation tasks. In most cases, people are maintaining the same setup or they're *adding* new components. Removing components is rare. Running thousands of uninstallation tasks each time is wasteful. On an experimental VM, **deployment time was decreased from ~250 seconds (`--tags=setup-all`) to ~100 seconds (`--tags=install-all`)**."
msgstr ""

#: ../../../CHANGELOG.md:2107
msgid "You can still use `--tags=setup-all`. In fact, that's the best way to ensure your server is reconciled with the `vars.yml` configuration."
msgstr ""

#: ../../../CHANGELOG.md:2109
msgid "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:2112
msgid "2022-11-22"
msgstr ""

#: ../../../CHANGELOG.md:2114
msgid "Automatic `matrix_architecture` determination"
msgstr ""

#: ../../../CHANGELOG.md:2116
msgid "From now on, the playbook automatically determines your server's architecture and sets the `matrix_architecture` variable accordingly. You no longer need to set this variable manually in your `vars.yml` file."
msgstr ""

#: ../../../CHANGELOG.md:2118
msgid "Docker and the Docker SDK for Python are now installed via external roles"
msgstr ""

#: ../../../CHANGELOG.md:2122
msgid "Docker will now be installed on the server via the [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) Ansible role. If you'd like to manage the Docker installation yourself, you can disable the playbook's installation of Docker by setting `matrix_playbook_docker_installation_enabled: false`."
msgstr ""

#: ../../../CHANGELOG.md:2124
msgid "The Docker SDK for Python (named `docker-python`, `python-docker`, etc. on the different platforms) is now also installed by another role ([com.devture.ansible.role.docker_sdk_for_python](https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python)). To disable this role and install the necessary tools yourself, use `devture_docker_sdk_for_python_installation_enabled: false`."
msgstr ""

#: ../../../CHANGELOG.md:2126
msgid "If you're hitting issues with Docker installation or Docker SDK for Python installation, consider reporting bugs or contributing to these other projects."
msgstr ""

#: ../../../CHANGELOG.md:2128
msgid "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:2131
msgid "2022-11-20"
msgstr ""

#: ../../../CHANGELOG.md:2133
msgid "(Backward Compatibility Break) Changing how reverse-proxying to Synapse works — now via a `matrix-synapse-reverse-proxy-companion` service"
msgstr ""

#: ../../../CHANGELOG.md:2135
msgid "**TLDR**: There's now a `matrix-synapse-reverse-proxy-companion` nginx service, which helps with reverse-proxying to Synapse and its various worker processes (if workers are enabled), so that `matrix-nginx-proxy` can be relieved of this role. `matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. `matrix-synapse-reverse-proxy-companion` is just one more reverse-proxy thrown into the mix for convenience. People with a more custom reverse-proxying configuration may be affected — see [Webserver configuration](#webserver-configuration) below."
msgstr ""

#: ../../../CHANGELOG.md:2137
msgid "Background"
msgstr ""

#: ../../../CHANGELOG.md:2139
msgid "Previously, `matrix-nginx-proxy` forwarded requests to Synapse directly. When Synapse is running in worker mode, the reverse-proxying configuration is more complicated (different requests need to go to different Synapse worker processes). `matrix-nginx-proxy` had configuration for sending each URL endpoint to the correct Synapse worker responsible for handling it. However, sometimes people like to disable `matrix-nginx-proxy` (for whatever reason) as detailed in [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)."
msgstr ""

#: ../../../CHANGELOG.md:2141
msgid "Because `matrix-nginx-proxy` was so central to request forwarding, when it was disabled and Synapse was running with workers enabled, there was nothing which could forward requests to the correct place anymore… which caused [problems such as this one affecting Dimension](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090)."
msgstr ""

#: ../../../CHANGELOG.md:2143
msgid "Solution"
msgstr ""

#: ../../../CHANGELOG.md:2145
msgid "From now on, `matrix-nginx-proxy` is relieved of its function of reverse-proxying to Synapse and its various worker processes. This role is now handled by the new `matrix-synapse-reverse-proxy-companion` nginx service and works even if `matrix-nginx-proxy` is disabled. The purpose of the new `matrix-synapse-reverse-proxy-companion` service is to:"
msgstr ""

#: ../../../CHANGELOG.md:2147
msgid "serve as a companion to Synapse and know how to reverse-proxy to Synapse correctly (no matter if workers are enabled or not)"
msgstr ""

#: ../../../CHANGELOG.md:2149
msgid "provide a unified container address for reaching Synapse (no matter if workers are enabled or not)"
msgstr ""

#: ../../../CHANGELOG.md:2150
msgid "`matrix-synapse-reverse-proxy-companion:8008` for Synapse Client-Server API traffic"
msgstr ""

#: ../../../CHANGELOG.md:2151
msgid "`matrix-synapse-reverse-proxy-companion:8048` for Synapse Server-Server (Federation) API traffic"
msgstr ""

#: ../../../CHANGELOG.md:2153
msgid "simplify `matrix-nginx-proxy` configuration — it now only needs to send requests to `matrix-synapse-reverse-proxy-companion` or `matrix-dendrite`, etc., without having to worry about workers"
msgstr ""

#: ../../../CHANGELOG.md:2155
msgid "allow reverse-proxying to Synapse, even if `matrix-nginx-proxy` is disabled"
msgstr ""

#: ../../../CHANGELOG.md:2157
msgid "`matrix-nginx-proxy` still remains as the public SSL-terminating reverse-proxy in the playbook. All traffic goes through it before reaching any of the services. It's just that now the Synapse traffic is routed through `matrix-synapse-reverse-proxy-companion` like this:"
msgstr ""

#: ../../../CHANGELOG.md:2159
msgid "(`matrix-nginx-proxy` -> `matrix-synapse-reverse-proxy-companion` -> (`matrix-synapse` or some Synapse worker))."
msgstr ""

#: ../../../CHANGELOG.md:2161
msgid "Various services (like Dimension, etc.) still talk to Synapse via `matrix-nginx-proxy` (e.g. `http://matrix-nginx-proxy:12080`) preferentially. They only talk to Synapse via the reverse-proxy companion (e.g. `http://matrix-synapse-reverse-proxy-companion:8008`) if `matrix-nginx-proxy` is disabled. Services should not be talking to Synapse (e.g. `https://matrix-synapse:8008` directly anymore), because when workers are enabled, that's the Synapse `master` process and may not be serving all URL endpoints needed by the service."
msgstr ""

#: ../../../CHANGELOG.md:2163
msgid "Webserver configuration"
msgstr ""

#: ../../../CHANGELOG.md:2165
msgid "if you're using `matrix-nginx-proxy` (`matrix_nginx_proxy_enabled: true`, which is the default for the playbook), you don't need to do anything"
msgstr ""

#: ../../../CHANGELOG.md:2167
msgid "if you're using your own `nginx` webserver running on the server, you shouldn't be affected. The `/matrix/nginx/conf.d` configuration and exposed ports that you're relying on will automatically be updated in a way that should work"
msgstr ""

#: ../../../CHANGELOG.md:2169
msgid "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:2171
msgid "if you've been exposing `matrix-synapse` ports (`matrix_synapse_container_client_api_host_bind_port`, etc.) manually, you should consider exposing `matrix-synapse-reverse-proxy-companion` ports instead"
msgstr ""

#: ../../../CHANGELOG.md:2173
msgid "if you're running Traefik and reverse-proxying directly to the `matrix-synapse` container, you should start reverse-proxying to the `matrix-synapse-reverse-proxy-companion` container instead. See [our updated Traefik example configuration](docs/configuring-playbook-own-webserver.md#sample-configuration-for-running-behind-traefik-20). Note: we now recommend calling the federation entry point `federation` (instead of `synapse`) and reverse-proxying the federation traffic via `matrix-nginx-proxy`, instead of sending it directly to Synapse (or `matrix-synapse-reverse-proxy-companion`). This makes the configuration simpler."
msgstr ""

#: ../../../CHANGELOG.md:2176
msgid "2022-11-05"
msgstr ""

#: ../../../CHANGELOG.md:2178
msgid "(Backward Compatibility Break) A new default standalone mode for Etherpad"
msgstr ""

#: ../../../CHANGELOG.md:2180
msgid "Until now, [Etherpad](https://etherpad.org/) (which [the playbook could install for you](docs/configuring-playbook-etherpad.md)) required the [Dimension integration manager](docs/configuring-playbook-dimension.md) to also be installed, because Etherpad was hosted on the Dimension domain (at `dimension.example.com/etherpad`)."
msgstr ""

#: ../../../CHANGELOG.md:2182
msgid "From now on, Etherpad can be installed in `standalone` mode on `etherpad.example.com` and used even without Dimension. This is much more versatile, so the playbook now defaults to this new mode (`etherpad_mode: standalone`)."
msgstr ""

#: ../../../CHANGELOG.md:2184
msgid "If you've already got both Etherpad and Dimension in use you could:"
msgstr ""

#: ../../../CHANGELOG.md:2186
msgid "**either** keep hosting Etherpad under the Dimension domain by adding `etherpad_mode: dimension` to your `vars.yml` file. All your existing room widgets will continue working at the same URLs and no other changes will be necessary."
msgstr ""

#: ../../../CHANGELOG.md:2188
msgid "**or**, you could change to hosting Etherpad separately on `etherpad.example.com`. You will need to [configure a DNS record](docs/configuring-dns.md) for this new domain. You will also need to reconfigure Dimension to use the new pad URLs (`https://etherpad.example.com/…`) going forward (refer to our [configuring Etherpad documentation](docs/configuring-playbook-etherpad.md)). All your existing room widgets (which still use `https://dimension.example.com/etherpad/…`) will break as Etherpad is not hosted there anymore. You will need to re-add them or to consider not using `standalone` mode"
msgstr ""

#: ../../../CHANGELOG.md:2191
msgid "2022-11-04"
msgstr ""

#: ../../../CHANGELOG.md:2193
msgid "The playbook now uses external roles for some things"
msgstr ""

#: ../../../CHANGELOG.md:2195
msgid "**TLDR**: when updating the playbook and before running it, you'll need to run `make roles` to make [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) download dependency roles (see the [`requirements.yml` file](requirements.yml)) to the `roles/galaxy` directory. Without this, the playbook won't work."
msgstr ""

#: ../../../CHANGELOG.md:2197
msgid "We're in the process of trimming the playbook and making it reuse Ansible roles."
msgstr ""

#: ../../../CHANGELOG.md:2199
msgid "Starting now, the playbook is composed of 2 types of Ansible roles:"
msgstr ""

#: ../../../CHANGELOG.md:2201
msgid "those that live within the playbook itself (`roles/custom/*`)"
msgstr ""

#: ../../../CHANGELOG.md:2203
msgid "those downloaded from other sources (using [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to `roles/galaxy`, based on the [`requirements.yml` file](requirements.yml)). These roles are maintained by us or by other people from the Ansible community."
msgstr ""

#: ../../../CHANGELOG.md:2205
msgid "We're doing this for greater code-reuse (across Ansible playbooks, including our own related playbooks [gitea-docker-ansible-deploy](https://github.com/spantaleev/gitea-docker-ansible-deploy) and [nextcloud-docker-ansible-deploy](https://github.com/spantaleev/nextcloud-docker-ansible-deploy)) and decreased maintenance burden. Until now, certain features were copy-pasted across playbooks or were maintained separately in each one, with improvements often falling behind. We've also tended to do too much by ourselves — installing Docker on the server from our `matrix-base` role, etc. — something that we'd rather not do anymore by switching to the [geerlingguy.docker](https://galaxy.ansible.com/geerlingguy/docker) role."
msgstr ""

#: ../../../CHANGELOG.md:2207
msgid "Some variable names will change during the transition to having more and more external (galaxy) roles. There's a new `custom/matrix_playbook_migration` role added to the playbook which will tell you about these changes each time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:2209
msgid "**From now on**, every time you update the playbook (well, every time the `requirements.yml` file changes), it's best to run `make roles` to update the roles downloaded from other sources. `make roles` is a shortcut (a `roles` target defined in [`Makefile`](Makefile) and executed by the [`make`](https://www.gnu.org/software/make/) utility) which ultimately runs [ansible-galaxy](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html) to download Ansible roles. If you don't have `make`, you can also manually run the commands seen in the `Makefile`."
msgstr ""

#: ../../../CHANGELOG.md:2212
msgid "2022-10-14"
msgstr ""

#: ../../../CHANGELOG.md:2214
msgid "synapse-s3-storage-provider support"
msgstr ""

#: ../../../CHANGELOG.md:2216
msgid "**`synapse-s3-storage-provider` support is very new and still relatively untested. Using it may cause data loss.**"
msgstr ""

#: ../../../CHANGELOG.md:2218
msgid "You can now store your Synapse media repository files on Amazon S3 (or another S3-compatible object store) using [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) — a media provider for Synapse (Python module), which should work faster and more reliably than our previous [Goofys](docs/configuring-playbook-s3-goofys.md) implementation (Goofys will continue to work)."
msgstr ""

#: ../../../CHANGELOG.md:2220
msgid "This is not just for initial installations. Users with existing files (stored in the local filesystem) can also migrate their files to `synapse-s3-storage-provider`."
msgstr ""

#: ../../../CHANGELOG.md:2222
msgid "To get started, see our [Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider](docs/configuring-playbook-synapse-s3-storage-provider.md) documentation."
msgstr ""

#: ../../../CHANGELOG.md:2224
msgid "Synapse container image customization support"
msgstr ""

#: ../../../CHANGELOG.md:2226
msgid "We now support customizing the Synapse container image by adding additional build steps to its [`Dockerfile`](https://docs.docker.com/engine/reference/builder/)."
msgstr ""

#: ../../../CHANGELOG.md:2228
msgid "Our [synapse-s3-storage-provider support](#synapse-s3-storage-provider-support) is actually built on this. When `s3-storage-provider` is enabled, we automatically add additional build steps to install its Python module into the Synapse image."
msgstr ""

#: ../../../CHANGELOG.md:2230
msgid "Besides this kind of auto-added build steps (for components supported by the playbook), we also let you inject your own custom build steps using configuration like this:"
msgstr ""

#: ../../../CHANGELOG.md:2241
msgid "People who have needed to customize Synapse previously had to fork the git repository, make their changes to the `Dockerfile` there, point the playbook to the new repository (`matrix_synapse_container_image_self_build_repo`) and enable self-building from scratch (`matrix_synapse_container_image_self_build: true`). This is harder and slower."
msgstr ""

#: ../../../CHANGELOG.md:2243
msgid "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:2246
msgid "2022-10-02"
msgstr ""

#: ../../../CHANGELOG.md:2248
msgid "matrix-ldap-registration-proxy support"
msgstr ""

#: ../../../CHANGELOG.md:2250
msgid "Thanks to [@TheOneWithTheBraid](https://github.com/TheOneWithTheBraid), we now support installing [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) — a proxy which handles Matrix registration requests and forwards them to LDAP."
msgstr ""

#: ../../../CHANGELOG.md:2252
msgid "See our [Setting up matrix-ldap-registration-proxy](docs/configuring-playbook-matrix-ldap-registration-proxy.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2255
msgid "2022-09-15"
msgstr ""

#: ../../../CHANGELOG.md:2257
msgid "(Potential Backward Compatibility Break) Major improvements to Synapse workers"
msgstr ""

#: ../../../CHANGELOG.md:2259
msgid "People who are interested in running a Synapse worker setup should know that **our Synapse worker implementation is much more powerful now**:"
msgstr ""

#: ../../../CHANGELOG.md:2261
msgid "we've added support for [Stream writers](#stream-writers-support)"
msgstr ""

#: ../../../CHANGELOG.md:2262
msgid "we've added support for [multiple federation sender workers](#multiple-federation-sender-workers-support)"
msgstr ""

#: ../../../CHANGELOG.md:2263
msgid "we've added support for [multiple pusher workers](#multiple-pusher-workers-support)"
msgstr ""

#: ../../../CHANGELOG.md:2264
msgid "we've added support for [running background tasks on a worker](#background-tasks-can-run-on-a-worker)"
msgstr ""

#: ../../../CHANGELOG.md:2265
msgid "we've restored support for [`appservice` workers](#appservice-worker-support-is-back)"
msgstr ""

#: ../../../CHANGELOG.md:2266
msgid "we've restored support for [`user_dir` workers](#user-directory-worker-support-is-back)"
msgstr ""

#: ../../../CHANGELOG.md:2267
msgid "we've made it possible to [reliably use more than 1 `media_repository` worker](#using-more-than-1-media-repository-worker-is-now-more-reliable)"
msgstr ""

#: ../../../CHANGELOG.md:2268
msgid "see the [Potential Backward Incompatibilities after these Synapse worker changes](#potential-backward-incompatibilities-after-these-synapse-worker-changes)"
msgstr ""

#: ../../../CHANGELOG.md:2270
msgid "Stream writers support"
msgstr ""

#: ../../../CHANGELOG.md:2272
msgid "From now on, the playbook lets you easily set up various [stream writer workers](https://matrix-org.github.io/synapse/latest/workers.html#stream-writers) which can handle different streams (`events` stream; `typing` URL endpoints, `to_device` URL endpoints, `account_data` URL endpoints, `receipts` URL endpoints, `presence` URL endpoints). All of this work was previously handled by the main Synapse process, but can now be offloaded to stream writer worker processes."
msgstr ""

#: ../../../CHANGELOG.md:2274
msgid "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:2276
msgid "If you'd like to customize the number of workers we also make that possible using these variables:"
msgstr ""

#: ../../../CHANGELOG.md:2289
msgid "Multiple federation sender workers support"
msgstr ""

#: ../../../CHANGELOG.md:2291
msgid "Until now, we only supported a single `federation_sender` worker (`matrix_synapse_workers_federation_sender_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with your federation traffic."
msgstr ""

#: ../../../CHANGELOG.md:2293
msgid "Multiple pusher workers support"
msgstr ""

#: ../../../CHANGELOG.md:2295
msgid "Until now, we only supported a single `pusher` worker (`matrix_synapse_workers_pusher_workers_count` could either be `0` or `1`). From now on, you can have as many as you want to help with pushing notifications out."
msgstr ""

#: ../../../CHANGELOG.md:2297
msgid "Background tasks can run on a worker"
msgstr ""

#: ../../../CHANGELOG.md:2299
msgid "From now on, you can put [background task processing on a worker](https://matrix-org.github.io/synapse/latest/workers.html#background-tasks)."
msgstr ""

#: ../../../CHANGELOG.md:2301
msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `background` worker automatically. You can also control the `background` workers count with `matrix_synapse_workers_background_workers_count`. Only  `0` or `1` workers of this type are supported by Synapse."
msgstr ""

#: ../../../CHANGELOG.md:2303
msgid "Appservice worker support is back"
msgstr ""

#: ../../../CHANGELOG.md:2305
msgid "We previously had an `appservice` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time."
msgstr ""

#: ../../../CHANGELOG.md:2307
msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of talking to Application Services. From now on, we have support for this."
msgstr ""

#: ../../../CHANGELOG.md:2309
msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `appservice` worker automatically. You can also control the `appservice` workers count with `matrix_synapse_workers_appservice_workers_count`. Only  `0` or `1` workers of this type are supported by Synapse."
msgstr ""

#: ../../../CHANGELOG.md:2311
msgid "User Directory worker support is back"
msgstr ""

#: ../../../CHANGELOG.md:2313
msgid "We previously had a `user_dir` worker type, which [Synapse deprecated in v1.59.0](https://github.com/element-hq/synapse/blob/v1.59.0/docs/upgrade.md#deprecation-of-the-synapseappappservice-and-synapseappuser_dir-worker-application-types). So did we, at the time."
msgstr ""

#: ../../../CHANGELOG.md:2315
msgid "The new way to implement such workers is by using a `generic_worker` and dedicating it to the task of serving the user directory. From now on, we have support for this."
msgstr ""

#: ../../../CHANGELOG.md:2317
msgid "With `matrix_synapse_workers_preset: one-of-each`, you'll get one `user_dir` worker automatically. You can also control the `user_dir` workers count with `matrix_synapse_workers_user_dir_workers_count`. Only  `0` or `1` workers of this type are supported by Synapse."
msgstr ""

#: ../../../CHANGELOG.md:2319
msgid "Using more than 1 media repository worker is now more reliable"
msgstr ""

#: ../../../CHANGELOG.md:2321
msgid "With `matrix_synapse_workers_preset: one-of-each`, we only launch one `media_repository` worker."
msgstr ""

#: ../../../CHANGELOG.md:2323
msgid "If you've been configuring `matrix_synapse_workers_media_repository_workers_count` manually, you may have increased that to more workers. When multiple media repository workers are in use, background tasks related to the media repository must always be configured to run on a single `media_repository` worker via `media_instance_running_background_jobs`. Until now, we weren't doing this correctly, but we now are."
msgstr ""

#: ../../../CHANGELOG.md:2325
msgid "Potential Backward Incompatibilities after these Synapse worker changes"
msgstr ""

#: ../../../CHANGELOG.md:2327
msgid "Below we'll discuss **potential backward incompatibilities**."
msgstr ""

#: ../../../CHANGELOG.md:2329
msgid "**Worker names** (container names, systemd services, worker configuration files) **have changed**. Workers are now labeled sequentially (e.g. `matrix-synapse-worker_generic_worker-18111` -> `matrix-synapse-worker-generic-0`). The playbook will handle these changes automatically."
msgstr ""

#: ../../../CHANGELOG.md:2331
msgid "Due to increased worker types support above, people who use `matrix_synapse_workers_preset: one-of-each` should be aware that with these changes, **the playbook will deploy 9 additional workers** (6 stream writers, 1 `appservice` worker, 1 `user_dir` worker, 1 background task worker). This **may increase RAM/CPU usage**, etc. If you find your server struggling, consider disabling some workers with the appropriate `matrix_synapse_workers_*_workers_count` variables."
msgstr ""

#: ../../../CHANGELOG.md:2333
msgid "**Metric endpoints have also changed** (`/metrics/synapse/worker/generic_worker-18111` -> `/metrics/synapse/worker/generic-worker-0`). If you're [collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server), consider revisiting our [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server) docs and updating your Prometheus configuration. **If you're collecting metrics to the integrated Prometheus server** (not enabled by default), **your Prometheus configuration will be updated automatically**. Old data (from before this change) may stick around though."
msgstr ""

#: ../../../CHANGELOG.md:2335
msgid "**the format of `matrix_synapse_workers_enabled_list` has changed**. You were never advised to use this variable for directly creating workers (we advise people to control workers using `matrix_synapse_workers_preset` or by tweaking `matrix_synapse_workers_*_workers_count` variables only), but some people may have started using the `matrix_synapse_workers_enabled_list` variable to gain more control over workers. If you're one of them, you'll need to adjust its value. See `roles/custom/matrix-synapse/defaults/main.yml` for more information on the new format. The playbook will also do basic validation and complain if you got something wrong."
msgstr ""

#: ../../../CHANGELOG.md:2338
msgid "2022-09-09"
msgstr ""

#: ../../../CHANGELOG.md:2340
msgid "Cactus Comments support"
msgstr ""

#: ../../../CHANGELOG.md:2342
msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now set up [Cactus Comments](https://cactus.chat) — federated comment system for the web based on Matrix."
msgstr ""

#: ../../../CHANGELOG.md:2344
msgid "See our [Setting up Cactus Comments](docs/configuring-playbook-cactus-comments.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2347
msgid "2022-08-23"
msgstr ""

#: ../../../CHANGELOG.md:2349
msgid "Postmoogle email bridge support"
msgstr ""

#: ../../../CHANGELOG.md:2351
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up the new [Postmoogle](https://github.com/etkecc/postmoogle) email bridge. Postmoogle is like the [Email2Matrix bridge](https://github.com/devture/email2matrix) (also [already supported by the playbook](docs/configuring-playbook-email2matrix.md)), but more capable and with the intention to soon support *sending* emails, not just receiving."
msgstr ""

#: ../../../CHANGELOG.md:2353
msgid "See our [Setting up Postmoogle email bridging](docs/configuring-playbook-bridge-postmoogle.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2356
msgid "2022-08-10"
msgstr ""

#: ../../../CHANGELOG.md:2358
msgid "mautrix-whatsapp default configuration changes"
msgstr ""

#: ../../../CHANGELOG.md:2360
msgid "In [Pull Request #2012](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2012), we've made some changes to the default configuration used by the `mautrix-whatsapp` bridge."
msgstr ""

#: ../../../CHANGELOG.md:2362
msgid "If you're using this bridge, you should look into this PR and see if the new configuration suits you. If not, you can always change individual preferences in your `vars.yml` file."
msgstr ""

#: ../../../CHANGELOG.md:2364
msgid "Most notably, spaces support has been enabled by default. The bridge will now group rooms into a Matrix space. **If you've already bridged to Whatsapp** prior to this update, you will need to send `!wa sync space` to the bridge bot to make it create the space and put your existing rooms into it."
msgstr ""

#: ../../../CHANGELOG.md:2367
msgid "2022-08-09"
msgstr ""

#: ../../../CHANGELOG.md:2369
msgid "Conduit support"
msgstr ""

#: ../../../CHANGELOG.md:2371
msgid "Thanks to [Charles Wright](https://github.com/cvwright), we now have optional experimental [Conduit](https://conduit.rs) homeserver support for new installations. This comes as a follow-up to the playbook getting [Dendrite support](#dendrite-support) earlier this year."
msgstr ""

#: ../../../CHANGELOG.md:2373
msgid "Existing Synapse or Dendrite installations do **not** need to be updated. **Synapse is still the default homeserver implementation** installed by the playbook."
msgstr ""

#: ../../../CHANGELOG.md:2375
msgid "To try out Conduit, we recommend that you **use a new server** and the following `vars.yml` configuration:"
msgstr ""

#: ../../../CHANGELOG.md:2381
msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse or Dendrite to Conduit) without data loss."
msgstr ""

#: ../../../CHANGELOG.md:2384
msgid "2022-07-29"
msgstr ""

#: ../../../CHANGELOG.md:2386
msgid "mautrix-discord support"
msgstr ""

#: ../../../CHANGELOG.md:2388
msgid "Thanks to [MdotAmaan](https://github.com/MdotAmaan)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mautrix-discord](https://mau.dev/mautrix/discord) bridge. See our [Setting up Mautrix Discord bridging](docs/configuring-playbook-bridge-mautrix-discord.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:2390
msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md) and [mx-puppet-discord](docs/configuring-playbook-bridge-mx-puppet-discord.md). You're free to use the bridge that serves you better, or even all three of them (for different users and use-cases)."
msgstr ""

#: ../../../CHANGELOG.md:2393
msgid "2022-07-27"
msgstr ""

#: ../../../CHANGELOG.md:2395
msgid "matrix-appservice-kakaotalk support"
msgstr ""

#: ../../../CHANGELOG.md:2397
msgid "The playbook now supports bridging to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) via [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) — a bridge based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code. Thanks to [hnarjis](https://github.com/hnarjis) for helping us add support for this!"
msgstr ""

#: ../../../CHANGELOG.md:2399
msgid "See our [Setting up Appservice Kakaotalk bridging](docs/configuring-playbook-bridge-appservice-kakaotalk.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2402
msgid "2022-07-20"
msgstr ""

#: ../../../CHANGELOG.md:2404
msgid "maubot support"
msgstr ""

#: ../../../CHANGELOG.md:2406
msgid "Thanks to [Stuart Mumford (@Cadair)](https://github.com/cadair) for starting ([PR #373](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/373) and [PR #622](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/622)) and to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s) for finishing up (in [PR #1894](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894)), the playbook can now help you set up [maubot](https://github.com/maubot/maubot) — a plugin-based Matrix bot system."
msgstr ""

#: ../../../CHANGELOG.md:2408
msgid "See our [Setting up maubot](docs/configuring-playbook-bot-maubot.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2411
msgid "2022-07-14"
msgstr ""

#: ../../../CHANGELOG.md:2413
msgid "mx-puppet-skype removal"
msgstr ""

#: ../../../CHANGELOG.md:2415
msgid "The playbook no longer includes the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge, because it has been broken and unmaintained for a long time. Users that have `matrix_mx_puppet_skype_enabled` in their configuration files will encounter an error when running the playbook until they remove references to this bridge from their configuration."
msgstr ""

#: ../../../CHANGELOG.md:2417
msgid "To completely clean up your server from `mx-puppet-skype`'s presence on it:"
msgstr ""

#: ../../../CHANGELOG.md:2419
msgid "ensure your Ansible configuration (`vars.yml` file) no longer contains `matrix_mx_puppet_skype_*` references"
msgstr ""

#: ../../../CHANGELOG.md:2420
msgid "stop and disable the systemd service (run `systemctl disable --now matrix-mx-puppet-skype` on the server)"
msgstr ""

#: ../../../CHANGELOG.md:2421
msgid "delete the systemd service (run `rm /etc/systemd/system/matrix-mx-puppet-skype.service` on the server)"
msgstr ""

#: ../../../CHANGELOG.md:2422
msgid "delete `/matrix/mx-puppet-skype` (run `rm -rf /matrix/mx-puppet-skype` on the server)"
msgstr ""

#: ../../../CHANGELOG.md:2423
msgid "drop the `matrix_mx_puppet_skype` database (run `/usr/local/bin/matrix-postgres-cli` on the server, and execute the `DROP DATABASE matrix_mx_puppet_skype;` query there)"
msgstr ""

#: ../../../CHANGELOG.md:2425
msgid "If you still need bridging to [Skype](https://www.skype.com/), consider switching to [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) instead. See [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md)."
msgstr ""

#: ../../../CHANGELOG.md:2427
msgid "If you think this is a mistake and `mx-puppet-skype` works for you (or you get it to work somehow), let us know and we may reconsider this removal."
msgstr ""

#: ../../../CHANGELOG.md:2429
msgid "signald (0.19.0+) upgrade requires data migration"
msgstr ""

#: ../../../CHANGELOG.md:2431
msgid "In [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921) we upgraded [signald](https://signald.org/) (used by the mautrix-signal bridge) from `v0.18.5` to `v0.20.0`."
msgstr ""

#: ../../../CHANGELOG.md:2433
msgid "Back in the [`v0.19.0` released of signald](https://gitlab.com/signald/signald/-/blob/main/releases/0.19.0.md) (which we skipped and migrated straight to `v0.20.0`), a new `--migrate-data` command had been added that migrates avatars, group images, attachments, etc., into the database (those were previously stored in the filesystem)."
msgstr ""

#: ../../../CHANGELOG.md:2435
msgid "If you've been using the mautrix-signal bridge for a while, you may have files stored in the local filesystem, which will need to be upgraded."
msgstr ""

#: ../../../CHANGELOG.md:2437
msgid "We attempt to do this data migration automatically every time Signald starts (`matrix-mautrix-signal-daemon.service`) using a `ExecStartPre` systemd unit definition."
msgstr ""

#: ../../../CHANGELOG.md:2439
msgid "Keep an eye on your Signal bridge and let us know (in our [support room](README.md#support) or in [Pull Request #1921](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1921)) if you experience any trouble!"
msgstr ""

#: ../../../CHANGELOG.md:2442
msgid "2022-07-05"
msgstr ""

#: ../../../CHANGELOG.md:2444
msgid "Ntfy push notifications support"
msgstr ""

#: ../../../CHANGELOG.md:2446
msgid "Thanks to [Julian Foad](https://matrix.to/#/@julian:foad.me.uk), the playbook can now install a [ntfy](https://ntfy.sh/) push notifications server for you."
msgstr ""

#: ../../../CHANGELOG.md:2448
msgid "See our [Setting up the ntfy push notifications server](docs/configuring-playbook-ntfy.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2451
msgid "2022-06-23"
msgstr ""

#: ../../../CHANGELOG.md:2453
msgid "(Potential Backward Compatibility Break) Changes around metrics collection"
msgstr ""

#: ../../../CHANGELOG.md:2455
msgid "**TLDR**: we've made extensive **changes to metrics exposure/collection, which concern people using an external Prometheus server**. If you don't know what that is, you don't need to read below."
msgstr ""

#: ../../../CHANGELOG.md:2457
msgid "**Why do major changes to metrics**? Because various services were exposing metrics in different, hacky, ways. Synapse was exposing metrics at `/_synapse/metrics` and `/_synapse-worker-…/metrics` on the `matrix.example.com`. The Hookshot role was **repurposing** the Granana web UI domain (`stats.example.com`) for exposing its metrics on `stats.example.com/hookshot/metrics`, while protecting these routes using Basic Authentication **normally used for Synapse** (`/_synapse/metrics`). Node-exporter and Postgres-exporter roles were advising for more `stats.example.com` usage in manual ways. Each role was doing things differently and mixing variables from other roles. Each metrics endpoint was ending up in a different place, protected by who knows what Basic Authentication credentials (if protected at all)."
msgstr ""

#: ../../../CHANGELOG.md:2459
msgid "**The solution**: a completely revamped way to expose metrics to an external Prometheus server. We are **introducing new `https://matrix.example.com/metrics/*` endpoints**, where various services *can* expose their metrics, for collection by external Prometheus servers. To enable the `/metrics/*` endpoints, use `matrix_nginx_proxy_proxy_matrix_metrics_enabled: true`. There's also a way to protect access using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). See the `matrix-nginx-proxy` role or our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation for additional variables around `matrix_nginx_proxy_proxy_matrix_metrics_enabled`."
msgstr ""

#: ../../../CHANGELOG.md:2461
msgid "**If you are using the [Hookshot bridge](docs/configuring-playbook-bridge-hookshot.md)**, you may find that:"
msgstr ""

#: ../../../CHANGELOG.md:2462
msgid "**Metrics may not be enabled by default anymore**:"
msgstr ""

#: ../../../CHANGELOG.md:2463
msgid "If Prometheus is enabled (`prometheus_enabled: true`), then Hookshot metrics will be enabled automatically (`matrix_hookshot_metrics_enabled: true`). These metrics will be collected from the local (in-container) Prometheus over the container network."
msgstr ""

#: ../../../CHANGELOG.md:2464
msgid "**If Prometheus is not enabled** (you are either not using Prometheus or are using an external one), **Hookshot metrics will not be enabled by default anymore**. Feel free to enable them by setting `matrix_hookshot_metrics_enabled: true`. Also, see below."
msgstr ""

#: ../../../CHANGELOG.md:2465
msgid "When metrics are meant to be **consumed by an external Prometheus server**, `matrix_hookshot_metrics_proxying_enabled` needs to be set to `true`, so that metrics would be exposed (proxied) \"publicly\" on `https://matrix.example.com/metrics/hookshot`. To make use of this, you'll also need to enable the new `https://matrix.example.com/metrics/*` endpoints mentioned above, using `matrix_nginx_proxy_proxy_matrix_metrics_enabled`. Learn more in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation."
msgstr ""

#: ../../../CHANGELOG.md:2466
msgid "**We've changed the URL we're exposing Hookshot metrics at** for external Prometheus servers. Until now, you were advised to consume Hookshot metrics from `https://stats.example.com/hookshot/metrics` (working in conjunction with `matrix_nginx_proxy_proxy_synapse_metrics`). From now on, **this no longer works**. As described above, you need to start consuming metrics from `https://matrix.example.com/metrics/hookshot`."
msgstr ""

#: ../../../CHANGELOG.md:2468
msgid "**If you're using node-exporter** (`matrix_prometheus_node_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_node_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/node-exporter`."
msgstr ""

#: ../../../CHANGELOG.md:2470
msgid "**If you're using [postgres-exporter](docs/configuring-playbook-prometheus-grafana.md#enable-metrics-and-graphs-for-postgres-optional)** (`prometheus_postgres_exporter_enabled: true`) and would like to collect its metrics from an external Prometheus server, see `matrix_prometheus_services_proxy_connect_prometheus_postgres_exporter_metrics_proxying_enabled` described in our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation. You will be able to collect its metrics from `https://matrix.example.com/metrics/postgres-exporter`."
msgstr ""

#: ../../../CHANGELOG.md:2472
msgid "**If you're using Synapse** and would like to collect its metrics from an external Prometheus server, you may find that:"
msgstr ""

#: ../../../CHANGELOG.md:2474
msgid "Exposing metrics is now done using `matrix_synapse_metrics_proxying_enabled`, not `matrix_nginx_proxy_proxy_synapse_metrics: true`. You may still need to enable metrics using `matrix_synapse_metrics_enabled: true` before exposing them."
msgstr ""

#: ../../../CHANGELOG.md:2475
msgid "Protecting metrics endpoints using [Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) is now done in another way. See our [Collecting metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-metrics-to-an-external-prometheus-server) documentation"
msgstr ""

#: ../../../CHANGELOG.md:2476
msgid "If Synapse metrics are exposed, they will be made available at `https://matrix.example.com/metrics/synapse/main-process` or `https://matrix.example.com/metrics/synapse/worker/TYPE-ID` (when workers are enabled), not at `https://matrix.example.com/_synapse/metrics` and `https://matrix.example.com/_synapse-worker-…/metrics`"
msgstr ""

#: ../../../CHANGELOG.md:2477
msgid "The playbook still generates an `external_prometheus.yml.example` sample file for scraping Synapse from Prometheus as described in [Collecting Synapse worker metrics to an external Prometheus server](docs/configuring-playbook-prometheus-grafana.md#collecting-synapse-worker-metrics-to-an-external-prometheus-server), but it's now saved under `/matrix/synapse` (not `/matrix`)."
msgstr ""

#: ../../../CHANGELOG.md:2479
msgid "**If you where already using a external Prometheus server** before this change, and you gave a hashed version of the password as a variable, the playbook will now take care of hashing the password for you. Thus, you need to provide the non-hashed version now."
msgstr ""

#: ../../../CHANGELOG.md:2481
msgid "2022-06-13"
msgstr ""

#: ../../../CHANGELOG.md:2483
msgid "go-skype-bridge bridging support"
msgstr ""

#: ../../../CHANGELOG.md:2485
msgid "Thanks to [CyberShadow](https://github.com/CyberShadow), the playbook can now install the [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) bridge for bridging Matrix to [Skype](https://www.skype.com/)."
msgstr ""

#: ../../../CHANGELOG.md:2487
msgid "See our [Setting up Go Skype Bridge bridging](docs/configuring-playbook-bridge-go-skype-bridge.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2489
msgid "The playbook has supported [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridging (see [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md)) since [2020-04-09](#2020-04-09), but `mx-puppet-skype` is reportedly broken."
msgstr ""

#: ../../../CHANGELOG.md:2492
msgid "2022-06-09"
msgstr ""

#: ../../../CHANGELOG.md:2494
msgid "Running Ansible in a container can now happen on the Matrix server itself"
msgstr ""

#: ../../../CHANGELOG.md:2496
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:2499
msgid "2022-05-31"
msgstr ""

#: ../../../CHANGELOG.md:2501
msgid "Synapse v1.60 upgrade may cause trouble and require manual intervention"
msgstr ""

#: ../../../CHANGELOG.md:2503
msgid "Synapse v1.60 will try to add a new unique index to `state_group_edges` upon startup and could fail if your database is corrupted."
msgstr ""

#: ../../../CHANGELOG.md:2505
msgid "We haven't observed this problem yet, but [the Synapse v1.60.0 upgrade notes](https://github.com/element-hq/synapse/blob/v1.60.0/docs/upgrade.md#adding-a-new-unique-index-to-state_group_edges-could-fail-if-your-database-is-corrupted) mention it, so we're giving you a heads up here in case you're unlucky."
msgstr ""

#: ../../../CHANGELOG.md:2507
msgid "**If Synapse fails to start** after your next playbook run, you'll need to:"
msgstr ""

#: ../../../CHANGELOG.md:2509
msgid "SSH into the Matrix server"
msgstr ""

#: ../../../CHANGELOG.md:2510
msgid "launch `/usr/local/bin/matrix-postgres-cli`"
msgstr ""

#: ../../../CHANGELOG.md:2511
msgid "switch to the `synapse` database: `\\c synapse`"
msgstr ""

#: ../../../CHANGELOG.md:2512
msgid "run the following SQL query:"
msgstr ""

#: ../../../CHANGELOG.md:2531
msgid "You could then restart services: `ansible-playbook -i inventory/hosts setup.yml --tags=start`"
msgstr ""

#: ../../../CHANGELOG.md:2534
msgid "2022-04-25"
msgstr ""

#: ../../../CHANGELOG.md:2536
msgid "Buscarron bot support"
msgstr ""

#: ../../../CHANGELOG.md:2538
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [the Buscarron bot](https://github.com/etkecc/buscarron). It's a bot you can use to send any form (HTTP POST, HTML) to a (encrypted) Matrix room"
msgstr ""

#: ../../../CHANGELOG.md:2540
msgid "See our [Setting up Buscarron](docs/configuring-playbook-bot-buscarron.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2543
msgid "2022-04-21"
msgstr ""

#: ../../../CHANGELOG.md:2545
msgid "matrix-registration-bot support"
msgstr ""

#: ../../../CHANGELOG.md:2547
msgid "Thanks to [Julian-Samuel Gebühr (@moan0s)](https://github.com/moan0s), the playbook can now help you set up [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) — a bot that is used to create and manage registration tokens for a Matrix server."
msgstr ""

#: ../../../CHANGELOG.md:2549
msgid "See our [Setting up matrix-registration-bot](docs/configuring-playbook-bot-matrix-registration-bot.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2552
msgid "2022-04-19"
msgstr ""

#: ../../../CHANGELOG.md:2554
msgid "BorgBackup support"
msgstr ""

#: ../../../CHANGELOG.md:2556
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now set up [Borg](https://www.borgbackup.org/) backups with [borgmatic](https://torsion.org/borgmatic/) of your Matrix server."
msgstr ""

#: ../../../CHANGELOG.md:2558
msgid "See our [Setting up BorgBackup](docs/configuring-playbook-backup-borg.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2560
msgid "(Compatibility Break) Upgrading to Synapse v1.57 on setups using workers may require manual action"
msgstr ""

#: ../../../CHANGELOG.md:2562
msgid "If you're running a worker setup for Synapse (`matrix_synapse_workers_enabled: true`), the [Synapse v1.57 upgrade notes](https://github.com/element-hq/synapse/blob/v1.57.0rc1/docs/upgrade.md#changes-to-database-schema-for-application-services) say that you may need to take special care when upgrading:"
msgstr ""

#: ../../../CHANGELOG.md:2564
msgid "Synapse v1.57.0 includes a change to the way transaction IDs are managed for application services. If your deployment uses a dedicated worker for application service traffic, **it must be stopped** when the database is upgraded (which normally happens when the main process is upgraded), to ensure the change is made safely without any risk of reusing transaction IDs."
msgstr ""

#: ../../../CHANGELOG.md:2566
msgid "If you're not running an `appservice` worker (`matrix_synapse_workers_preset: little-federation-helper` or `matrix_synapse_workers_appservice_workers_count: 0`), you are probably safe to upgrade as per normal, without taking any special care."
msgstr ""

#: ../../../CHANGELOG.md:2568
msgid "If you are running a setup with an `appservice` worker, or otherwise want to be on the safe side, we recommend the following upgrade path:"
msgstr ""

#: ../../../CHANGELOG.md:2570
msgid "Pull the latest playbook changes"
msgstr ""

#: ../../../CHANGELOG.md:2571
msgid "Stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)"
msgstr ""

#: ../../../CHANGELOG.md:2572
msgid "Re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all`)"
msgstr ""

#: ../../../CHANGELOG.md:2573
msgid "Start Postgres (`systemctl start matrix-postgres` on the server)"
msgstr ""

#: ../../../CHANGELOG.md:2574
msgid "Start the main Synapse process (`systemctl start matrix-synapse` on the server)"
msgstr ""

#: ../../../CHANGELOG.md:2575
msgid "Wait a while so that Synapse can start and complete the database migrations. You can use `journalctl -fu matrix-synapse` on the server to get a clue. Waiting a few minutes should also be enough."
msgstr ""

#: ../../../CHANGELOG.md:2576
msgid "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:2579
msgid "2022-04-14"
msgstr ""

#: ../../../CHANGELOG.md:2581
msgid "(Compatibility Break) Changes to `docker-src` permissions necessitating manual action"
msgstr ""

#: ../../../CHANGELOG.md:2583
msgid "Users who build container images from source will need to manually correct file permissions of some directories on the server."
msgstr ""

#: ../../../CHANGELOG.md:2585
msgid "When self-building, the playbook used to `git clone` repositories (into `/matrix/SERVICE/docker-src`) using the `root` user, but now uses `matrix` instead to work around [the following issue with git 2.35.2](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1749)."
msgstr ""

#: ../../../CHANGELOG.md:2587
msgid "If you're on a non-`amd64` architecture (that is, you're overriding `matrix_architecture` in your `vars.yml` file) or you have enabled self-building for some service (e.g. `matrix_*_self_build: true`), you're certainly building some container images from source and have `docker-src` directories with mixed permissions lying around in various `/matrix/SERVICE` directories."
msgstr ""

#: ../../../CHANGELOG.md:2589
msgid "The playbook *could* correct these permissions automatically, but that requires additional Ansible tasks in some ~45 different places — something that takes considerable effort. So we ask users observing errors related to `docker-src` directories to correct the problem manually by **running this command on the Matrix server** (which deletes all `/matrix/*/docker-src` directories): `find /matrix -maxdepth 2 -name 'docker-src' | xargs rm -rf`"
msgstr ""

#: ../../../CHANGELOG.md:2592
msgid "2022-03-17"
msgstr ""

#: ../../../CHANGELOG.md:2594
msgid "(Compatibility Break) ma1sd identity server no longer installed by default"
msgstr ""

#: ../../../CHANGELOG.md:2596
msgid "The playbook no longer installs the [ma1sd](https://github.com/ma1uta/ma1sd) identity server by default. The next time you run the playbook, ma1sd will be uninstalled from your server, unless you explicitly enable the ma1sd service (see how below)."
msgstr ""

#: ../../../CHANGELOG.md:2598
msgid "The main reason we used to install ma1sd by default in the past was to prevent Element clients from talking to the `matrix.org` / `vector.im` identity servers, by forcing it to talk to our own self-hosted (but otherwise useless) identity server instead, thus preventing contact list leaks."
msgstr ""

#: ../../../CHANGELOG.md:2600
msgid "Since Element clients no longer default to using a public identity server if another one is not provided, we can stop installing ma1sd."
msgstr ""

#: ../../../CHANGELOG.md:2602
msgid "If you need to install the ma1sd identity server for some reason, you can explicitly enable it by adding this to your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:2609
msgid "2022-02-12"
msgstr ""

#: ../../../CHANGELOG.md:2611
msgid "matrix_encryption_disabler support"
msgstr ""

#: ../../../CHANGELOG.md:2613
msgid "We now support installing the [matrix_encryption_disabler](https://github.com/digitalentity/matrix_encryption_disabler) Synapse module, which lets you prevent End-to-End-Encryption from being enabled by users on your homeserver. The popular opinion is that this is dangerous and shouldn't be done, but there are valid use cases for disabling encryption discussed [here](https://github.com/matrix-org/synapse/issues/4401)."
msgstr ""

#: ../../../CHANGELOG.md:2615
msgid "To enable this module (and prevent encryption from being used on your homserver), add `matrix_synapse_ext_encryption_disabler_enabled: true` to your configuration. This module provides further customization. Check its other configuration settings (and defaults) in `roles/custom/matrix-synapse/defaults/main.yml`."
msgstr ""

#: ../../../CHANGELOG.md:2618
msgid "2022-02-01"
msgstr ""

#: ../../../CHANGELOG.md:2620
msgid "matrix-hookshot bridging support"
msgstr ""

#: ../../../CHANGELOG.md:2622
msgid "Thanks to [HarHarLinks](https://github.com/HarHarLinks), the playbook can now install the [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) bridge for bridging Matrix to multiple project management services, such as GitHub, GitLab and JIRA. See our [Setting up matrix-hookshot](docs/configuring-playbook-bridge-hookshot.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2625
msgid "2022-01-31"
msgstr ""

#: ../../../CHANGELOG.md:2627
msgid "ARM support for matrix-corporal"
msgstr ""

#: ../../../CHANGELOG.md:2629
msgid "[matrix-corporal](https://github.com/devture/matrix-corporal) (as of version `2.2.3`) is now published to Docker Hub (see [devture/matrix-corporal](https://hub.docker.com/r/devture/matrix-corporal)) as a multi-arch container image with support for all these platforms: `linux/amd64`, `linux/arm64/v8` and `linux/arm/v7`. The playbook no longer resorts to self-building matrix-corporal on these ARM architectures."
msgstr ""

#: ../../../CHANGELOG.md:2632
msgid "2022-01-07"
msgstr ""

#: ../../../CHANGELOG.md:2634
msgid "Dendrite support"
msgstr ""

#: ../../../CHANGELOG.md:2636
msgid "**TLDR**: We now have optional experimental [Dendrite](https://github.com/matrix-org/dendrite) homeserver support for new installations. **Existing (Synapse) installations need to be updated**, because some internals changed. See [Adapting the configuration for existing Synapse installations](#adapting-the-configuration-for-existing-synapse-installations)."
msgstr ""

#: ../../../CHANGELOG.md:2638
msgid "[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:2640
msgid "We believe that 2022 will be the year of the non-Synapse Matrix server!"
msgstr ""

#: ../../../CHANGELOG.md:2642
msgid "The playbook was previously quite [Synapse](https://github.com/element-hq/synapse)-centric, but can now accommodate multiple homeserver implementations. Only one homeserver implementation can be active (installed) at a given time."
msgstr ""

#: ../../../CHANGELOG.md:2644
msgid "**Synapse is still the default homeserver implementation** installed by the playbook. A new variable (`matrix_homeserver_implementation`) controls which server implementation is enabled (`synapse` or `dendrite` at the given moment)."
msgstr ""

#: ../../../CHANGELOG.md:2646
msgid "Adapting the configuration for existing Synapse installations"
msgstr ""

#: ../../../CHANGELOG.md:2648
msgid "Because the playbook is not so Synapse-centric anymore, a small configuration change is necessary for existing installations to bring them up to date."
msgstr ""

#: ../../../CHANGELOG.md:2650
msgid "The `vars.yml` file for **existing installations will need to be updated** by adding this **additional configuration**:"
msgstr ""

#: ../../../CHANGELOG.md:2662
msgid "Trying out Dendrite"
msgstr ""

#: ../../../CHANGELOG.md:2664
msgid "Finally, **to try out Dendrite**, we recommend that you **use a new server** and the following addition to your `vars.yml` configuration:"
msgstr ""

#: ../../../CHANGELOG.md:2670
msgid "**The homeserver implementation of an existing server cannot be changed** (e.g. from Synapse to Dendrite) without data loss."
msgstr ""

#: ../../../CHANGELOG.md:2672
msgid "We're excited to gain support for other homeserver implementations, like [Conduit](https://conduit.rs/), etc!"
msgstr ""

#: ../../../CHANGELOG.md:2674
msgid "Honoroit bot support"
msgstr ""

#: ../../../CHANGELOG.md:2676
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook can now help you set up [Honoroit](https://github.com/etkecc/honoroit) — a helpdesk bot."
msgstr ""

#: ../../../CHANGELOG.md:2678
msgid "See our [Setting up Honoroit](docs/configuring-playbook-bot-honoroit.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:2681
msgid "2022-01-06"
msgstr ""

#: ../../../CHANGELOG.md:2683
msgid "Cinny support"
msgstr ""

#: ../../../CHANGELOG.md:2685
msgid "Thanks to [Aine](https://gitlab.com/etke.cc) of [etke.cc](https://etke.cc/), the playbook now supports [Cinny](https://cinny.in/) — a new simple, elegant and secure Matrix client."
msgstr ""

#: ../../../CHANGELOG.md:2687
msgid "By default, we still install Element Web. Still, people who'd like to try Cinny out can now install it via the playbook."
msgstr ""

#: ../../../CHANGELOG.md:2689
msgid "Additional details are available in [Setting up Cinny](docs/configuring-playbook-client-cinny.md)."
msgstr ""

#: ../../../CHANGELOG.md:2692
msgid "2021-12-22"
msgstr ""

#: ../../../CHANGELOG.md:2694
msgid "Twitter bridging support via mautrix-twitter"
msgstr ""

#: ../../../CHANGELOG.md:2696
msgid "Thanks to [Matthew Cengia](https://github.com/mattcen) and [Shreyas Ajjarapu](https://github.com/shreyasajj), besides [mx-puppet-twitter](docs/configuring-playbook-bridge-mx-puppet-twitter.md), bridging to [Twitter](https://twitter.com/) can now also happen with [mautrix-twitter](docs/configuring-playbook-bridge-mautrix-twitter.md)."
msgstr ""

#: ../../../CHANGELOG.md:2699
msgid "2021-12-14"
msgstr ""

#: ../../../CHANGELOG.md:2701
msgid "(Security) Users of the Signal bridge may wish to upgrade it to work around log4j vulnerability"
msgstr ""

#: ../../../CHANGELOG.md:2703
msgid "Recently, a security vulnerability affecting the Java logging package `log4j` [has been discovered](https://www.huntress.com/blog/rapid-response-critical-rce-vulnerability-is-affecting-java). Software that uses this Java package is potentially vulnerable."
msgstr ""

#: ../../../CHANGELOG.md:2705
msgid "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:2708
msgid "2021-11-11"
msgstr ""

#: ../../../CHANGELOG.md:2710
msgid "Dropped support for Postgres v9.6"
msgstr ""

#: ../../../CHANGELOG.md:2712
msgid "Postgres v9.6 reached its end of life today, so the playbook will refuse to run for you if you're still on that version."
msgstr ""

#: ../../../CHANGELOG.md:2714
msgid "Synapse still supports v9.6 (for now), but we're retiring support for it early, to avoid having to maintain support for so many Postgres versions. Users that are still on Postgres v9.6 can easily [upgrade Postgres](docs/maintenance-postgres.md#upgrading-postgresql) via the playbook."
msgstr ""

#: ../../../CHANGELOG.md:2717
msgid "2021-10-23"
msgstr ""

#: ../../../CHANGELOG.md:2719
msgid "Hangouts bridge no longer updated, superseded by a Googlechat bridge"
msgstr ""

#: ../../../CHANGELOG.md:2721
msgid "The mautrix-hangouts bridge is no longer receiving updates upstream and is likely to stop working in the future. We still retain support for this bridge in the playbook, but you're encouraged to switch away from it."
msgstr ""

#: ../../../CHANGELOG.md:2723
msgid "There's a new [mautrix-googlechat](https://github.com/mautrix/googlechat) bridge that you can [install using the playbook](docs/configuring-playbook-bridge-mautrix-googlechat.md). Your **Hangouts bridge data will not be migrated**, however. You need to start fresh with the new bridge."
msgstr ""

#: ../../../CHANGELOG.md:2726
msgid "2021-08-23"
msgstr ""

#: ../../../CHANGELOG.md:2728
msgid "LinkedIn bridging support via beeper-linkedin"
msgstr ""

#: ../../../CHANGELOG.md:2730
msgid "Thanks to [Alexandar Mechev](https://github.com/apmechev), the playbook can now install the [beeper-linkedin](https://gitlab.com/beeper/linkedin) bridge for bridging to [LinkedIn](https://www.linkedin.com/) Messaging."
msgstr ""

#: ../../../CHANGELOG.md:2732
msgid "This brings the total number of bridges supported by the playbook up to 20. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)."
msgstr ""

#: ../../../CHANGELOG.md:2734
msgid "To get started with bridging to LinkedIn, see [Setting up Beeper LinkedIn bridging](docs/configuring-playbook-bridge-beeper-linkedin.md)."
msgstr ""

#: ../../../CHANGELOG.md:2737
msgid "2021-08-20"
msgstr ""

#: ../../../CHANGELOG.md:2739
msgid "Sygnal upgraded — ARM support and no longer requires a database"
msgstr ""

#: ../../../CHANGELOG.md:2741
msgid "The [Sygnal](docs/configuring-playbook-sygnal.md) push gateway has been upgraded from `v0.9.0` to `v0.10.1`."
msgstr ""

#: ../../../CHANGELOG.md:2743
msgid "This is an optional component for the playbook, so most of our users wouldn't care about this announcement."
msgstr ""

#: ../../../CHANGELOG.md:2745
msgid "Since this feels like a relatively big (and untested, as of yet) Sygnal change, we're putting up this changelog entry."
msgstr ""

#: ../../../CHANGELOG.md:2747
msgid "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:2750
msgid "2021-05-21"
msgstr ""

#: ../../../CHANGELOG.md:2752
msgid "Hydrogen support"
msgstr ""

#: ../../../CHANGELOG.md:2754
msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook now supports [Hydrogen](https://github.com/vector-im/hydrogen-web) — a new lightweight Matrix client with legacy and mobile browser support."
msgstr ""

#: ../../../CHANGELOG.md:2756
msgid "By default, we still install Element Web, as Hydrogen is still not fully-featured. Still, people who'd like to try Hydrogen out can now install it via the playbook."
msgstr ""

#: ../../../CHANGELOG.md:2758
msgid "Additional details are available in [Setting up Hydrogen](docs/configuring-playbook-client-hydrogen.md)."
msgstr ""

#: ../../../CHANGELOG.md:2761
msgid "2021-05-19"
msgstr ""

#: ../../../CHANGELOG.md:2763
msgid "Heisenbridge support"
msgstr ""

#: ../../../CHANGELOG.md:2765
msgid "Thanks to [Toni Spets (hifi)](https://github.com/hifi), the playbook now supports bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) using yet another bridge (besides matrix-appservice-irc), called [Heisenbridge](https://github.com/hifi/heisenbridge)."
msgstr ""

#: ../../../CHANGELOG.md:2767
msgid "Additional details are available in [Setting up Heisenbridge bouncer-style IRC bridging](docs/configuring-playbook-bridge-heisenbridge.md)."
msgstr ""

#: ../../../CHANGELOG.md:2770
msgid "2021-04-16"
msgstr ""

#: ../../../CHANGELOG.md:2772
msgid "Disabling TLSv1 and TLSv1.1 for coturn"
msgstr ""

#: ../../../CHANGELOG.md:2774
msgid "To improve security, we've [removed TLSv1 and TLSv1.1 support](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/999) from our default [coturn](https://github.com/coturn/coturn) configuration."
msgstr ""

#: ../../../CHANGELOG.md:2776
msgid "If you need to support old clients, you can re-enable both (or whichever one you need) with the following configuration:"
msgstr ""

#: ../../../CHANGELOG.md:2784
msgid "2021-04-05"
msgstr ""

#: ../../../CHANGELOG.md:2786
msgid "Automated local Postgres backup support"
msgstr ""

#: ../../../CHANGELOG.md:2788
msgid "Thanks to [foxcris](https://github.com/foxcris), the playbook can now make automated local Postgres backups on a fixed schedule using [docker-postgres-backup-local](https://github.com/prodrigestivill/docker-postgres-backup-local)."
msgstr ""

#: ../../../CHANGELOG.md:2790
msgid "Additional details are available in [Setting up Postgres backup](docs/configuring-playbook-postgres-backup.md)."
msgstr ""

#: ../../../CHANGELOG.md:2793
msgid "2021-04-03"
msgstr ""

#: ../../../CHANGELOG.md:2795
msgid "Mjolnir moderation tool (bot) support"
msgstr ""

#: ../../../CHANGELOG.md:2797
msgid "Thanks to [Aaron Raimist](https://github.com/aaronraimist), the playbook can now install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation tool (bot)."
msgstr ""

#: ../../../CHANGELOG.md:2799
msgid "Additional details are available in [Setting up Mjolnir](docs/configuring-playbook-bot-mjolnir.md)."
msgstr ""

#: ../../../CHANGELOG.md:2802
msgid "2021-03-20"
msgstr ""

#: ../../../CHANGELOG.md:2804
msgid "Sygnal push gateway support"
msgstr ""

#: ../../../CHANGELOG.md:2806
msgid "The playbook can now install the [Sygnal](https://github.com/matrix-org/sygnal) push gateway for you."
msgstr ""

#: ../../../CHANGELOG.md:2808
msgid "This is only useful to people who develop/build their own Matrix client applications."
msgstr ""

#: ../../../CHANGELOG.md:2810
msgid "Additional details are available in our [Setting up the Sygnal push gateway](docs/configuring-playbook-sygnal.md) docs."
msgstr ""

#: ../../../CHANGELOG.md:2813
msgid "2021-03-16"
msgstr ""

#: ../../../CHANGELOG.md:2815
msgid "Go-NEB support"
msgstr ""

#: ../../../CHANGELOG.md:2817
msgid "Thanks to [Zir0h](https://github.com/Zir0h), the playbook can now install and configure the [Go-NEB](https://github.com/matrix-org/go-neb) bot."
msgstr ""

#: ../../../CHANGELOG.md:2819
msgid "Additional details are available in [Setting up Go-NEB](docs/configuring-playbook-bot-go-neb.md)."
msgstr ""

#: ../../../CHANGELOG.md:2822
msgid "2021-02-19"
msgstr ""

#: ../../../CHANGELOG.md:2824
msgid "GroupMe bridging support via mx-puppet-groupme"
msgstr ""

#: ../../../CHANGELOG.md:2826
msgid "Thanks to [Cody Neiman](https://github.com/xangelix), the playbook can now install the [mx-puppet-groupme](https://gitlab.com/robintown/mx-puppet-groupme) bridge for bridging to [GroupMe](https://groupme.com)."
msgstr ""

#: ../../../CHANGELOG.md:2828
msgid "This brings the total number of bridges supported by the playbook up to 18. See all supported bridges [here](docs/configuring-playbook.md#bridging-other-networks)."
msgstr ""

#: ../../../CHANGELOG.md:2830
msgid "To get started, follow our [Setting up MX Puppet GroupMe](docs/configuring-playbook-bridge-mx-puppet-groupme.md) docs."
msgstr ""

#: ../../../CHANGELOG.md:2832
msgid "Mautrix Instagram bridging support"
msgstr ""

#: ../../../CHANGELOG.md:2834
msgid "The playbook now supports bridging with [Instagram](https://www.instagram.com/) by installing the [mautrix-instagram](https://github.com/tulir/mautrix-instagram) bridge. This playbook functionality is available thanks to [@MarcProe](https://github.com/MarcProe)."
msgstr ""

#: ../../../CHANGELOG.md:2836
msgid "Additional details are available in [Setting up Mautrix Instagram bridging](docs/configuring-playbook-bridge-mautrix-instagram.md)."
msgstr ""

#: ../../../CHANGELOG.md:2838
msgid "Synapse workers support"
msgstr ""

#: ../../../CHANGELOG.md:2840
msgid "After [lots and lots of work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/456) (done over many months by [Marcel Partap](https://github.com/eMPee584), [Max Klenk](https://github.com/maxklenk), a few others from the [Technical University of Dresden, Germany](https://tu-dresden.de/) and various other contributors), support for Synapse workers has finally landed."
msgstr ""

#: ../../../CHANGELOG.md:2842
msgid "Having support for workers makes the playbook suitable for larger homeserver deployments."
msgstr ""

#: ../../../CHANGELOG.md:2844
msgid "Our setup is not yet perfect (we don't support all types of workers; scaling some of them (like `pusher`, `federation_sender`) beyond a single instance is not yet supported). Still, it's a great start and can already power homeservers with thousands of users, like the [Matrix deployment at TU Dresden](https://doc.matrix.tu-dresden.de/en/) discussed in [Matrix Live S06E09 — TU Dresden on their Matrix deployment](https://www.youtube.com/watch?v=UHJX2pmT2gk)."
msgstr ""

#: ../../../CHANGELOG.md:2846
msgid "By default, workers are disabled and Synapse runs as a single process (homeservers don't necessarily need the complexity and increased memory requirements of running a worker-based setup)."
msgstr ""

#: ../../../CHANGELOG.md:2848
msgid "To enable Synapse workers, follow our [Load balancing with workers](docs/configuring-playbook-synapse.md#load-balancing-with-workers) documentation."
msgstr ""

#: ../../../CHANGELOG.md:2851
msgid "2021-02-12"
msgstr ""

#: ../../../CHANGELOG.md:2853
msgid "(Potential Breaking Change) Monitoring/metrics support using Prometheus and Grafana"
msgstr ""

#: ../../../CHANGELOG.md:2855
msgid "Thanks to [@Peetz0r](https://github.com/Peetz0r), the playbook can now install a bunch of tools for monitoring your Matrix server: the [Prometheus](https://prometheus.io) time-series database server, the Prometheus [node-exporter](https://prometheus.io/docs/guides/node-exporter/) host metrics exporter, and the [Grafana](https://grafana.com/) web UI."
msgstr ""

#: ../../../CHANGELOG.md:2857
msgid "To get get these installed, follow our [Enabling metrics and graphs (Prometheus, Grafana) for your Matrix server](docs/configuring-playbook-prometheus-grafana.md) docs page."
msgstr ""

#: ../../../CHANGELOG.md:2859
msgid "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:2862
msgid "2021-01-31"
msgstr ""

#: ../../../CHANGELOG.md:2864
msgid "Etherpad support"
msgstr ""

#: ../../../CHANGELOG.md:2866
msgid "Thanks to [@pushytoxin](https://github.com/pushytoxin), the playbook can now install the [Etherpad](https://etherpad.org) realtime collaborative text editor. It can be used in a [Jitsi](https://jitsi.org/) audio/video call or integrated as a widget into Matrix chat rooms via the [Dimension](https://dimension.t2bot.io) integration manager."
msgstr ""

#: ../../../CHANGELOG.md:2868
msgid "To get it installed, follow [our Etherpad docs page](docs/configuring-playbook-etherpad.md)."
msgstr ""

#: ../../../CHANGELOG.md:2871
msgid "2021-01-22"
msgstr ""

#: ../../../CHANGELOG.md:2873
msgid "(Breaking Change) Postgres changes that require manual intervention"
msgstr ""

#: ../../../CHANGELOG.md:2875
msgid "We've made a lot of changes to our Postgres setup and some manual action is required (described below). Sorry about the hassle."
msgstr ""

#: ../../../CHANGELOG.md:2877
msgid "**TLDR**: people running an [external Postgres server](docs/configuring-playbook-external-postgres.md) don't need to change anything for now. Everyone else (the common/default case) is affected and manual intervention is required."
msgstr ""

#: ../../../CHANGELOG.md:2879
msgid "Why?"
msgstr ""

#: ../../../CHANGELOG.md:2881
msgid "we had a default Postgres password (`matrix_postgres_connection_password: synapse-password`), which we think is **not ideal for security anymore**. We now ask you to generate/provide a strong password yourself. Postgres is normally not exposed outside the container network, making it relatively secure, but still:"
msgstr ""

#: ../../../CHANGELOG.md:2882
msgid "by tweaking the configuration, you may end up intentionally or unintentionally exposing your Postgres server to the local network (or even publicly), while still using the default default credentials (`synapse` + `synapse-password`)"
msgstr ""

#: ../../../CHANGELOG.md:2883
msgid "we can't be sure we trust all these services (bridges, etc). Some of them may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)"
msgstr ""

#: ../../../CHANGELOG.md:2884
msgid "you may have other containers running on the same Docker network, which may try to talk to or attack `matrix-postgres` using the default credentials (`synapse` + `synapse-password`)"
msgstr ""

#: ../../../CHANGELOG.md:2885
msgid "our Postgres usage **was overly-focused on Synapse** (default username of `synapse` and default/main database of `homeserver`). Additional homeserver options are likely coming in the future ([Dendrite](https://matrix.org/docs/projects/server/dendrite), [Conduit](https://matrix.org/docs/projects/server/conduit), [The Construct](https://matrix.org/docs/projects/server/construct)), so being too focused on `matrix-synapse` is not great. From now on, Synapse is just another component of this playbook, which happens to have an *additional database* (called `synapse`) on the Postgres server."
msgstr ""

#: ../../../CHANGELOG.md:2886
msgid "we try to reorganize things a bit, to make the playbook even friendlier to people running an [external Postgres server](docs/configuring-playbook-external-postgres.md). Work on this will proceed in the future."
msgstr ""

#: ../../../CHANGELOG.md:2888
msgid "So, this is some **effort to improve security** and to **prepare for a brighter future of having more homeserver options** than just Synapse."
msgstr ""

#: ../../../CHANGELOG.md:2890
msgid "What has really changed?"
msgstr ""

#: ../../../CHANGELOG.md:2892
msgid "the default superuser Postgres username is now `matrix` (used to be `synapse`)"
msgstr ""

#: ../../../CHANGELOG.md:2893
msgid "the default Postgres database is now `matrix` (used to be `homeserver`)"
msgstr ""

#: ../../../CHANGELOG.md:2894
msgid "Synapse's database is now `synapse` (used to be `homeserver`). This is now just another \"additional database\" that the playbook manages for you"
msgstr ""

#: ../../../CHANGELOG.md:2895
msgid "Synapse's user called `synapse` is just a regular user that can only use the `synapse` database (not a superuser anymore)"
msgstr ""

#: ../../../CHANGELOG.md:2897
msgid "What do I do if I'm using the integrated Postgres server (default)?"
msgstr ""

#: ../../../CHANGELOG.md:2899
msgid "By default, the playbook runs an integrated Postgres server for you in a container (`matrix-postgres`). Unless you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), these steps are meant for you."
msgstr ""

#: ../../../CHANGELOG.md:2901
msgid "To migrate to the new setup, expect a few minutes of downtime, while you follow these steps:"
msgstr ""

#: ../../../CHANGELOG.md:2903
msgid "We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it."
msgstr ""

#: ../../../CHANGELOG.md:2905
msgid "Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!"
msgstr ""

#: ../../../CHANGELOG.md:2907
msgid "Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:"
msgstr ""

#: ../../../CHANGELOG.md:2912 ../../../CHANGELOG.md:2924
msgid "… where `YOUR_POSTGRES_PASSWORD_HERE` is to be replaced with the password you generated during step #2."
msgstr ""

#: ../../../CHANGELOG.md:2914
msgid "Stop all services: `ansible-playbook -i inventory/hosts setup.yml --tags=stop`"
msgstr ""

#: ../../../CHANGELOG.md:2915
msgid "Log in to the server via SSH. The next commands will be performed there."
msgstr ""

#: ../../../CHANGELOG.md:2916
msgid "Start the Postgres database server: `systemctl start matrix-postgres`"
msgstr ""

#: ../../../CHANGELOG.md:2917
msgid "Open a Postgres shell: `/usr/local/bin/matrix-postgres-cli`"
msgstr ""

#: ../../../CHANGELOG.md:2918
msgid "Execute the following query, while making sure to **change the password inside** (**don't forget the ending `;`**):"
msgstr ""

#: ../../../CHANGELOG.md:2926
msgid "Execute the following queries as you see them (no modifications necessary, so you can just **paste them all at once**):"
msgstr ""

#: ../../../CHANGELOG.md:2944
msgid "You may need to press *Enter* after pasting the lines above."
msgstr ""

#: ../../../CHANGELOG.md:2946
msgid "Re-run the playbook normally: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`"
msgstr ""

#: ../../../CHANGELOG.md:2948
msgid "What do I do if I'm using an external Postgres server?"
msgstr ""

#: ../../../CHANGELOG.md:2950
msgid "If you've explicitly configured an [external Postgres server](docs/configuring-playbook-external-postgres.md), there are **no changes** that you need to do at this time."
msgstr ""

#: ../../../CHANGELOG.md:2952
msgid "The fact that we've renamed Synapse's database from `homeserver` to `synapse` (in our defaults) should not affect you, as you're already explicitly defining `matrix_synapse_database_database` (if you've followed our guide, that is). If you're not explicitly defining this variable, you may wish to do so (`matrix_synapse_database_database: homeserver`), to avoid the new `synapse` default and keep things as they were."
msgstr ""

#: ../../../CHANGELOG.md:2955
msgid "2021-01-20"
msgstr ""

#: ../../../CHANGELOG.md:2957
msgid "(Breaking Change) The mautrix-facebook bridge now requires a Postgres database"
msgstr ""

#: ../../../CHANGELOG.md:2959
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:2961
msgid "A new version of the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge has been released. It's a full rewrite of its backend and the bridge now requires Postgres. New versions of the bridge can no longer run on SQLite."
msgstr ""

#: ../../../CHANGELOG.md:2963
msgid "**TLDR**: if you're NOT using an [external Postgres server](docs/configuring-playbook-external-postgres.md) and have NOT forcefully kept the bridge on SQLite during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous), you will be automatically upgraded without manual intervention. All you need to do is send a `login` message to the Facebook bridge bot again."
msgstr ""

#: ../../../CHANGELOG.md:2965
msgid "Whether this change requires your intervention depends mostly on:"
msgstr ""

#: ../../../CHANGELOG.md:2966
msgid "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:2967
msgid "or whether you've force-changed the bridge's database engine to SQLite (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) some time in the past (likely during [The big move to all-on-Postgres (potentially dangerous)](#the-big-move-to-all-on-postgres-potentially-dangerous))."
msgstr ""

#: ../../../CHANGELOG.md:2969
msgid "As already mentioned above, you most likely don't need to do anything. If you rerun the playbook and don't get an error, you've been automatically upgraded. Just send a `login` message to the Facebook bridge bot again. Otherwise, read below for a solution."
msgstr ""

#: ../../../CHANGELOG.md:2971
msgid "Upgrade path for people NOT running an external Postgres server (default for the playbook)"
msgstr ""

#: ../../../CHANGELOG.md:2973
msgid "If you're **not running an external Postgres server**, then this bridge either already works on Postgres for you, or you've intentionally kept it back on SQLite with custom configuration (`matrix_mautrix_facebook_database_engine: 'sqlite'` in your `vars.yml`) ."
msgstr ""

#: ../../../CHANGELOG.md:2975
msgid "Simply remove that custom configuration from your `vars.yml` file (if it's there) and re-run the playbook. It should upgrade you automatically. You'll need to send a `login` message to the Facebook bridge bot again."
msgstr ""

#: ../../../CHANGELOG.md:2977
msgid "Alternatively, [you can stay on SQLite for a little longer](#staying-on-sqlite-for-a-little-longer-temporary-solution)."
msgstr ""

#: ../../../CHANGELOG.md:2979
msgid "Upgrade path for people running an external Postgres server"
msgstr ""

#: ../../../CHANGELOG.md:2981
msgid "For people using the internal Postgres server (the default for the playbook):"
msgstr ""

#: ../../../CHANGELOG.md:2982
msgid "we automatically create an additional `matrix_mautrix_facebook` Postgres database and credentials to access it"
msgstr ""

#: ../../../CHANGELOG.md:2983
msgid "we automatically adjust the bridge's `matrix_mautrix_facebook_database_*` variables to point the bridge to that Postgres database"
msgstr ""

#: ../../../CHANGELOG.md:2984
msgid "we use [pgloader](https://pgloader.io/) to automatically import the existing SQLite data for the bridge into the `matrix_mautrix_facebook` Postgres database"
msgstr ""

#: ../../../CHANGELOG.md:2986
msgid "If you are using an [external Postgres server](docs/configuring-playbook-external-postgres.md), unfortunately we currently can't do any of that for you."
msgstr ""

#: ../../../CHANGELOG.md:2988
msgid "You have 3 ways to proceed:"
msgstr ""

#: ../../../CHANGELOG.md:2990
msgid "contribute to the playbook to make this possible (difficult)"
msgstr ""

#: ../../../CHANGELOG.md:2991
msgid "or, do the migration \"steps\" manually:"
msgstr ""

#: ../../../CHANGELOG.md:2992
msgid "stop the bridge (`systemctl stop matrix-mautrix-facebook`)"
msgstr ""

#: ../../../CHANGELOG.md:2993
msgid "create a new `matrix_mautrix_facebook` Postgres database for it"
msgstr ""

#: ../../../CHANGELOG.md:2994
msgid "run [pgloader](https://pgloader.io/) manually (we import this bridge's data using default settings and it works well)"
msgstr ""

#: ../../../CHANGELOG.md:2995
msgid "define `matrix_mautrix_facebook_database_*` variables in your `vars.yml` file (credentials, etc.) — you can find their defaults in `roles/custom/matrix-mautrix-facebook/defaults/main.yml`"
msgstr ""

#: ../../../CHANGELOG.md:2996
msgid "switch the bridge to Postgres (`matrix_mautrix_facebook_database_engine: 'postgres'` in your `vars.yml` file)"
msgstr ""

#: ../../../CHANGELOG.md:2997
msgid "re-run the playbook (`--tags=setup-all,start`) and ensure the bridge works (`systemctl status matrix-mautrix-facebook` and `journalctl -fu matrix-mautrix-facebook`)"
msgstr ""

#: ../../../CHANGELOG.md:2998
msgid "send a `login` message to the Facebook bridge bot again"
msgstr ""

#: ../../../CHANGELOG.md:2999
msgid "or, [stay on SQLite for a little longer (temporary solution)](#staying-on-sqlite-for-a-little-longer-temporary-solution)"
msgstr ""

#: ../../../CHANGELOG.md:3001
msgid "Staying on SQLite for a little longer (temporary solution)"
msgstr ""

#: ../../../CHANGELOG.md:3003
msgid "To keep using this bridge with SQLite for a little longer (**not recommended**), use the following configuration in your `vars.yml` file:"
msgstr ""

#: ../../../CHANGELOG.md:3013
msgid "If you do this, keep in mind that **you can't run this forever**. This SQLite-supporting bridge version is not getting any updates and will break sooner or later. The playbook will also drop support for SQLite at some point in the future."
msgstr ""

#: ../../../CHANGELOG.md:3016
msgid "2021-01-17"
msgstr ""

#: ../../../CHANGELOG.md:3018
msgid "matrix-corporal goes 2.0"
msgstr ""

#: ../../../CHANGELOG.md:3020
msgid "[matrix-corporal v2 has been released](https://github.com/devture/matrix-corporal/releases/tag/2.0.0) and the playbook also supports it now."
msgstr ""

#: ../../../CHANGELOG.md:3022
msgid "No manual intervention is required in the common case."
msgstr ""

#: ../../../CHANGELOG.md:3024
msgid "The new [matrix-corporal](https://github.com/devture/matrix-corporal) version is also the first one to support Interactive Authentication. If you wish to enable that (hint: you should), you'll need to set up the [REST auth password provider](docs/configuring-playbook-rest-auth.md). There's more information in [our matrix-corporal docs](docs/configuring-playbook-matrix-corporal.md)."
msgstr ""

#: ../../../CHANGELOG.md:3027
msgid "2021-01-14"
msgstr ""

#: ../../../CHANGELOG.md:3029
msgid "Moving from cronjobs to systemd timers"
msgstr ""

#: ../../../CHANGELOG.md:3031
msgid "We no longer use cronjobs for Let's Encrypt SSL renewal and `matrix-nginx-proxy`/`matrix-coturn` reloading. Instead, we've switched to systemd timers."
msgstr ""

#: ../../../CHANGELOG.md:3033
msgid "The largest benefit of this is that we no longer require you to install a cron daemon, thus simplifying our install procedure."
msgstr ""

#: ../../../CHANGELOG.md:3035
msgid "The playbook will migrate you from cronjobs to systemd timers automatically. This is just a heads up."
msgstr ""

#: ../../../CHANGELOG.md:3038
msgid "2021-01-08"
msgstr ""

#: ../../../CHANGELOG.md:3040
msgid "(Breaking Change) New SSL configuration"
msgstr ""

#: ../../../CHANGELOG.md:3042
msgid "SSL configuration (protocols, ciphers) can now be more easily controlled thanks to us making use of configuration presets."
msgstr ""

#: ../../../CHANGELOG.md:3044
msgid "We define a few presets (old, intermediate, modern), following the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/#server=nginx)."
msgstr ""

#: ../../../CHANGELOG.md:3046
msgid "A new variable `matrix_nginx_proxy_ssl_preset` controls which preset is used (defaults to `\"intermediate\"`)."
msgstr ""

#: ../../../CHANGELOG.md:3048
msgid "Compared to before, this changes nginx's `ssl_prefer_server_ciphers` to `off`  (used to default to `on`). It also add some more ciphers to the list, giving better performance on mobile devices, and removes some weak ciphers. More information in the [documentation](docs/configuring-playbook-nginx.md)."
msgstr ""

#: ../../../CHANGELOG.md:3050
msgid "To revert to the old behaviour, set the following variables:"
msgstr ""

#: ../../../CHANGELOG.md:3057
msgid "Just like before, you can still use your own custom protocols by specifying them in `matrix_nginx_proxy_ssl_protocols`. Doing so overrides the values coming from the preset."
msgstr ""

#: ../../../CHANGELOG.md:3060
msgid "2021-01-03"
msgstr ""

#: ../../../CHANGELOG.md:3062
msgid "Signal bridging support via mautrix-signal"
msgstr ""

#: ../../../CHANGELOG.md:3064
msgid "Thanks to [laszabine](https://github.com/laszabine)'s efforts, the playbook now supports bridging to [Signal](https://www.signal.org/) via the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge. See our [Setting up Mautrix Signal bridging](docs/configuring-playbook-bridge-mautrix-signal.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3066
msgid "If you had installed the mautrix-signal bridge while its Pull Request was still work-in-progress, you can migrate your data to the new and final setup by referring to [this comment](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686#issuecomment-753510789)."
msgstr ""

#: ../../../CHANGELOG.md:3069
msgid "2020-12-23"
msgstr ""

#: ../../../CHANGELOG.md:3071
msgid "The big move to all-on-Postgres (potentially dangerous)"
msgstr ""

#: ../../../CHANGELOG.md:3073
msgid "**TLDR**: all your bridges (and other services) will likely be auto-migrated from SQLite/nedb to Postgres, hopefully without trouble. You can opt-out (see how below), if too worried about breakage."
msgstr ""

#: ../../../CHANGELOG.md:3075
msgid "Until now, we've only used Postgres as a database for Synapse. All other services (bridges, bots, etc.) were kept simple and used a file-based database (SQLite or nedb)."
msgstr ""

#: ../../../CHANGELOG.md:3077
msgid "Since [this huge pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/740), **all of our services now use Postgres by default**. Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann) for starting the work on it and for providing great input!"
msgstr ""

#: ../../../CHANGELOG.md:3079
msgid "Moving all services to Postgres brings a few **benefits** to us:"
msgstr ""

#: ../../../CHANGELOG.md:3081
msgid "**improved performance**"
msgstr ""

#: ../../../CHANGELOG.md:3082
msgid "**improved compatibility**. Most bridges are deprecating SQLite/nedb support or offer less features when not on Postgres."
msgstr ""

#: ../../../CHANGELOG.md:3083
msgid "**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:3084
msgid "we're now **more prepared to introduce other services** that need a Postgres database — [Dendrite](https://github.com/matrix-org/dendrite), the [mautrix-signal](https://github.com/tulir/mautrix-signal) bridge (existing [pull request](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686)), etc."
msgstr ""

#: ../../../CHANGELOG.md:3086
msgid "Key takeway"
msgstr ""

#: ../../../CHANGELOG.md:3088
msgid "existing installations that use an [external Postgres](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-external-postgres.md) server should be unaffected (they remain on SQLite/nedb for all services, except Synapse)"
msgstr ""

#: ../../../CHANGELOG.md:3090
msgid "for existing installations which use our integrated Postgres database server (`matrix-postgres`, which is the default), **we automatically migrate data** from SQLite/nedb to Postgres and **archive the database files** (`something.db` -> `something.db.backup`), so you can restore them if you need to go back (see how below)."
msgstr ""

#: ../../../CHANGELOG.md:3092
msgid "Opting-out of the Postgres migration"
msgstr ""

#: ../../../CHANGELOG.md:3094
msgid "This is a **very large and somewhat untested change** (potentially dangerous), so **if you're not feeling confident/experimental, opt-out** of it for now. Still, it's the new default and what we (and various bridges) will focus on going forward, so don't stick to old ways for too long."
msgstr ""

#: ../../../CHANGELOG.md:3096
msgid "You can remain on SQLite/nedb (at least for now) by adding a variable like this to your `vars.yml` file for each service you use: `matrix_COMPONENT_database_engine: sqlite` (e.g. `matrix_mautrix_facebook_database_engine: sqlite`)."
msgstr ""

#: ../../../CHANGELOG.md:3098
msgid "Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them."
msgstr ""

#: ../../../CHANGELOG.md:3100
msgid "Going back to SQLite/nedb if things went wrong"
msgstr ""

#: ../../../CHANGELOG.md:3102
msgid "If you went with the Postgres migration and it went badly for you (some bridge not working as expected or not working at all), do this:"
msgstr ""

#: ../../../CHANGELOG.md:3104
msgid "stop all services (`ansible-playbook -i inventory/hosts setup.yml --tags=stop`)"
msgstr ""

#: ../../../CHANGELOG.md:3105
msgid "SSH into the server and rename the old database files (`something.db.backup` -> `something.db`). Example: `mv /matrix/mautrix-facebook/data/mautrix-facebook.db.backup /matrix/mautrix-facebook/data/mautrix-facebook.db`"
msgstr ""

#: ../../../CHANGELOG.md:3106
msgid "switch the affected service back to SQLite (e.g. `matrix_mautrix_facebook_database_engine: sqlite`). Some services (like `appservice-irc` and `appservice-slack`) don't use SQLite, so use `nedb`, instead of `sqlite` for them."
msgstr ""

#: ../../../CHANGELOG.md:3107
msgid "re-run the playbook (`ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`)"
msgstr ""

#: ../../../CHANGELOG.md:3108
msgid "[get in touch](README.md#support) with us"
msgstr ""

#: ../../../CHANGELOG.md:3110
msgid "2020-12-11"
msgstr ""

#: ../../../CHANGELOG.md:3112
msgid "synapse-janitor support removed"
msgstr ""

#: ../../../CHANGELOG.md:3114
msgid "We've removed support for the unmaintained [synapse-janitor](https://github.com/xwiki-labs/synapse_scripts) script. There's been past reports of it corrupting the Synapse database. Since there hasn't been any new development on it and it doesn't seem too useful nowadays, there's no point in including it in the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3116
msgid "If you need to clean up or compact your database, consider using the Synapse Admin APIs directly. See our [Synapse maintenance](docs/maintenance-synapse.md) and [Postgres maintenance](docs/maintenance-postgres.md) documentation pages for more details."
msgstr ""

#: ../../../CHANGELOG.md:3118
msgid "Docker 20.10 is here"
msgstr ""

#: ../../../CHANGELOG.md:3120
msgid "(No need to do anything special in relation to this. Just something to keep in mind)"
msgstr ""

#: ../../../CHANGELOG.md:3122
msgid "Docker 20.10 got released recently and your server will likely get it the next time you update."
msgstr ""

#: ../../../CHANGELOG.md:3124
msgid "This is the first major Docker update in a long time and it packs a lot of changes. Some of them introduced some breakage for us initially (see [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/d08b27784f222effcbce2abf924bf07bbe0893be) and [here](https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/7593d969e316cc0144bce378a5be58c76c2c37ee)), but it should be all good now."
msgstr ""

#: ../../../CHANGELOG.md:3127
msgid "2020-12-08"
msgstr ""

#: ../../../CHANGELOG.md:3129
msgid "openid APIs exposed by default on the federation port when federation disabled"
msgstr ""

#: ../../../CHANGELOG.md:3131
msgid "We've changed some defaults. People running with our default configuration (federation enabled), are not affected at all."
msgstr ""

#: ../../../CHANGELOG.md:3133
msgid "If you are running an unfederated server (`matrix_synapse_federation_enabled: false`), this may be of interest to you."
msgstr ""

#: ../../../CHANGELOG.md:3135
msgid "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:3138
msgid "2020-11-27"
msgstr ""

#: ../../../CHANGELOG.md:3140
msgid "Recent Jitsi updates may require configuration changes"
msgstr ""

#: ../../../CHANGELOG.md:3142
msgid "We've recently [updated from Jitsi build 4857 to build 5142](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719), which brings a lot of configuration changes."
msgstr ""

#: ../../../CHANGELOG.md:3144
msgid "**If you use our default Jitsi settings, you won't have to do anything.**"
msgstr ""

#: ../../../CHANGELOG.md:3146
msgid "People who have [fine-tuned Jitsi](docs/configuring-playbook-jitsi.md#optional-fine-tune-jitsi) may find that some options got renamed now, others are gone and yet others still need to be defined in another way."
msgstr ""

#: ../../../CHANGELOG.md:3148
msgid "The next time you run the playbook [installation](docs/installing.md) command, our validation logic will tell you if you're using some variables like that and will recommend a migration path for each one."
msgstr ""

#: ../../../CHANGELOG.md:3150
msgid "Additionally, we've recently disabled transcriptions (`jitsi_enable_transcriptions: false`) and recording (`jitsi_enable_recording: false`) by default. These features did not work anyway, because we don't install the required dependencies for them (Jigasi and Jibri, respectively). If you've been somehow pointing your Jitsi installation to some manually installed Jigasi/Jibri service, you may need to toggle these flags back to enabled to have transcriptions and recordings working."
msgstr ""

#: ../../../CHANGELOG.md:3153
msgid "2020-11-23"
msgstr ""

#: ../../../CHANGELOG.md:3155 ../../../CHANGELOG.md:3163
msgid "Breaking change matrix-sms-bridge"
msgstr ""

#: ../../../CHANGELOG.md:3157
msgid "Because of many problems using gammu as SMS provider, matrix-sms-bridge now uses (https://github.com/RebekkaMa/android-sms-gateway-server) by default. See (the docs)[./docs/configuring-playbook-bridge-matrix-bridge-sms.md] which new vars you need to add."
msgstr ""

#: ../../../CHANGELOG.md:3159
msgid "If you are using this playbook to deploy matrix-sms-bridge and still really want to use gammu as SMS provider, we could possibly add support for both android-sms-gateway-server and gammu."
msgstr ""

#: ../../../CHANGELOG.md:3161
msgid "2020-11-13"
msgstr ""

#: ../../../CHANGELOG.md:3165
msgid "The new version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) changed its database from neo4j to h2. You need to sync the bridge at the first start. Note that this only will sync rooms where the @smsbot:yourServer is member. For rooms without @smsbot:yourServer you need to kick and invite the telephone number **or** invite @smsbot:yourServer."
msgstr ""

#: ../../../CHANGELOG.md:3167
msgid "Add the following to your `vars.yml` file: `matrix_sms_bridge_container_extra_arguments=['--env SPRING_PROFILES_ACTIVE=initialsync']`"
msgstr ""

#: ../../../CHANGELOG.md:3168
msgid "Login to your host shell and remove old systemd file from your host: `rm /etc/systemd/system/matrix-sms-bridge-database.service`"
msgstr ""

#: ../../../CHANGELOG.md:3169
msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-matrix-sms-bridge,start`"
msgstr ""

#: ../../../CHANGELOG.md:3170
msgid "Login to your host shell and check the logs with `journalctl -u matrix-sms-bridge` until the sync finished."
msgstr ""

#: ../../../CHANGELOG.md:3171
msgid "Remove the var from the first step."
msgstr ""

#: ../../../CHANGELOG.md:3172
msgid "Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`."
msgstr ""

#: ../../../CHANGELOG.md:3174
msgid "2020-11-10"
msgstr ""

#: ../../../CHANGELOG.md:3176
msgid "Dynamic DNS support"
msgstr ""

#: ../../../CHANGELOG.md:3178
msgid "Thanks to [Scott Crossen](https://github.com/scottcrossen), the playbook can now manage Dynamic DNS for you using [ddclient](https://ddclient.net/)."
msgstr ""

#: ../../../CHANGELOG.md:3180
msgid "To learn more, follow our [Dynamic DNS docs page](docs/configuring-playbook-dynamic-dns.md)."
msgstr ""

#: ../../../CHANGELOG.md:3183
msgid "2020-10-28"
msgstr ""

#: ../../../CHANGELOG.md:3185
msgid "(Compatibility Break) https://matrix.example.com/ now redirects to https://element.example.com/"
msgstr ""

#: ../../../CHANGELOG.md:3187
msgid "Until now, we used to serve a static page coming from Synapse at `https://matrix.example.com/`. This page was not very useful to anyone."
msgstr ""

#: ../../../CHANGELOG.md:3189
msgid "Since `matrix.example.com` may be accessed by regular users in certain conditions, it's probably better to redirect them to a better place (e.g. to [Element Web](docs/configuring-playbook-client-element-web.md))."
msgstr ""

#: ../../../CHANGELOG.md:3191
msgid "If Element Web is installed (`matrix_client_element_enabled: true`, which it is by default), we now redirect people to it, instead of showing them a Synapse static page."
msgstr ""

#: ../../../CHANGELOG.md:3193
msgid "If you'd like to control where the redirect goes, use the `matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain` variable. To restore the old behavior of not redirecting anywhere and serving the Synapse static page, set it to an empty value (`matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: \"\"`)."
msgstr ""

#: ../../../CHANGELOG.md:3196
msgid "2020-10-26"
msgstr ""

#: ../../../CHANGELOG.md:3198
msgid "(Compatibility Break) /_synapse/admin is no longer publicly exposed by default"
msgstr ""

#: ../../../CHANGELOG.md:3200
msgid "We used to expose the Synapse Admin APIs publicly (at `https://matrix.example.com/_synapse/admin`). These APIs require authentication with a valid access token, so it's not that big a deal to expose them."
msgstr ""

#: ../../../CHANGELOG.md:3202
msgid "However, following [official Synapse's reverse-proxying recommendations](https://github.com/element-hq/synapse/blob/master/docs/reverse_proxy.md#synapse-administration-endpoints), we're no longer exposing `/_synapse/admin` by default."
msgstr ""

#: ../../../CHANGELOG.md:3204
msgid "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:3211
msgid "2020-10-02"
msgstr ""

#: ../../../CHANGELOG.md:3213
msgid "Minimum Ansible version raised to v2.7.0"
msgstr ""

#: ../../../CHANGELOG.md:3215
msgid "We were claiming to support [Ansible](https://www.ansible.com/) v2.5.2 and higher, but issues like [#662](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/662) demonstrate that we need at least v2.7.0."
msgstr ""

#: ../../../CHANGELOG.md:3217
msgid "If you've been using the playbook without getting any errors until now, you're probably on a version higher than that already (or you're not using the `matrix-ma1sd` and `matrix-client-element` roles)."
msgstr ""

#: ../../../CHANGELOG.md:3219
msgid "Our [Ansible docs page](docs/ansible.md) contains information on how to run a more up-to-date version of Ansible."
msgstr ""

#: ../../../CHANGELOG.md:3222
msgid "2020-10-01"
msgstr ""

#: ../../../CHANGELOG.md:3224
msgid "Postgres 13 support"
msgstr ""

#: ../../../CHANGELOG.md:3226
msgid "The playbook now installs [Postgres 13](https://www.postgresql.org/about/news/postgresql-13-released-2077/) by default."
msgstr ""

#: ../../../CHANGELOG.md:3228
msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x, 11.x or 12.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)."
msgstr ""

#: ../../../CHANGELOG.md:3230
msgid "2020-09-01"
msgstr ""

#: ../../../CHANGELOG.md:3232
msgid "matrix-registration support"
msgstr ""

#: ../../../CHANGELOG.md:3234
msgid "The playbook can now help you set up [matrix-registration](https://github.com/ZerataX/matrix-registration) — an application that lets you keep your Matrix server's registration private, but still allow certain users (those having a unique registration link) to register by themselves."
msgstr ""

#: ../../../CHANGELOG.md:3236
msgid "See our [Setting up matrix-registration](docs/configuring-playbook-matrix-registration.md) documentation page to get started."
msgstr ""

#: ../../../CHANGELOG.md:3239
msgid "2020-08-21"
msgstr ""

#: ../../../CHANGELOG.md:3241
msgid "rust-synapse-compress-state support"
msgstr ""

#: ../../../CHANGELOG.md:3243
msgid "The playbook can now help you use [rust-synapse-compress-state](https://github.com/matrix-org/rust-synapse-compress-state) to compress the state groups in your Synapse database."
msgstr ""

#: ../../../CHANGELOG.md:3245
msgid "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:3248
msgid "2020-07-22"
msgstr ""

#: ../../../CHANGELOG.md:3250
msgid "Synapse Admin support"
msgstr ""

#: ../../../CHANGELOG.md:3252
msgid "The playbook can now help you set up [synapse-admin](https://github.com/Awesome-Technologies/synapse-admin)."
msgstr ""

#: ../../../CHANGELOG.md:3254
msgid "See our [Setting up Synapse Admin](docs/configuring-playbook-synapse-admin.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:3257
msgid "2020-07-20"
msgstr ""

#: ../../../CHANGELOG.md:3259
msgid "matrix-reminder-bot support"
msgstr ""

#: ../../../CHANGELOG.md:3261
msgid "The playbook can now help you set up [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot)."
msgstr ""

#: ../../../CHANGELOG.md:3263
msgid "See our [Setting up matrix-reminder-bot](docs/configuring-playbook-bot-matrix-reminder-bot.md) documentation to get started."
msgstr ""

#: ../../../CHANGELOG.md:3266
msgid "2020-07-17"
msgstr ""

#: ../../../CHANGELOG.md:3268
msgid "(Compatibility Break) Riot is now Element"
msgstr ""

#: ../../../CHANGELOG.md:3270
msgid "As per the official announcement, [Riot has been rebraned to Element](https://element.io/blog/welcome-to-element/)."
msgstr ""

#: ../../../CHANGELOG.md:3272
msgid "The playbook follows suit. Existing installations have a few options for how to handle this."
msgstr ""

#: ../../../CHANGELOG.md:3274
msgid "See our [Migrating to Element Web](docs/configuring-playbook-riot-web.md#migrating-to-element) documentation page for more details."
msgstr ""

#: ../../../CHANGELOG.md:3277
msgid "2020-07-03"
msgstr ""

#: ../../../CHANGELOG.md:3279
msgid "Steam bridging support via mx-puppet-steam"
msgstr ""

#: ../../../CHANGELOG.md:3281
msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Steam](https://steamapp.com/) via the [mx-puppet-steam](https://codeberg.org/icewind/mx-puppet-steam) bridge. See our [Setting up MX Puppet Steam bridging](docs/configuring-playbook-bridge-mx-puppet-steam.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3284
msgid "2020-07-01"
msgstr ""

#: ../../../CHANGELOG.md:3286
msgid "Discord bridging support via mx-puppet-discord"
msgstr ""

#: ../../../CHANGELOG.md:3288
msgid "Thanks to [Hugues Morisset](https://github.com/izissise)'s efforts, the playbook now supports bridging to [Discord](https://discordapp.com/) via the [mx-puppet-discord](https://github.com/Sorunome/mx-puppet-discord) bridge. See our [Setting up MX Puppet Discord bridging](docs/configuring-playbook-bridge-mx-puppet-discord.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3290
msgid "**Note**: this is a new Discord bridge. The playbook still retains Discord bridging via [matrix-appservice-discord](docs/configuring-playbook-bridge-appservice-discord.md). You're free too use the bridge that serves you better, or even both (for different users and use-cases)."
msgstr ""

#: ../../../CHANGELOG.md:3293
msgid "2020-06-30"
msgstr ""

#: ../../../CHANGELOG.md:3295
msgid "Instagram and Twitter bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3297
msgid "Thanks to [Johanna Dorothea Reichmann](https://github.com/jdreichmann)'s efforts, the playbook now supports bridging to [Instagram](https://www.instagram.com/) via the [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) bridge. See our [Setting up MX Puppet Instagram bridging](docs/configuring-playbook-bridge-mx-puppet-instagram.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3299
msgid "Thanks to [Tulir Asokan](https://github.com/tulir)'s efforts, the playbook now supports bridging to [Twitter](https://twitter.com/) via the [mx-puppet-twitter](https://github.com/Sorunome/mx-puppet-twitter) bridge. See our [Setting up MX Puppet Twitter bridging](docs/configuring-playbook-bridge-mx-puppet-twitter.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3302
msgid "2020-06-28"
msgstr ""

#: ../../../CHANGELOG.md:3304
msgid "(Post Mortem / fixed Security Issue) Re-enabling User Directory search powered by the ma1sd Identity Server"
msgstr ""

#: ../../../CHANGELOG.md:3306 ../../../CHANGELOG.md:3335
msgid "User Directory search requests used to go to the ma1sd identity server by default, which queried its own stores and the Synapse database."
msgstr ""

#: ../../../CHANGELOG.md:3308
msgid "ma1sd's [security issue](https://github.com/ma1uta/ma1sd/issues/44) has been fixed in version `2.4.0`, with [this commit](ma1uta/ma1sd@2bb5a734d11662b06471113cf3d6b4cee5e33a85). `ma1sd 2.4.0` is now the default version for this playbook. For more information on what happened, please check the mentioned issue."
msgstr ""

#: ../../../CHANGELOG.md:3310
msgid "We are re-enabling user directory search with this update. Those who would like to keep it disabled can use this configuration: `matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: false`"
msgstr ""

#: ../../../CHANGELOG.md:3312
msgid "As always, re-running the playbook is enough to get the updated bits."
msgstr ""

#: ../../../CHANGELOG.md:3314
msgid "2020-06-11"
msgstr ""

#: ../../../CHANGELOG.md:3316
msgid "SMS bridging requires db reset"
msgstr ""

#: ../../../CHANGELOG.md:3318
msgid "The current version of [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) needs you to delete the database to work as expected. Just remove `/matrix/matrix-sms-bridge/database/*`. It also adds a new required var `matrix_sms_bridge_default_region`."
msgstr ""

#: ../../../CHANGELOG.md:3320
msgid "To reuse your existing rooms, invite `@smsbot:yourServer` to the room or write a message. You are also able to use automated room creation with telephonenumers by writing `sms send -t 01749292923 \"Hello World\"` in a room with `@smsbot:yourServer`. See [the docs](https://github.com/benkuly/matrix-sms-bridge) for more information."
msgstr ""

#: ../../../CHANGELOG.md:3322
msgid "2020-06-05"
msgstr ""

#: ../../../CHANGELOG.md:3324
msgid "SMS bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3326
msgid "Thanks to [benkuly](https://github.com/benkuly)'s efforts, the playbook now supports bridging to SMS (with one telephone number only) via [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge)."
msgstr ""

#: ../../../CHANGELOG.md:3328
msgid "See our [Setting up Matrix SMS bridging](docs/configuring-playbook-bridge-matrix-bridge-sms.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3331
msgid "2020-05-19"
msgstr ""

#: ../../../CHANGELOG.md:3333
msgid "(Compatibility Break / Security Issue) Disabling User Directory search powered by the ma1sd Identity Server"
msgstr ""

#: ../../../CHANGELOG.md:3337
msgid "ma1sd current has [a security issue](https://github.com/ma1uta/ma1sd/issues/44), which made it leak information about all users — including users created by bridges, etc."
msgstr ""

#: ../../../CHANGELOG.md:3339
msgid "Until the issue gets fixed, we're making User Directory search not go to ma1sd by default. You **need to re-run the playbook and restart services to apply this workaround**."
msgstr ""

#: ../../../CHANGELOG.md:3341
msgid "*If you 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:3344
msgid "2020-04-28"
msgstr ""

#: ../../../CHANGELOG.md:3346
msgid "Newer IRC bridge (with potential breaking change)"
msgstr ""

#: ../../../CHANGELOG.md:3348
msgid "This upgrades matrix-appservice-irc from 0.14.1 to 0.16.0. Upstream made a change to how you define manual mappings. If you added a `mapping` to your configuration, you will need to update it according to the [upstream instructions](https://github.com/matrix-org/matrix-appservice-irc/blob/master/CHANGELOG.md#0150-2020-02-05). If you did not include `mappings` in your configuration for IRC, no change is necessary. `mappings` is not part of the default configuration."
msgstr ""

#: ../../../CHANGELOG.md:3357
msgid "2020-04-23"
msgstr ""

#: ../../../CHANGELOG.md:3359 ../../../CHANGELOG.md:3590
msgid "Slack bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3361
msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Slack](https://slack.com) via the [mx-puppet-slack](https://github.com/Sorunome/mx-puppet-slack) bridge."
msgstr ""

#: ../../../CHANGELOG.md:3363
msgid "See our [Setting up MX Puppet Slack bridging](docs/configuring-playbook-bridge-mx-puppet-slack.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3366
msgid "2020-04-09"
msgstr ""

#: ../../../CHANGELOG.md:3368
msgid "Skype bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3370
msgid "Thanks to [Rodrigo Belem](https://github.com/rbelem)'s efforts, the playbook now supports bridging to [Skype](https://www.skype.com) via the [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype) bridge."
msgstr ""

#: ../../../CHANGELOG.md:3372
msgid "See our [Setting up MX Puppet Skype bridging](docs/configuring-playbook-bridge-mx-puppet-skype.md) documentation page for getting started."
msgstr ""

#: ../../../CHANGELOG.md:3375
msgid "2020-04-05"
msgstr ""

#: ../../../CHANGELOG.md:3377
msgid "Private Jitsi support"
msgstr ""

#: ../../../CHANGELOG.md:3379
msgid "The [Jitsi support](#jitsi-support) we had landed a few weeks ago was working well, but it was always open to the whole world."
msgstr ""

#: ../../../CHANGELOG.md:3381
msgid "Running such an open instance is not desirable to most people, so [teutat3s](https://github.com/teutat3s) has contributed support for making Jitsi use authentication."
msgstr ""

#: ../../../CHANGELOG.md:3383
msgid "To make your Jitsi server more private, see the [configure internal Jitsi authentication and guests mode](docs/configuring-playbook-jitsi.md#optional-configure-internal-jitsi-authentication-and-guests-mode) section in our Jitsi documentation."
msgstr ""

#: ../../../CHANGELOG.md:3386
msgid "2020-04-03"
msgstr ""

#: ../../../CHANGELOG.md:3388
msgid "(Potential Backward Compatibility Break) ma1sd replaces mxisd"
msgstr ""

#: ../../../CHANGELOG.md:3390
msgid "Thanks to [Marcel Partap](https://github.com/eMPee584)'s efforts, the [mxisd](https://github.com/kamax-io/mxisd) identity server, which has been deprecated for a long time, has finally been replaced by [ma1sd](https://github.com/ma1uta/ma1sd), a compatible fork."
msgstr ""

#: ../../../CHANGELOG.md:3392
msgid "**If you're using the default playbook configuration**, you don't need to do anything — your mxisd installation will be replaced with ma1sd and all existing data will be migrated automatically the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3394
msgid "**If you're doing something more special** (defining custom `matrix_mxisd_*` variables), the playbook will ask you to rename them to `matrix_ma1sd_*`. You're also encouraged to test that ma1sd works well for such a more custom setup."
msgstr ""

#: ../../../CHANGELOG.md:3397
msgid "2020-03-29"
msgstr ""

#: ../../../CHANGELOG.md:3399
msgid "Archlinux support"
msgstr ""

#: ../../../CHANGELOG.md:3401
msgid "Thanks to [Christian Lupus](https://github.com/christianlupus)'s efforts, the playbook now supports installing to an [Archlinux](https://www.archlinux.org/) server."
msgstr ""

#: ../../../CHANGELOG.md:3404
msgid "2020-03-24"
msgstr ""

#: ../../../CHANGELOG.md:3406
msgid "Jitsi support"
msgstr ""

#: ../../../CHANGELOG.md:3408
msgid "The playbook can now (optionally) install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with [Riot](docs/configuring-playbook-riot-web.md)."
msgstr ""

#: ../../../CHANGELOG.md:3410
msgid "See our [Jitsi documentation page](docs/configuring-playbook-jitsi.md) to get started."
msgstr ""

#: ../../../CHANGELOG.md:3413
msgid "2020-03-15"
msgstr ""

#: ../../../CHANGELOG.md:3415
msgid "Raspberry Pi support"
msgstr ""

#: ../../../CHANGELOG.md:3417
msgid "Thanks to [Gergely Horváth](https://github.com/hooger)'s effort, the playbook supports installing to a Raspberry Pi server, for at least some of the services."
msgstr ""

#: ../../../CHANGELOG.md:3419
msgid "Since most ready-made container images do not support that architecture, we achieve this by building images locally on the device itself. See our [Self-building documentation page](docs/self-building.md) for how to get started."
msgstr ""

#: ../../../CHANGELOG.md:3422
msgid "2020-02-26"
msgstr ""

#: ../../../CHANGELOG.md:3424
msgid "Riot-web themes are here"
msgstr ""

#: ../../../CHANGELOG.md:3426
msgid "The playbook now makes it easy to install custom riot-web themes."
msgstr ""

#: ../../../CHANGELOG.md:3428
msgid "To learn more, take a look at our [riot-web documentation on Themes](docs/configuring-playbook-riot-web.md#themes)."
msgstr ""

#: ../../../CHANGELOG.md:3431
msgid "2020-02-24"
msgstr ""

#: ../../../CHANGELOG.md:3433
msgid "Customize the server name in Riot's login page"
msgstr ""

#: ../../../CHANGELOG.md:3435
msgid "You can now customize the server name string that Riot-web displays in its login page."
msgstr ""

#: ../../../CHANGELOG.md:3437
msgid "These playbook variables, with these default values, have been added:"
msgstr ""

#: ../../../CHANGELOG.md:3443
msgid "The login page previously said \"Sign in to your Matrix account on matrix.example.org\" (the homeserver's domain name). It will now say \"Sign in … on example.org\" (the server name) by default, or \"Sign in … on Our Server\" if you set the variable to \"Our Server\"."
msgstr ""

#: ../../../CHANGELOG.md:3445
msgid "To support this, the config.json template is changed to use the configuration key `default_server_config` for setting the default HS/IS, and the new configuration key `server_name` is added in there."
msgstr ""

#: ../../../CHANGELOG.md:3448
msgid "2020-01-30"
msgstr ""

#: ../../../CHANGELOG.md:3450
msgid "Disabling TLSv1.1"
msgstr ""

#: ../../../CHANGELOG.md:3452
msgid "To improve security, we've removed TLSv1.1 support from our default matrix-nginx-proxy configuration."
msgstr ""

#: ../../../CHANGELOG.md:3454
msgid "If you need to support old clients, you can re-enable it with the following configuration: `matrix_nginx_proxy_ssl_protocols: \"TLSv1.1 TLSv1.2 TLSv1.3\"`"
msgstr ""

#: ../../../CHANGELOG.md:3457
msgid "2020-01-21"
msgstr ""

#: ../../../CHANGELOG.md:3459
msgid "Postgres collation changes (action required!)"
msgstr ""

#: ../../../CHANGELOG.md:3461
msgid "By default, we've been using a UTF-8 collation for Postgres. This is known to cause Synapse some troubles (see the [relevant issue](https://github.com/matrix-org/synapse/issues/6722)) on systems that use [glibc](https://www.gnu.org/software/libc/). We run Postgres in an [Alpine Linux](https://alpinelinux.org/) container (which uses [musl](https://www.musl-libc.org/), and not glibc), so our users are likely not affected by the index corruption problem observed by others."
msgstr ""

#: ../../../CHANGELOG.md:3463
msgid "Still, we might become affected in the future. In any case, it's imminent that Synapse will complain about databases which do not use a C collation."
msgstr ""

#: ../../../CHANGELOG.md:3465
msgid "To avoid future problems, we recommend that you run the following command:"
msgstr ""

#: ../../../CHANGELOG.md:3471
msgid "It forces a [Postgres database upgrade](docs/maintenance-postgres.md#upgrading-postgresql), which would recreate your Postgres database using the proper (`C`) collation. If you are low on disk space, or run into trouble, refer to the Postgres database upgrade documentation page."
msgstr ""

#: ../../../CHANGELOG.md:3474
msgid "2020-01-14"
msgstr ""

#: ../../../CHANGELOG.md:3476
msgid "Added support for Appservice Webhooks"
msgstr ""

#: ../../../CHANGELOG.md:3478
msgid "Thanks to a contribution from [Björn Marten](https://github.com/tripleawwy) from [netresearch](https://www.netresearch.de/), the playbook can now install and configure [matrix-appservice-webhooks](https://github.com/turt2live/matrix-appservice-webhooks) for you. This bridge provides support for Slack-compatible webhooks."
msgstr ""

#: ../../../CHANGELOG.md:3480
msgid "Learn more in [Setting up Appservice Webhooks bridging](docs/configuring-playbook-bridge-appservice-webhooks.md)."
msgstr ""

#: ../../../CHANGELOG.md:3483
msgid "2020-01-12"
msgstr ""

#: ../../../CHANGELOG.md:3485
msgid "Added support for automatic Double Puppeting for all Mautrix bridges"
msgstr ""

#: ../../../CHANGELOG.md:3487
msgid "Double Puppeting can now be easily enabled for all Mautrix bridges supported by the playbook (Facebook, Hangouts, Whatsapp, Telegram)."
msgstr ""

#: ../../../CHANGELOG.md:3489
msgid "This is possible due to those bridges' integration with [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) — yet another component that this playbook can install for you."
msgstr ""

#: ../../../CHANGELOG.md:3491
msgid "To get started, following the playbook's documentation for the bridge you'd like to configure."
msgstr ""

#: ../../../CHANGELOG.md:3494
msgid "2019-12-06"
msgstr ""

#: ../../../CHANGELOG.md:3496
msgid "Added support for an alternative method for using another webserver"
msgstr ""

#: ../../../CHANGELOG.md:3498
msgid "We have added support for making `matrix-nginx-proxy` not being so invasive, so that it would be easier to [use your own webserver](docs/configuring-playbook-own-webserver.md)."
msgstr ""

#: ../../../CHANGELOG.md:3500
msgid "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:3502
msgid "**Existing users** are not affected by this and **don't need to change anything**. The defaults are still the same (`matrix-nginx-proxy` obtaining SSL certificates and doing everything for you automatically)."
msgstr ""

#: ../../../CHANGELOG.md:3505
msgid "2019-11-10"
msgstr ""

#: ../../../CHANGELOG.md:3507
msgid "Tightened security around room directory publishing"
msgstr ""

#: ../../../CHANGELOG.md:3509
msgid "As per this [advisory blog post](https://matrix.org/blog/2019/11/09/avoiding-unwelcome-visitors-on-private-matrix-servers), we've decided to change the default publishing rules for the Matrix room directory."
msgstr ""

#: ../../../CHANGELOG.md:3511
msgid "Our general goal is to favor privacy and security when running personal (family & friends) and corporate homeservers. Both of these likely benefit from having a more secure default of **not showing the room directory without authentication** and **not publishing the room directory over federation**."
msgstr ""

#: ../../../CHANGELOG.md:3513
msgid "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:3516
msgid "2019-10-05"
msgstr ""

#: ../../../CHANGELOG.md:3518
msgid "Improved Postgres upgrading/importing"
msgstr ""

#: ../../../CHANGELOG.md:3520
msgid "Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) and [importing](docs/importing-postgres.md) have been improved to add support for multiple databases and roles."
msgstr ""

#: ../../../CHANGELOG.md:3522
msgid "Previously, the playbook would only take care of the `homeserver` database and `synapse` user. We now back up and restore all databases and users on the Postgres server."
msgstr ""

#: ../../../CHANGELOG.md:3524
msgid "For now, the playbook only uses that one database (`homeserver`) and that one single user (`synapse`), so it's all the same. However, in the future, additional components besides Synapse may also make use the Postgres database server. One such example is the [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge, which strongly encourages use of Postgres in its v1.0 release. We are yet to upgrade to it."
msgstr ""

#: ../../../CHANGELOG.md:3526
msgid "Additionally, Postgres [upgrading](docs/maintenance-postgres.md#upgrading-postgresql) now uses gzipped dump files by default, to minimize disk space usage."
msgstr ""

#: ../../../CHANGELOG.md:3529
msgid "2019-10-04"
msgstr ""

#: ../../../CHANGELOG.md:3531
msgid "Postgres 12 support"
msgstr ""

#: ../../../CHANGELOG.md:3533
msgid "The playbook now installs [Postgres 12](https://www.postgresql.org/about/news/1976/) by default."
msgstr ""

#: ../../../CHANGELOG.md:3535
msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x, 10.x or 11.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)."
msgstr ""

#: ../../../CHANGELOG.md:3538
msgid "2019-10-03"
msgstr ""

#: ../../../CHANGELOG.md:3540
msgid "Synapse 1.4.0"
msgstr ""

#: ../../../CHANGELOG.md:3542
msgid "Synapse 1.4.0 [is out](https://matrix.org/blog/2019/10/03/synapse-1-4-0-released) with lots of changes related to privacy."
msgstr ""

#: ../../../CHANGELOG.md:3544
msgid "Its new defaults (which we adopt as well) mean that certain old data will automatically get purged after a certain number of days. 1.4.0 automatically garbage collects redacted messages (defaults to 7 days) and removes unused IP and user agent information stored in the user_ips table (defaults to 30 days). If you'd like to preserve this data, we encourage you to look at the `redaction_retention_period` and `user_ips_max_age` options (controllable by the `matrix_synapse_redaction_retention_period` and `matrix_synapse_user_ips_max_age` playbook variables, respectively) before doing the upgrade. If you'd like to keep data indefinitely, set these variables to `null` (e.g. `matrix_synapse_redaction_retention_period: ~`)."
msgstr ""

#: ../../../CHANGELOG.md:3546
msgid "From now on the `trusted_key_servers` setting for Synapse is configurable. It still defaults to `matrix.org` just like it always has, but in a more explicit way now. If you'd like to use another trusted key server, adjust the `matrix_synapse_trusted_key_servers` playbook variable."
msgstr ""

#: ../../../CHANGELOG.md:3548
msgid "Synapse 1.4.0 also changes lots of things related to identity server integration. Because Synapse will now by default be responsible for validating email addresses for user accounts, running without an identity server looks more feasible. We still [have concerns](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/275/files#r331104117) over disabling the identity server by default, so for now it remains enabled."
msgstr ""

#: ../../../CHANGELOG.md:3551
msgid "2019-09-09"
msgstr ""

#: ../../../CHANGELOG.md:3553
msgid "Synapse Simple Antispam support"
msgstr ""

#: ../../../CHANGELOG.md:3555
msgid "There have been lots of invite-spam attacks lately and [Travis](https://github.com/t2bot) has created a Synapse module ([synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam)) to let people protect themselves."
msgstr ""

#: ../../../CHANGELOG.md:3557
msgid "From now on, you can easily install and configure this spam checker module through the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3559
msgid "Learn more in [Setting up Synapse Simple Antispam](docs/configuring-playbook-synapse-simple-antispam.md)."
msgstr ""

#: ../../../CHANGELOG.md:3562
msgid "2019-08-25"
msgstr ""

#: ../../../CHANGELOG.md:3564
msgid "Extensible Riot-web configuration"
msgstr ""

#: ../../../CHANGELOG.md:3566
msgid "Similarly to [Extensible Synapse configuration](#extensible-synapse-configuration) (below), Riot-web configuration is also extensible now."
msgstr ""

#: ../../../CHANGELOG.md:3568
msgid "From now on, you can extend/override Riot-web's configuration by making use of the `matrix_riot_web_configuration_extension_json` variable. This should be enough for most customization needs."
msgstr ""

#: ../../../CHANGELOG.md:3570
msgid "If you need even more power, you can now also take full control and override `matrix_riot_web_configuration_default` (or `matrix_riot_web_configuration`) directly."
msgstr ""

#: ../../../CHANGELOG.md:3572
msgid "Learn more in [Configuring Riot-web](docs/configuring-playbook-riot-web.md)."
msgstr ""

#: ../../../CHANGELOG.md:3575
msgid "2019-08-22"
msgstr ""

#: ../../../CHANGELOG.md:3577
msgid "Extensible Synapse configuration"
msgstr ""

#: ../../../CHANGELOG.md:3579
msgid "Previously, we had to create custom Ansible variables for each and every Synapse setting. This lead to too much effort (and configuration ugliness) to all of Synapse's settings, so naturally, not all features of Synapse could be controlled through the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3581
msgid "From now on, you can extend/override the Synapse server's configuration by making use of the `matrix_synapse_configuration_extension_yaml` variable. This should be enough for most customization needs."
msgstr ""

#: ../../../CHANGELOG.md:3583
msgid "If you need even more power, you can now also take full control and override `matrix_synapse_configuration` (or `matrix_synapse_configuration_yaml`) directly."
msgstr ""

#: ../../../CHANGELOG.md:3585
msgid "Learn more here in [Configuring Synapse](docs/configuring-playbook-synapse.md)."
msgstr ""

#: ../../../CHANGELOG.md:3588
msgid "2019-08-21"
msgstr ""

#: ../../../CHANGELOG.md:3592
msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/205) of [kingoftheconnors](https://github.com/kingoftheconnors) and [Stuart Mumford (Cadair)](https://github.com/Cadair), the playbook now supports bridging to [Slack](https://slack.com) via the [appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge."
msgstr ""

#: ../../../CHANGELOG.md:3594
msgid "Additional details are available in [Setting up Appservice Slack bridging](docs/configuring-playbook-bridge-appservice-slack.md)."
msgstr ""

#: ../../../CHANGELOG.md:3596
msgid "Google Hangouts bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3598
msgid "Thanks to the [great work](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/251) of [Eduardo Beltrame (Munfred)](https://github.com/Munfred) and [Robbie D (microchipster)](https://github.com/microchipster), the playbook now supports bridging to [Google Hangouts](https://hangouts.google.com/) via the [mautrix-hangouts](https://mau.dev/tulir/mautrix-hangouts) bridge."
msgstr ""

#: ../../../CHANGELOG.md:3600
msgid "Additional details are available in [Setting up Mautrix Hangouts bridging](docs/configuring-playbook-bridge-mautrix-hangouts.md)."
msgstr ""

#: ../../../CHANGELOG.md:3603
msgid "2019-08-05"
msgstr ""

#: ../../../CHANGELOG.md:3605
msgid "Email2Matrix support"
msgstr ""

#: ../../../CHANGELOG.md:3607
msgid "Support for [Email2Matrix](https://github.com/devture/email2matrix) has been added."
msgstr ""

#: ../../../CHANGELOG.md:3609
msgid "It's an optional feature that you can enable via the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3611
msgid "To learn more, see the [playbook's documentation on Email2Matrix](./docs/configuring-playbook-email2matrix.md)."
msgstr ""

#: ../../../CHANGELOG.md:3614
msgid "2019-08-03"
msgstr ""

#: ../../../CHANGELOG.md:3616
msgid "Synapse logging level has been reduced to WARNING"
msgstr ""

#: ../../../CHANGELOG.md:3618
msgid "After [some discussion in our support room](https://matrix.to/#/!PukFFdIcHgtaaHZflT:devture.com/$156476852524179TBeKy:matrix.org?via=devture.com&via=matrix.org&via=librem.one), we've decided to change the default logging level for Synapse from `INFO` to `WARNING`."
msgstr ""

#: ../../../CHANGELOG.md:3620
msgid "This greatly reduces the number of log messages that are being logged, leading to:"
msgstr ""

#: ../../../CHANGELOG.md:3622
msgid "much less disk space dedicated to Synapse and thus, logs kept for longer"
msgstr ""

#: ../../../CHANGELOG.md:3623
msgid "easier to find some important `WARNING`, `ERROR` and `CRITICAL` messages, as they're not longer buried in thousands of non-important `INFO` messages"
msgstr ""

#: ../../../CHANGELOG.md:3625
msgid "If you'd like to track down an issue, you [can always increase the logging level as described here](./docs/maintenance-and-troubleshooting.md#increasing-synapse-logging)."
msgstr ""

#: ../../../CHANGELOG.md:3628
msgid "2019-07-08"
msgstr ""

#: ../../../CHANGELOG.md:3630
msgid "Synapse Maintenance docs and synapse-janitor support are available"
msgstr ""

#: ../../../CHANGELOG.md:3632
msgid "The playbook can now help you with Synapse's maintenance."
msgstr ""

#: ../../../CHANGELOG.md:3634
msgid "There's a new documentation page about [Synapse maintenance](./docs/maintenance-synapse.md) and another section on [Postgres vacuuming](./docs/maintenance-postgres.md#vacuuming-postgresql)."
msgstr ""

#: ../../../CHANGELOG.md:3636
msgid "Among other things, if your Postgres database has grown significantly over time, you may wish to [ask the playbook to purge unused data with synapse-janitor](./docs/maintenance-synapse.md#purging-unused-data-with-synapse-janitor) for you."
msgstr ""

#: ../../../CHANGELOG.md:3638
msgid "(BC Break) Rename run control variables"
msgstr ""

#: ../../../CHANGELOG.md:3640
msgid "Some internal playbook control variables have been renamed."
msgstr ""

#: ../../../CHANGELOG.md:3642
msgid "This change **only affects people who run this playbook's roles from another playbook**. If you're using this playbook as-is, you're not affected and don't need to do anything."
msgstr ""

#: ../../../CHANGELOG.md:3644
msgid "The following variables have been renamed:"
msgstr ""

#: ../../../CHANGELOG.md:3646
msgid "from `run_import_postgres` to `run_postgres_import`"
msgstr ""

#: ../../../CHANGELOG.md:3647
msgid "from `run_import_sqlite_db` to `run_postgres_import_sqlite_db`"
msgstr ""

#: ../../../CHANGELOG.md:3648
msgid "from `run_upgrade_postgres` to `run_postgres_upgrade`"
msgstr ""

#: ../../../CHANGELOG.md:3649
msgid "from `run_import_media_store` to `run_synapse_import_media_store`"
msgstr ""

#: ../../../CHANGELOG.md:3650
msgid "from `run_register_user` to `run_synapse_register_user`"
msgstr ""

#: ../../../CHANGELOG.md:3651
msgid "from `run_update_user_password` to `run_synapse_update_user_password`"
msgstr ""

#: ../../../CHANGELOG.md:3654
msgid "2019-07-04"
msgstr ""

#: ../../../CHANGELOG.md:3656
msgid "Synapse no longer logs to text files"
msgstr ""

#: ../../../CHANGELOG.md:3658
msgid "Following what the official Synapse Docker image is doing ([#5565](https://github.com/matrix-org/synapse/pull/5565)) and what we've been doing for mostly everything installed by this playbook, **Synapse no longer logs to text files** (`/matrix/synapse/run/homeserver.log*`)."
msgstr ""

#: ../../../CHANGELOG.md:3660
msgid "From now on, Synapse would only log to console, which goes to systemd's journald. To see Synapse's logs, execute: `journalctl -fu matrix-synapse`"
msgstr ""

#: ../../../CHANGELOG.md:3662
msgid "Because of this, the following variables have become obsolete and were removed:"
msgstr ""

#: ../../../CHANGELOG.md:3664
msgid "`matrix_synapse_max_log_file_size_mb`"
msgstr ""

#: ../../../CHANGELOG.md:3665
msgid "`matrix_synapse_max_log_files_count`"
msgstr ""

#: ../../../CHANGELOG.md:3667
msgid "To prevent confusion, it'd be better if you delete all old files manually after you've upgraded (`rm -f /matrix/synapse/run/homeserver.log*`)."
msgstr ""

#: ../../../CHANGELOG.md:3669
msgid "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:3672
msgid "2019-06-27"
msgstr ""

#: ../../../CHANGELOG.md:3674
msgid "(BC Break) Discord bridge configuration is now entirely managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:3676
msgid "Until now, the `config.yaml` file for the [Discord bridge](docs/configuring-playbook-bridge-appservice-discord.md) was managed by the playbook, but the `registration.yaml` file was not."
msgstr ""

#: ../../../CHANGELOG.md:3678
msgid "From now on, the playbook will keep both configuration files sync for you."
msgstr ""

#: ../../../CHANGELOG.md:3680
msgid "This means that if you were making manual changes to the `/matrix/appservice-discord/discord-registration.yaml` configuration file, those would be lost the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3682
msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-discord/config`)."
msgstr ""

#: ../../../CHANGELOG.md:3684
msgid "Likewise, data is now also stored in a subdirectory (`/matrix/appservice-discord/data`). When you run the playbook with an existing database file (`/matrix/appservice-discord/discord.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)."
msgstr ""

#: ../../../CHANGELOG.md:3686
msgid "The main directory (`/matrix/appservice-discord`) may contain some leftover files (`user-store.db`, `room-store.db`, `config.yaml`, `discord-registration.yaml`, `invite_link`). These are no longer necessary and can be deleted manually."
msgstr ""

#: ../../../CHANGELOG.md:3688
msgid "We're now following the default sample configuration for the Discord bridge. If you need to override some values, define them in `matrix_appservice_discord_configuration_extension_yaml`."
msgstr ""

#: ../../../CHANGELOG.md:3691
msgid "2019-06-24"
msgstr ""

#: ../../../CHANGELOG.md:3693
msgid "(BC Break) WhatsApp bridge configuration is now entirely managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:3695
msgid "Until now, configuration files for the [WhatsApp bridge](docs/configuring-playbook-bridge-mautrix-whatsapp.md) were created by the playbook initially, but never modified later on."
msgstr ""

#: ../../../CHANGELOG.md:3697 ../../../CHANGELOG.md:3714
#: ../../../CHANGELOG.md:3733 ../../../CHANGELOG.md:3772
msgid "From now on, the playbook will keep the configuration in sync for you."
msgstr ""

#: ../../../CHANGELOG.md:3699
msgid "This means that if you were making manual changes to the `/matrix/mautrix-whatsapp/config.yaml` or `/matrix/mautrix-whatsapp/registration.yaml` configuration files, those would be lost the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3701
msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-whatsapp/config`), so your old configuration remains in the base directory (`/matrix/mautrix-whatsapp`). You need to migrate any manual changes over to the new `matrix_mautrix_whatsapp_configuration_extension_yaml` variable, so that the playbook would apply them for you."
msgstr ""

#: ../../../CHANGELOG.md:3703
msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-whatsapp/data`). When you run the playbook with an existing database file (`/matrix/mautrix-whatsapp/mautrix-whatsapp.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)."
msgstr ""

#: ../../../CHANGELOG.md:3705
msgid "We're now following the default configuration for the WhatsApp bridge."
msgstr ""

#: ../../../CHANGELOG.md:3708
msgid "2019-06-20"
msgstr ""

#: ../../../CHANGELOG.md:3710
msgid "(BC Break) IRC bridge configuration is now entirely managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:3712
msgid "Until now, configuration files for the [IRC bridge](docs/configuring-playbook-bridge-appservice-irc.md) were created by the playbook initially, but never modified later on."
msgstr ""

#: ../../../CHANGELOG.md:3716
msgid "This means that if you were making manual changes to the `/matrix/appservice-irc/config.yaml` or `/matrix/appservice-irc/registration.yaml` configuration files, those would be lost the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3718
msgid "The bridge now stores configuration in a subdirectory (`/matrix/appservice-irc/config`), so your old configuration remains in the base directory (`/matrix/appservice-irc`)."
msgstr ""

#: ../../../CHANGELOG.md:3720
msgid "Previously, we asked people to configure bridged IRC servers by extending the bridge configuration (`matrix_appservice_irc_configuration_extension_yaml`). While this is still possible and will continue working forever, **we now recommend defining IRC servers in the easier to use `matrix_appservice_irc_ircService_servers` variable**. See [our IRC bridge documentation page](docs/configuring-playbook-bridge-appservice-irc.md) for an example."
msgstr ""

#: ../../../CHANGELOG.md:3722
msgid "If you decide to continue using `matrix_appservice_irc_configuration_extension_yaml`, you might be interested to know that `ircService.databaseUri` and a few other keys now have default values in the base configuration (`matrix_appservice_irc_configuration_yaml`). You may wish to stop redefining those keys, unless you really intend to override them. You most likely only need to override `ircService.servers`."
msgstr ""

#: ../../../CHANGELOG.md:3724
msgid "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:3727
msgid "2019-06-15"
msgstr ""

#: ../../../CHANGELOG.md:3729
msgid "(BC Break) Telegram bridge configuration is now entirely managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:3731
msgid "Until now, configuration files for the [Telegram bridge](docs/configuring-playbook-bridge-mautrix-telegram.md) were created by the playbook initially, but never modified later on."
msgstr ""

#: ../../../CHANGELOG.md:3735
msgid "This means that if you were making manual changes to the `/matrix/mautrix-telegram/config.yaml` or `/matrix/mautrix-telegram/registration.yaml` configuration files, those would be lost the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3737
msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-telegram/config`), so your old configuration remains in the base directory (`/matrix/mautrix-telegram`). You need to migrate any manual changes over to the new `matrix_mautrix_telegram_configuration_extension_yaml` variable, so that the playbook would apply them for you."
msgstr ""

#: ../../../CHANGELOG.md:3739
msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-telegram/data`). When you run the playbook with an existing database file (`/matrix/mautrix-telegram/mautrix-telegram.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)."
msgstr ""

#: ../../../CHANGELOG.md:3741
msgid "Also, we're now following the default configuration for the Telegram bridge, so some default configuration values are different:"
msgstr ""

#: ../../../CHANGELOG.md:3743
msgid "`edits_as_replies` (used to be `false`, now `true`) — previously replies were not sent over to Matrix at all; ow they are sent over as a reply to the original message"
msgstr ""

#: ../../../CHANGELOG.md:3744
msgid "`inline_images` (used to be `true`, now `false`) — this has to do with captioned images. Inline-image (included caption) are said to exhibit troubles on Riot iOS. When `false`, the caption arrives on the Matrix side as a separate message."
msgstr ""

#: ../../../CHANGELOG.md:3745
msgid "`authless_portals` (used to be `false`, now `true`) — creating portals from the Telegram side is now possible"
msgstr ""

#: ../../../CHANGELOG.md:3746
msgid "`whitelist_group_admins` (used to be `false`, now `true`) — allows Telegram group admins to use the bot commands"
msgstr ""

#: ../../../CHANGELOG.md:3748
msgid "If the new values are not to your liking, use `matrix_mautrix_telegram_configuration_extension_yaml` to specify an override (refer to `matrix_mautrix_telegram_configuration_yaml` to figure out which variable goes where)."
msgstr ""

#: ../../../CHANGELOG.md:3751
msgid "2019-06-12"
msgstr ""

#: ../../../CHANGELOG.md:3753
msgid "Synapse v1.0"
msgstr ""

#: ../../../CHANGELOG.md:3755
msgid "With [Synapse v1.0 now available](https://matrix.org/blog/2019/06/11/introducing-matrix-1-0-and-the-matrix-org-foundation) and most people being on at least Synapse v0.99, it's time to remove the `_matrix._tcp` DNS SRV record that we've been keeping for compatibility with old Synapse versions (<= 0.34)."
msgstr ""

#: ../../../CHANGELOG.md:3757
msgid "According to the [Server Discovery specification](https://matrix.org/docs/spec/server_server/r0.1.2.html#server-discovery), it's no harm to keep the DNS SRV record. But since it's not necessary for federating with the larger Matrix network anymore, you should be safe to get rid of it."
msgstr ""

#: ../../../CHANGELOG.md:3759
msgid "**Note**: don't confuse the `_matrix._tcp` and `_matrix-identity._tcp` DNS SRV records. The latter, **must not** be removed."
msgstr ""

#: ../../../CHANGELOG.md:3761
msgid "For completeness, we must say that using a `_matrix._tcp` [SRV record for Server Delegation](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced) is still valid and useful for certain deployments. It's just that our guide recommends the [`/.well-known/matrix/server` Server Delegation method](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), due to its easier implementation when using this playbook."
msgstr ""

#: ../../../CHANGELOG.md:3763
msgid "Besides this optional/non-urgent DNS change, assuming you're already on Synapse v0.99, upgrading to Synapse v1.0 should be as simple as [re-running the playbook](docs/maintenance-upgrading-services.md)."
msgstr ""

#: ../../../CHANGELOG.md:3766
msgid "2019-06-07"
msgstr ""

#: ../../../CHANGELOG.md:3768
msgid "(BC Break) Facebook bridge configuration is now entirely managed by the playbook"
msgstr ""

#: ../../../CHANGELOG.md:3770
msgid "Until now, configuration files for the [Facebook bridge](docs/configuring-playbook-bridge-mautrix-facebook.md) were created by the playbook initially, but never modified later on."
msgstr ""

#: ../../../CHANGELOG.md:3774
msgid "This means that if you were making manual changes to the `/matrix/mautrix-facebook/config.yaml` or `/matrix/mautrix-facebook/registration.yaml` configuration files, those would be lost the next time you run the playbook."
msgstr ""

#: ../../../CHANGELOG.md:3776
msgid "The bridge now stores configuration in a subdirectory (`/matrix/mautrix-facebook/config`), so your old configuration remains in the base directory (`/matrix/mautrix-facebook`). You need to migrate any manual changes over to the new `matrix_mautrix_facebook_configuration_extension_yaml` variable, so that the playbook would apply them for you."
msgstr ""

#: ../../../CHANGELOG.md:3778
msgid "Likewise, data is now also stored in a subdirectory (`/matrix/mautrix-facebook/data`). When you run the playbook with an existing database file (`/matrix/mautrix-facebook/mautrix-facebook.db`), the playbook will stop the bridge and relocate the database file to the `./data` directory. There's no data-loss involved. You'll need to restart the bridge manually though (`--tags=start`)."
msgstr ""

#: ../../../CHANGELOG.md:3781
msgid "2019-05-25"
msgstr ""

#: ../../../CHANGELOG.md:3783
msgid "Support for exposing container ports publicly (not just to the host)"
msgstr ""

#: ../../../CHANGELOG.md:3785
msgid "Until now, various roles supported a `matrix_*_expose_port` variable, which would expose their container's port to the host. This was mostly useful for reverse-proxying manually (in case `matrix-nginx-proxy` was disabled). It could also be used for installing some playbook services (e.g. bridges, etc.) and wiring them to a separate (manual) Matrix setup."
msgstr ""

#: ../../../CHANGELOG.md:3787
msgid "`matrix_*_expose_port` variables were not granular enough — sometimes they would expose one port, other times multiple. They also didn't provide control over **where** to expose (to which port number and to which network interface), because they would usually hardcode something like `127.0.0.1:8080`."
msgstr ""

#: ../../../CHANGELOG.md:3789
msgid "All such variables have been superseded by a better (more flexible) way to do it."
msgstr ""

#: ../../../CHANGELOG.md:3791
msgid "**Most** people (including those not using `matrix-nginx-proxy`), **don't need** to bother with this."
msgstr ""

#: ../../../CHANGELOG.md:3793
msgid "Porting examples follow for people having more customized setups:"
msgstr ""

#: ../../../CHANGELOG.md:3795
msgid "**from** `matrix_synapse_container_expose_client_api_port: true` **to** `matrix_synapse_container_client_api_host_bind_port: '127.0.0.1:8008'`"
msgstr ""

#: ../../../CHANGELOG.md:3797
msgid "**from** `matrix_synapse_container_expose_federation_api_port: true` **to** `matrix_synapse_container_federation_api_plain_host_bind_port: '127.0.0.1:8048'` and possibly `matrix_synapse_container_federation_api_tls_host_bind_port: '8448'`"
msgstr ""

#: ../../../CHANGELOG.md:3799
msgid "**from** `matrix_synapse_container_expose_metrics_port: true` **to** `matrix_synapse_container_metrics_api_host_bind_port: '127.0.0.1:9100'`"
msgstr ""

#: ../../../CHANGELOG.md:3801
msgid "**from** `matrix_riot_web_container_expose_port: true` **to** `matrix_riot_web_container_http_host_bind_port: '127.0.0.1:8765'`"
msgstr ""

#: ../../../CHANGELOG.md:3803
msgid "**from** `matrix_mxisd_container_expose_port: true` **to** `matrix_mxisd_container_http_host_bind_port: '127.0.0.1:8090'`"
msgstr ""

#: ../../../CHANGELOG.md:3805
msgid "**from** `matrix_dimension_container_expose_port: true` **to** `matrix_dimension_container_http_host_bind_port: '127.0.0.1:8184'`"
msgstr ""

#: ../../../CHANGELOG.md:3807
msgid "**from** `matrix_corporal_container_expose_ports: true` **to** `matrix_corporal_container_http_gateway_host_bind_port: '127.0.0.1:41080'` and possibly `matrix_corporal_container_http_api_host_bind_port: '127.0.0.1:41081'`"
msgstr ""

#: ../../../CHANGELOG.md:3809
msgid "**from** `matrix_appservice_irc_container_expose_client_server_api_port: true` **to** `matrix_appservice_irc_container_http_host_bind_port: '127.0.0.1:9999'`"
msgstr ""

#: ../../../CHANGELOG.md:3811
msgid "**from** `matrix_appservice_discord_container_expose_client_server_api_port: true` **to** `matrix_appservice_discord_container_http_host_bind_port: '127.0.0.1:9005'`"
msgstr ""

#: ../../../CHANGELOG.md:3813
msgid "As always, if you forget to remove usage of some outdated variable, the playbook will warn you."
msgstr ""

#: ../../../CHANGELOG.md:3816
msgid "2019-05-23"
msgstr ""

#: ../../../CHANGELOG.md:3818
msgid "(BC Break) Ansible 2.8 compatibility"
msgstr ""

#: ../../../CHANGELOG.md:3820
msgid "Thanks to [@danbob](https://github.com/danbob), the playbook now [supports the new Ansible 2.8](https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/187)."
msgstr ""

#: ../../../CHANGELOG.md:3822
msgid "A manual change is required to the `inventory/hosts` file, changing the group name from `matrix-servers` to `matrix_servers` (dash to underscore)."
msgstr ""

#: ../../../CHANGELOG.md:3824
msgid "To avoid doing it manually, run this:"
msgstr ""

#: ../../../CHANGELOG.md:3825
msgid "Linux: `sed -i 's/matrix-servers/matrix_servers/g' inventory/hosts`"
msgstr ""

#: ../../../CHANGELOG.md:3826
msgid "Mac: `sed -i '' 's/matrix-servers/matrix_servers/g' inventory/hosts`"
msgstr ""

#: ../../../CHANGELOG.md:3829
msgid "2019-05-21"
msgstr ""

#: ../../../CHANGELOG.md:3831
msgid "Synapse no longer required"
msgstr ""

#: ../../../CHANGELOG.md:3833
msgid "The playbook no longer insists on installing [Synapse](https://github.com/element-hq/synapse) via the `matrix-synapse` role."
msgstr ""

#: ../../../CHANGELOG.md:3835
msgid "If you would prefer to install Synapse another way and just use the playbook to install other services, it should be possible (`matrix_synapse_enabled: false`)."
msgstr ""

#: ../../../CHANGELOG.md:3837
msgid "Note that it won't necessarily be the best experience, since the playbook wires things to Synapse by default. If you're using your own Synapse instance (especially one not running in a container), you may have to override many variables to point them to the correct place."
msgstr ""

#: ../../../CHANGELOG.md:3839
msgid "Having Synapse not be a required component potentially opens the door for installing alternative Matrix homeservers."
msgstr ""

#: ../../../CHANGELOG.md:3841
msgid "Bridges are now separate from the Synapse role"
msgstr ""

#: ../../../CHANGELOG.md:3843
msgid "Bridges are no longer part of the `matrix-synapse` role. Each bridge now lives in its own separate role (`roles/custom/matrix-bridge-*`)."
msgstr ""

#: ../../../CHANGELOG.md:3845
msgid "These bridge roles are independent of the `matrix-synapse` role, so it should be possible to use them with a Synapse instance installed another way (not through the playbook)."
msgstr ""

#: ../../../CHANGELOG.md:3847
msgid "Renaming inconsistently-named Synapse variables"
msgstr ""

#: ../../../CHANGELOG.md:3849
msgid "For better consistency, the following variables have been renamed:"
msgstr ""

#: ../../../CHANGELOG.md:3851
msgid "`matrix_enable_room_list_search` was renamed to `matrix_synapse_enable_room_list_search`"
msgstr ""

#: ../../../CHANGELOG.md:3852
msgid "`matrix_alias_creation_rules` was renamed to `matrix_synapse_alias_creation_rules`"
msgstr ""

#: ../../../CHANGELOG.md:3853
msgid "`matrix_nginx_proxy_matrix_room_list_publication_rulesdata_path` was renamed to `matrix_synapse_room_list_publication_rules`"
msgstr ""

#: ../../../CHANGELOG.md:3856
msgid "2019-05-09"
msgstr ""

#: ../../../CHANGELOG.md:3858
msgid "Besides a myriad of bug fixes and minor improvements, here are the more notable (bigger) features we can announce today."
msgstr ""

#: ../../../CHANGELOG.md:3860
msgid "Mautrix Facebook/Messenger bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3862
msgid "The playbook now supports bridging with [Facebook](https://www.facebook.com/) by installing the [mautrix-facebook](https://github.com/tulir/mautrix-facebook) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)."
msgstr ""

#: ../../../CHANGELOG.md:3864
msgid "Additional details are available in [Setting up Mautrix Facebook bridging](docs/configuring-playbook-bridge-mautrix-facebook.md)."
msgstr ""

#: ../../../CHANGELOG.md:3866
msgid "mxisd Registration feature integration"
msgstr ""

#: ../../../CHANGELOG.md:3868
msgid "The playbook can now help you integrate with mxisd's [Registration](https://github.com/kamax-matrix/mxisd/blob/master/docs/features/registration.md) feature."
msgstr ""

#: ../../../CHANGELOG.md:3870
msgid "Learn more in [mxisd-controlled Registration](docs/configuring-playbook-mxisd.md#mxisd-controlled-registration)."
msgstr ""

#: ../../../CHANGELOG.md:3873
msgid "2019-04-16"
msgstr ""

#: ../../../CHANGELOG.md:3875
msgid "Caddy webserver examples"
msgstr ""

#: ../../../CHANGELOG.md:3877
msgid "If you prefer using the [Caddy](https://caddyserver.com/) webserver instead of our own integrated nginx, we now have examples for it in the [`examples/caddy`](examples/caddy) directory"
msgstr ""

#: ../../../CHANGELOG.md:3879
msgid "2019-04-10"
msgstr ""

#: ../../../CHANGELOG.md:3881
msgid "Goofys support for other S3-compatible object stores"
msgstr ""

#: ../../../CHANGELOG.md:3883
msgid "Until now, you could optionally host Synapse's media repository on Amazon S3, but we now also support [using other S3-compatible object stores](docs/configuring-playbook-s3.md),"
msgstr ""

#: ../../../CHANGELOG.md:3886
msgid "2019-04-03"
msgstr ""

#: ../../../CHANGELOG.md:3888
msgid "Ansible >= 2.5 is required"
msgstr ""

#: ../../../CHANGELOG.md:3890
msgid "Due to recent playbook improvements and the fact that the world keeps turning, we're bumping the [version requirement for Ansible](docs/ansible.md#supported-ansible-versions) (2.4 -> 2.5)."
msgstr ""

#: ../../../CHANGELOG.md:3892
msgid "We've also started building our own Docker image of Ansible ([devture/ansible](https://hub.docker.com/r/devture/ansible/)), which is useful for people who can't upgrade their local Ansible installation (see [Using Ansible via Docker](docs/ansible.md#using-ansible-via-docker))."
msgstr ""

#: ../../../CHANGELOG.md:3895
msgid "2019-03-19"
msgstr ""

#: ../../../CHANGELOG.md:3897
msgid "TLS support for coturn"
msgstr ""

#: ../../../CHANGELOG.md:3899
msgid "We've added TLS support to the coturn TURN server installed by the playbook by default. The certificates from the Matrix domain will be used for the coturn server."
msgstr ""

#: ../../../CHANGELOG.md:3901
msgid "This feature is enabled by default for new installations. To make use of TLS support for your existing Matrix server's coturn, make sure to rebuild both coturn and Synapse:"
msgstr ""

#: ../../../CHANGELOG.md:3907
msgid "People who have an extra firewall (besides the iptables firewall, which Docker manages automatically), will need to open these additional firewall ports: `5349/tcp` (TURN over TCP) and `5349/udp` (TURN over UDP)."
msgstr ""

#: ../../../CHANGELOG.md:3909
msgid "People who build their own custom playbook from our roles should be aware that:"
msgstr ""

#: ../../../CHANGELOG.md:3911
msgid "the `matrix-coturn` role and actually starting coturn (e.g. `--tags=start`), requires that certificates are already put in place. For this reason, it's usually a good idea to have the `matrix-coturn` role execute after `matrix-nginx-proxy` (which retrieves the certificates)."
msgstr ""

#: ../../../CHANGELOG.md:3913
msgid "there are a few variables that can help you enable TLS support for coturn. See the `matrix-coturn` section in [group_vars/matrix-servers](./group_vars/matrix-servers)."
msgstr ""

#: ../../../CHANGELOG.md:3916
msgid "2019-03-12"
msgstr ""

#: ../../../CHANGELOG.md:3918
msgid "matrix-nginx-proxy support for serving the base domain"
msgstr ""

#: ../../../CHANGELOG.md:3920
msgid "If you don't have a dedicated server for your base domain and want to set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), the playbook has got you covered now."
msgstr ""

#: ../../../CHANGELOG.md:3922
msgid "It's now possible for the playbook to obtain an SSL certificate and serve the necessary files for Matrix Server Delegation on your base domain. Take a look at the new [Serving the base domain](docs/configuring-playbook-base-domain-serving.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:3924
msgid "(BC break) matrix-nginx-proxy data variable renamed"
msgstr ""

#: ../../../CHANGELOG.md:3926
msgid "`matrix_nginx_proxy_data_path` was renamed to `matrix_nginx_proxy_base_path`."
msgstr ""

#: ../../../CHANGELOG.md:3928
msgid "There's a new `matrix_nginx_proxy_data_path` variable, which has a different use-purpose now (it's a subdirectory of `matrix_nginx_proxy_base_path` and is meant for storing various data files)."
msgstr ""

#: ../../../CHANGELOG.md:3931
msgid "2019-03-10"
msgstr ""

#: ../../../CHANGELOG.md:3933
msgid "Dimension integration manager support"
msgstr ""

#: ../../../CHANGELOG.md:3935
msgid "Thanks to [NullIsNot0](https://github.com/NullIsNot0), the playbook can now (optionally) install the [Dimension](https://dimension.t2bot.io/) integration manager. To learn more, see the [Setting up Dimension](docs/configuring-playbook-dimension.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:3938
msgid "2019-03-07"
msgstr ""

#: ../../../CHANGELOG.md:3940
msgid "Ability to customize mxisd's email templates"
msgstr ""

#: ../../../CHANGELOG.md:3942
msgid "Thanks to [Sylvia van Os](https://github.com/TheLastProject), mxisd's email templates can now be customized easily. To learn more, see the [Customizing email templates](docs/configuring-playbook-mxisd.md#customizing-email-templates) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:3945
msgid "2019-03-05"
msgstr ""

#: ../../../CHANGELOG.md:3947
msgid "Discord bridging support"
msgstr ""

#: ../../../CHANGELOG.md:3949
msgid "[@Lionstiger](https://github.com/Lionstiger) has done some great work adding Discord bridging support via [matrix-appservice-discord](https://github.com/matrix-org/matrix-appservice-discord). To learn more, see the [Setting up Appservice Discord bridging](docs/configuring-playbook-bridge-appservice-discord.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:3952
msgid "2019-02-19"
msgstr ""

#: ../../../CHANGELOG.md:3954
msgid "Renaming variables"
msgstr ""

#: ../../../CHANGELOG.md:3956 ../../../CHANGELOG.md:4273
#: ../../../CHANGELOG.md:4358 ../../../CHANGELOG.md:4478
msgid "The following playbook variables were renamed:"
msgstr ""

#: ../../../CHANGELOG.md:3958
msgid "from `host_specific_hostname_identity` to `matrix_domain`"
msgstr ""

#: ../../../CHANGELOG.md:3959
msgid "from `hostname_identity` to `matrix_domain`"
msgstr ""

#: ../../../CHANGELOG.md:3960
msgid "from `hostname_matrix` to `matrix_server_fqn_matrix`"
msgstr ""

#: ../../../CHANGELOG.md:3961
msgid "from `hostname_riot` to `matrix_server_fqn_riot`"
msgstr ""

#: ../../../CHANGELOG.md:3962
msgid "from `host_specific_matrix_ssl_lets_encrypt_support_email` to `matrix_ssl_lets_encrypt_support_email`"
msgstr ""

#: ../../../CHANGELOG.md:3964
msgid "Doing that, we've simplified things, made names less confusing (hopefully) and moved all variable names under the `matrix_` prefix."
msgstr ""

#: ../../../CHANGELOG.md:3967
msgid "2019-02-16"
msgstr ""

#: ../../../CHANGELOG.md:3969
msgid "Riot v1.0.1 support"
msgstr ""

#: ../../../CHANGELOG.md:3971
msgid "You can now use the brand new and redesigned Riot."
msgstr ""

#: ../../../CHANGELOG.md:3973
msgid "The new version no longer has a homepage by default, so we've also removed the custom homepage that we've been installing."
msgstr ""

#: ../../../CHANGELOG.md:3975
msgid "However, we still provide you with hooks to install your own `home.html` file by specifying the `matrix_riot_web_embedded_pages_home_path` variable (used to be called `matrix_riot_web_homepage_template` before)."
msgstr ""

#: ../../../CHANGELOG.md:3978
msgid "2019-02-14"
msgstr ""

#: ../../../CHANGELOG.md:3980
msgid "Synapse v0.99.1"
msgstr ""

#: ../../../CHANGELOG.md:3982
msgid "As we're moving toward Synapse v1.0, things are beginning to stabilize. Upgrading from v0.99.0 to v0.99.1 should be painless."
msgstr ""

#: ../../../CHANGELOG.md:3984
msgid "If you've been overriding the default configuration so that you can terminate TLS at the Synapse side (`matrix_synapse_no_tls: false`), you'll now have to replace this custom configuration with `matrix_synapse_tls_federation_listener_enabled: true`. The `matrix_synapse_no_tls` variable is no more."
msgstr ""

#: ../../../CHANGELOG.md:3987
msgid "2019-02-06"
msgstr ""

#: ../../../CHANGELOG.md:3989
msgid "Synapse v0.99 support and preparation for Synapse v1.0"
msgstr ""

#: ../../../CHANGELOG.md:3991
msgid "Matrix is undergoing a lot of changes as it matures towards Synapse v1.0. The first step is the Synapse v0.99 transitional release, which this playbook now supports."
msgstr ""

#: ../../../CHANGELOG.md:3993
msgid "If you've been using this playbook successfully until now, you'd be aware that we've been doing [Server Delegation](docs/howto-server-delegation.md) using a `_matrix._tcp` DNS SRV record (as per [Configuring DNS](docs/configuring-dns.md))."
msgstr ""

#: ../../../CHANGELOG.md:3995
msgid "Due to changes related to certificate file requirements that will affect us at Synapse v1.0, we'll have to stop using a **`_matrix._tcp` DNS SRV record in the future** (when Synapse goes to v1.0 — around 5th of March 2019). We **still need to keep the SRV record for now**, for backward compatibility with older Synapse versions (lower than v0.99)."
msgstr ""

#: ../../../CHANGELOG.md:3997
msgid "**What you need to do now** is make use of this transitional Synapse v0.99 release to **prepare your federation settings for the future**. You have 2 choices to prepare yourself for compatibility with the future Synapse v1.0:"
msgstr ""

#: ../../../CHANGELOG.md:3999
msgid "(recommended) set up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file), unless you are affected by the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation). If you had previously set up the well-known `client` file, depending on how you've done it, it may be that there is nothing new required of you (besides [upgrading](docs/maintenance-upgrading-services.md)). After upgrading, you can [run a self-check](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work), which will tell you if you need to do anything extra with regard to setting up [Server Delegation via a well-known file](docs/howto-server-delegation.md#server-delegation-via-a-well-known-file). After some time, when most people have upgraded to Synapse v0.99 and older releases have disappeared, be prepared to drop your `_matrix._tcp` SRV record."
msgstr ""

#: ../../../CHANGELOG.md:4001
msgid "(more advanced) if the [Downsides of well-known-based Server Delegation](docs/howto-server-delegation.md#downsides-of-well-known-based-server-delegation) are not to your liking, **as an alternative**, you can set up [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced). In such a case, you get to keep using your existing `_matrix._tcp` DNS SRV record forever and need to NOT set up a `/.well-known/matrix/server` file. Don't forget that you need to do certificate changes though. Follow the guide at [Server Delegation via a DNS SRV record](docs/howto-server-delegation.md#server-delegation-via-a-dns-srv-record-advanced)."
msgstr ""

#: ../../../CHANGELOG.md:4004
msgid "2019-02-01"
msgstr ""

#: ../../../CHANGELOG.md:4006
msgid "TLS v1.3 support"
msgstr ""

#: ../../../CHANGELOG.md:4008
msgid "Now that the [nginx Docker image](https://hub.docker.com/_/nginx) has [added support for TLS v1.3](https://github.com/nginxinc/docker-nginx/issues/190), we have enabled that protocol by default."
msgstr ""

#: ../../../CHANGELOG.md:4010
msgid "When using:"
msgstr ""

#: ../../../CHANGELOG.md:4012
msgid "the **integrated nginx server**: TLS v1.3 support might not kick in immediately, because the nginx version hasn't been bumped and you may have an older build of the nginx Docker image (currently `nginx:1.15.8-alpine`). Typically, we do not re-pull images that you already have. When the nginx version gets bumped in the future, everyone will get the update. Until then, you could manually force-pull the rebuilt Docker image by running this on the server: `docker pull nginx:1.15.8-alpine`."
msgstr ""

#: ../../../CHANGELOG.md:4014
msgid "**your own external nginx server**: if your external nginx server is too old, the new configuration we generate for you in `/matrix/nginx-proxy/conf.d/` might not work anymore, because it mentions `TLSv1.3` and your nginx version might not support that. You can adjust the SSL protocol list by overriding the `matrix_nginx_proxy_ssl_protocols` variable. Learn more in the documentation page for [Using your own webserver, instead of this playbook's nginx proxy](docs/configuring-playbook-own-webserver.md)"
msgstr ""

#: ../../../CHANGELOG.md:4016
msgid "**another web server**: you don't need to do anything to accommodate this change"
msgstr ""

#: ../../../CHANGELOG.md:4019
msgid "2019-01-31"
msgstr ""

#: ../../../CHANGELOG.md:4021
msgid "IRC bridging support"
msgstr ""

#: ../../../CHANGELOG.md:4023
msgid "[Devon Maloney (@Plailect)](https://github.com/Plailect) has done some great work bringing IRC bridging support via [matrix-appservice-irc](https://github.com/TeDomum/matrix-appservice-irc). To learn more, see the [Setting up Appservice IRC bridging](docs/configuring-playbook-bridge-appservice-irc.md) documentation page."
msgstr ""

#: ../../../CHANGELOG.md:4026
msgid "2019-01-29"
msgstr ""

#: ../../../CHANGELOG.md:4028
msgid "Running container processes as non-root, without capabilities and read-only"
msgstr ""

#: ../../../CHANGELOG.md:4030
msgid "To improve security, this playbook no longer starts container processes as the `root` user. Most containers were dropping privileges anyway, but we were trusting them with `root` privileges until they would do that. Not anymore — container processes now start as a non-root user (usually `matrix`) from the get-go."
msgstr ""

#: ../../../CHANGELOG.md:4032
msgid "For additional security, various capabilities are also dropped (see [why it's important](https://github.com/projectatomic/atomic-site/issues/203)) for all containers."
msgstr ""

#: ../../../CHANGELOG.md:4034
msgid "Additionally, most containers now use a read-only filesystem (see [why it's important](https://www.projectatomic.io/blog/2015/12/making-docker-images-write-only-in-production/)). Containers are given write access only to the directories they need to write to."
msgstr ""

#: ../../../CHANGELOG.md:4036
msgid "A minor breaking change is the `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size` variable having being renamed to `matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb` (note the `_mb` suffix). The new variable expects a number value (e.g. `25M` -> `25`). If you weren't customizing this variable, this wouldn't affect you."
msgstr ""

#: ../../../CHANGELOG.md:4038
msgid "matrix-mailer is now based on Exim, not Postfix"
msgstr ""

#: ../../../CHANGELOG.md:4040
msgid "While we would have preferred to stay with [Postfix](http://www.postfix.org/), we found out that it cannot run as a non-root user. We've had to replace it with [Exim](https://www.exim.org/) (via the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image)."
msgstr ""

#: ../../../CHANGELOG.md:4042
msgid "The internal `matrix-mailer` service (running in a container) now listens on port `8025` (used to be `587` before). The playbook will update your Synapse and mxisd email settings to match (`matrix-mailer:587` -> `matrix-mailer:8025`)."
msgstr ""

#: ../../../CHANGELOG.md:4044
msgid "Using the [devture/exim-relay](https://hub.docker.com/r/devture/exim-relay) container image instead of [panubo/postfix](https://hub.docker.com/r/panubo/postfix/) also gives us a nice disk usage reduction (~200MB -> 8MB)."
msgstr ""

#: ../../../CHANGELOG.md:4047
msgid "2019-01-17"
msgstr ""

#: ../../../CHANGELOG.md:4049
msgid "(BC Break) Making the playbook's roles more independent of one another"
msgstr ""

#: ../../../CHANGELOG.md:4051
msgid "The following change **affects people running a more non-standard setup** — external Postgres or using our roles in their own other playbook. **Most users don't need to do anything**, besides becoming aware of the new glue variables file [`group_vars/matrix-servers`](group_vars/matrix-servers)."
msgstr ""

#: ../../../CHANGELOG.md:4054
msgid "Because people like using the playbook's components independently (outside of this playbook) and because it's much better for maintainability, we've continued working on separating them. Still, we'd like to offer a turnkey solution for running a fully-featured Matrix server, so this playbook remains important for wiring up the various components."
msgstr ""

#: ../../../CHANGELOG.md:4056
msgid "With the new changes, **all roles are now only dependent on the minimal `matrix-base` role**. They are no longer dependent among themselves."
msgstr ""

#: ../../../CHANGELOG.md:4058
msgid "In addition, the following components can now be completely disabled (for those who want/need to):"
msgstr ""

#: ../../../CHANGELOG.md:4059
msgid "`matrix-coturn` by using `coturn_enabled: false`"
msgstr ""

#: ../../../CHANGELOG.md:4060
msgid "`matrix-mailer` by using `matrix_mailer_enabled: false`"
msgstr ""

#: ../../../CHANGELOG.md:4061
msgid "`matrix-postgres` by using `matrix_postgres_enabled: false`"
msgstr ""

#: ../../../CHANGELOG.md:4063
msgid "The following changes had to be done:"
msgstr ""

#: ../../../CHANGELOG.md:4065
msgid "glue variables had to be introduced to the playbook, so it can wire together the various components. Those glue vars are stored in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file. When overriding variables for a given component (role), you need to be aware of both the role defaults (`role/ROLE/defaults/main.yml`) and the role's corresponding section in the [`group_vars/matrix-servers`](group_vars/matrix-servers) file."
msgstr ""

#: ../../../CHANGELOG.md:4067
msgid "`matrix_postgres_use_external` has been superseded by the more consistently named `matrix_postgres_enabled` variable and a few other `matrix_synapse_database_` variables. See the [Using an external PostgreSQL server (optional)](docs/configuring-playbook-external-postgres.md) documentation page for an up-to-date replacement."
msgstr ""

#: ../../../CHANGELOG.md:4069
msgid "Postgres tools (`matrix-postgres-cli` and `matrix-make-user-admin`) are no longer installed if you're not enabling the `matrix-postgres` role (`matrix_postgres_enabled: false`)"
msgstr ""

#: ../../../CHANGELOG.md:4071
msgid "roles, being more independent now, are more minimal and do not do so much magic for you. People that are building their own playbook using our roles will definitely need to take a look at the [`group_vars/matrix-servers`](group_vars/matrix-servers) file and adapt their playbooks with the same (or similar) wiring logic."
msgstr ""

#: ../../../CHANGELOG.md:4074
msgid "2019-01-16"
msgstr ""

#: ../../../CHANGELOG.md:4076
msgid "Splitting the playbook into multiple roles"
msgstr ""

#: ../../../CHANGELOG.md:4078
msgid "For better maintainability, the playbook logic (which all used to reside in a single `matrix-server` role) has been split out into a number of different roles: `matrix-synapse`, `matrix-postgres`, `matrix-riot-web`, `matrix-mxisd`, etc. (see the `roles/` directory)."
msgstr ""

#: ../../../CHANGELOG.md:4081
msgid "To keep the filesystem more consistent with this separation, the **Postgres data had to be relocated**."
msgstr ""

#: ../../../CHANGELOG.md:4083
msgid "The default value of `matrix_postgres_data_path` was changed from `/matrix/postgres` to `/matrix/postgres/data`. The `/matrix/postgres` directory is what we consider a base path now (new variable `matrix_postgres_base_path`). **Your Postgres data files will automatically be relocated by the playbook** (`/matrix/postgres/*` -> `/matrix/postgres/data/`) when you run with `--tags=setup-all` (or `--tags=setup-postgres`). While this shouldn't cause data-loss, **it's better if you do a Postgres backup just in case**. You'd need to restart all services after this migration (`--tags=start`)."
msgstr ""

#: ../../../CHANGELOG.md:4086
msgid "2019-01-11"
msgstr ""

#: ../../../CHANGELOG.md:4088
msgid "(BC Break) mxisd configuration changes"
msgstr ""

#: ../../../CHANGELOG.md:4090
msgid "To be more flexible and to support the upcoming [mxisd](https://github.com/kamax-io/mxisd) 1.3.0 (when it gets released), we've had to redo how mxisd gets configured."
msgstr ""

#: ../../../CHANGELOG.md:4093
msgid "The following variables are no longer supported by this playbook:"
msgstr ""

#: ../../../CHANGELOG.md:4095
msgid "`matrix_mxisd_ldap_enabled`"
msgstr ""

#: ../../../CHANGELOG.md:4096
msgid "`matrix_mxisd_ldap_connection_host`"
msgstr ""

#: ../../../CHANGELOG.md:4097
msgid "`matrix_mxisd_ldap_connection_tls`"
msgstr ""

#: ../../../CHANGELOG.md:4098
msgid "`matrix_mxisd_ldap_connection_port`"
msgstr ""

#: ../../../CHANGELOG.md:4099
msgid "`matrix_mxisd_ldap_connection_baseDn`"
msgstr ""

#: ../../../CHANGELOG.md:4100
msgid "`matrix_mxisd_ldap_connection_baseDns`"
msgstr ""

#: ../../../CHANGELOG.md:4101 ../../../CHANGELOG.md:4102
msgid "`matrix_mxisd_ldap_connection_bindDn`"
msgstr ""

#: ../../../CHANGELOG.md:4103 ../../../CHANGELOG.md:4107
msgid "`matrix_mxisd_ldap_connection_bindPassword`"
msgstr ""

#: ../../../CHANGELOG.md:4104
msgid "`matrix_mxisd_ldap_filter`"
msgstr ""

#: ../../../CHANGELOG.md:4105
msgid "`matrix_mxisd_ldap_attribute_uid_type`"
msgstr ""

#: ../../../CHANGELOG.md:4106
msgid "`matrix_mxisd_ldap_attribute_uid_value`"
msgstr ""

#: ../../../CHANGELOG.md:4108
msgid "`matrix_mxisd_ldap_attribute_name`"
msgstr ""

#: ../../../CHANGELOG.md:4109
msgid "`matrix_mxisd_ldap_attribute_threepid_email`"
msgstr ""

#: ../../../CHANGELOG.md:4110
msgid "`matrix_mxisd_ldap_attribute_threepid_msisdn`"
msgstr ""

#: ../../../CHANGELOG.md:4111
msgid "`matrix_mxisd_ldap_identity_filter`"
msgstr ""

#: ../../../CHANGELOG.md:4112
msgid "`matrix_mxisd_ldap_identity_medium`"
msgstr ""

#: ../../../CHANGELOG.md:4113
msgid "`matrix_mxisd_ldap_auth_filter`"
msgstr ""

#: ../../../CHANGELOG.md:4114
msgid "`matrix_mxisd_ldap_directory_filter`"
msgstr ""

#: ../../../CHANGELOG.md:4115
msgid "`matrix_mxisd_template_config`"
msgstr ""

#: ../../../CHANGELOG.md:4117
msgid "You are encouraged to use the `matrix_mxisd_configuration_extension_yaml` variable to define your own mxisd configuration additions and overrides. Refer to the [default variables file](roles/custom/matrix-mxisd/defaults/main.yml) for more information."
msgstr ""

#: ../../../CHANGELOG.md:4119
msgid "This new way of configuring mxisd is beneficial because:"
msgstr ""

#: ../../../CHANGELOG.md:4121
msgid "it lets us support all mxisd configuration options, as the playbook simply forwards them to mxisd without needing to care or understand them"
msgstr ""

#: ../../../CHANGELOG.md:4122
msgid "it lets you upgrade to newer mxisd versions and make use of their features, without us having to add support for them explicitly"
msgstr ""

#: ../../../CHANGELOG.md:4125
msgid "2019-01-08"
msgstr ""

#: ../../../CHANGELOG.md:4127
msgid "(BC Break) Cronjob schedule no longer configurable"
msgstr ""

#: ../../../CHANGELOG.md:4129
msgid "Due to the way we manage cronjobs now, you can no longer configure the schedule they're invoked at."
msgstr ""

#: ../../../CHANGELOG.md:4131
msgid "If you were previously using `matrix_ssl_lets_encrypt_renew_cron_time_definition` or `matrix_nginx_proxy_reload_cron_time_definition` to set a custom schedule, you should note that these variables don't affect anything anymore."
msgstr ""

#: ../../../CHANGELOG.md:4134
msgid "If you miss this functionality, please [open an Issue](https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/new) and let us know about your use case!"
msgstr ""

#: ../../../CHANGELOG.md:4137
msgid "2018-12-23"
msgstr ""

#: ../../../CHANGELOG.md:4139
msgid "(BC Break) More SSL certificate retrieval methods"
msgstr ""

#: ../../../CHANGELOG.md:4141
msgid "The playbook now lets you decide between 3 different SSL certificate retrieval methods:"
msgstr ""

#: ../../../CHANGELOG.md:4142
msgid "(default) obtaining free SSL certificates from Let's Encrypt"
msgstr ""

#: ../../../CHANGELOG.md:4143
msgid "generating self-signed SSL certificates"
msgstr ""

#: ../../../CHANGELOG.md:4144
msgid "managing SSL certificates manually"
msgstr ""

#: ../../../CHANGELOG.md:4146
msgid "Learn more in [Adjusting SSL certificate retrieval](docs/configuring-playbook-ssl-certificates.md)."
msgstr ""

#: ../../../CHANGELOG.md:4148
msgid "For people who use Let's Encrypt (mostly everyone, since it's the default), you'll also have to rename a variable in your configuration:"
msgstr ""

#: ../../../CHANGELOG.md:4150
msgid "before: `host_specific_matrix_ssl_support_email`"
msgstr ""

#: ../../../CHANGELOG.md:4151
msgid "after: `host_specific_matrix_ssl_lets_encrypt_support_email`"
msgstr ""

#: ../../../CHANGELOG.md:4153
msgid "(BC Break) mxisd upgrade with multiple base DN support"
msgstr ""

#: ../../../CHANGELOG.md:4155
msgid "mxisd has bee upgraded to [version 1.2.2](https://github.com/kamax-matrix/mxisd/releases/tag/v1.2.2), which supports [multiple base DNs](https://github.com/kamax-matrix/mxisd/blob/v1.2.2/docs/stores/ldap.md#base)."
msgstr ""

#: ../../../CHANGELOG.md:4157
msgid "If you were configuring this playbook's `matrix_mxisd_ldap_connection_baseDn` variable until now (a string containing a single base DN), you'll need to change to configuring the `matrix_mxisd_ldap_connection_baseDns` variable (an array containing multiple base DNs)."
msgstr ""

#: ../../../CHANGELOG.md:4159
msgid "Example change:"
msgstr ""

#: ../../../CHANGELOG.md:4161
msgid "before: `matrix_mxisd_ldap_connection_baseDn: OU=Users,DC=example,DC=org`"
msgstr ""

#: ../../../CHANGELOG.md:4162
msgid "after: `matrix_mxisd_ldap_connection_baseDns: ['OU=Users,DC=example,DC=org']`"
msgstr ""

#: ../../../CHANGELOG.md:4165
msgid "2018-12-21"
msgstr ""

#: ../../../CHANGELOG.md:4167
msgid "Synapse 0.34.0 and Python 3"
msgstr ""

#: ../../../CHANGELOG.md:4169
msgid "Synapse has been upgraded to 0.34.0 and now uses Python 3. Based on feedback from others, running Synapse on Python 3 is supposed to decrease memory usage significantly (~2x)."
msgstr ""

#: ../../../CHANGELOG.md:4172
msgid "2018-12-12"
msgstr ""

#: ../../../CHANGELOG.md:4174
msgid "Riot homepage customization"
msgstr ""

#: ../../../CHANGELOG.md:4176
msgid "You can now customize some parts of the Riot homepage (or even completely replace it with your own custom page). See the `matrix_riot_web_homepage_` variables in `roles/custom/matrix-riot-web/defaults/main.yml`."
msgstr ""

#: ../../../CHANGELOG.md:4179
msgid "2018-12-04"
msgstr ""

#: ../../../CHANGELOG.md:4181
msgid "mxisd extensibility"
msgstr ""

#: ../../../CHANGELOG.md:4183
msgid "The [LDAP identity store for mxisd](https://github.com/kamax-matrix/mxisd/blob/master/docs/stores/ldap.md) can now be configured easily using playbook variables (see the `matrix_mxisd_ldap_` variables in `roles/custom/matrix-server/defaults/main.yml`)."
msgstr ""

#: ../../../CHANGELOG.md:4186
msgid "2018-11-28"
msgstr ""

#: ../../../CHANGELOG.md:4188
msgid "More scripts"
msgstr ""

#: ../../../CHANGELOG.md:4190
msgid "matrix-remove-all allows to uninstall everything with a single command"
msgstr ""

#: ../../../CHANGELOG.md:4191
msgid "matrix-make-user-admin allows to upgrade a user's privileges"
msgstr ""

#: ../../../CHANGELOG.md:4193
msgid "LDAP auth support via matrix-synapse-ldap3"
msgstr ""

#: ../../../CHANGELOG.md:4195
msgid "The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you."
msgstr ""

#: ../../../CHANGELOG.md:4197
msgid "Additional details are available in [Setting up the LDAP authentication password provider module](docs/configuring-playbook-ldap-auth.md)."
msgstr ""

#: ../../../CHANGELOG.md:4200
msgid "2018-11-23"
msgstr ""

#: ../../../CHANGELOG.md:4202
msgid "Support for controlling public registration and room auto-join"
msgstr ""

#: ../../../CHANGELOG.md:4204
msgid "The playbook now lets you enable public registration for users (controlled via `matrix_synapse_enable_registration`). By default, public registration is forbidden."
msgstr ""

#: ../../../CHANGELOG.md:4206
msgid "You can also make people automatically get auto-joined to rooms (controlled via `matrix_synapse_auto_join_rooms`)."
msgstr ""

#: ../../../CHANGELOG.md:4208
msgid "Support for changing the welcome user ID (welcome bot)"
msgstr ""

#: ../../../CHANGELOG.md:4210
msgid "By default, `@riot-bot:matrix.org` is used to welcome newly registered users. This can be changed to something else (or disabled) via the new `matrix_riot_web_welcome_user_id` variable."
msgstr ""

#: ../../../CHANGELOG.md:4213
msgid "2018-11-14"
msgstr ""

#: ../../../CHANGELOG.md:4215
msgid "Ability to set Synapse log levels"
msgstr ""

#: ../../../CHANGELOG.md:4217
msgid "The playbook now allows you to set the log levels used by Synapse. The default logging levels remain the same."
msgstr ""

#: ../../../CHANGELOG.md:4219
msgid "You can now override following variables with any of the supported log levels listed here: https://docs.python.org/3/library/logging.html#logging-levels"
msgstr ""

#: ../../../CHANGELOG.md:4228
msgid "2018-11-03"
msgstr ""

#: ../../../CHANGELOG.md:4230
msgid "Customize parts of Riot's config"
msgstr ""

#: ../../../CHANGELOG.md:4232
msgid "You can now customize some parts of Riot's `config.json`. These playbook variables, with these default values, have been added:"
msgstr ""

#: ../../../CHANGELOG.md:4243
msgid "This now allows you use a custom integration manager like [Dimension](https://dimension.t2bot.io). For example, if you wish to use the Dimension instance hosted at dimension.t2bot.io, you can set the following in your vars.yml file:"
msgstr ""

#: ../../../CHANGELOG.md:4252
msgid "SSL protocols used to serve Riot and Synapse"
msgstr ""

#: ../../../CHANGELOG.md:4254
msgid "There's now a new `matrix_nginx_proxy_ssl_protocols` playbook variable, which controls the SSL protocols used to serve Riot and Synapse. Its default value is `TLSv1.1 TLSv1.2`. This playbook previously used `TLSv1 TLSv1.1 TLSv1.2` to serve Riot and Synapse."
msgstr ""

#: ../../../CHANGELOG.md:4256
msgid "You may wish to re-enable TLSv1 if you need to access Riot in older browsers."
msgstr ""

#: ../../../CHANGELOG.md:4258
msgid "Note: Currently the dockerized nginx doesn't support TLSv1.3. See https://github.com/nginxinc/docker-nginx/issues/190 for more details."
msgstr ""

#: ../../../CHANGELOG.md:4261
msgid "2018-11-01"
msgstr ""

#: ../../../CHANGELOG.md:4263
msgid "Postgres 11 support"
msgstr ""

#: ../../../CHANGELOG.md:4265
msgid "The playbook now installs [Postgres 11](https://www.postgresql.org/about/news/1894/) by default."
msgstr ""

#: ../../../CHANGELOG.md:4267
msgid "If you have have an existing setup, it's likely running on an older Postgres version (9.x or 10.x). You can easily upgrade by following the [upgrading PostgreSQL guide](docs/maintenance-postgres.md#upgrading-postgresql)."
msgstr ""

#: ../../../CHANGELOG.md:4269 ../../../CHANGELOG.md:4356
#: ../../../CHANGELOG.md:4476
msgid "(BC Break) Renaming playbook variables"
msgstr ""

#: ../../../CHANGELOG.md:4271
msgid "Due to the large amount of features added to this playbook lately, to keep things manageable we've had to reorganize its configuration variables a bit."
msgstr ""

#: ../../../CHANGELOG.md:4275
msgid "from `matrix_docker_image_mxisd` to `matrix_mxisd_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4276
msgid "from `matrix_docker_image_mautrix_telegram` to `matrix_mautrix_telegram_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4277
msgid "from `matrix_docker_image_mautrix_whatsapp` to `matrix_mautrix_whatsapp_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4278
msgid "from `matrix_docker_image_mailer` to `matrix_mailer_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4279
msgid "from `matrix_docker_image_coturn` to `coturn_container_image`"
msgstr ""

#: ../../../CHANGELOG.md:4280
msgid "from `matrix_docker_image_goofys` to `matrix_s3_goofys_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4281
msgid "from `matrix_docker_image_riot` to `matrix_riot_web_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4282
msgid "from `matrix_docker_image_nginx` to `matrix_nginx_proxy_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4283
msgid "from `matrix_docker_image_synapse` to `matrix_synapse_docker_image`"
msgstr ""

#: ../../../CHANGELOG.md:4284
msgid "from `matrix_docker_image_postgres_v9` to `matrix_postgres_docker_image_v9`"
msgstr ""

#: ../../../CHANGELOG.md:4285
msgid "from `matrix_docker_image_postgres_v10` to `matrix_postgres_docker_image_v10`"
msgstr ""

#: ../../../CHANGELOG.md:4286
msgid "from `matrix_docker_image_postgres_latest` to `matrix_postgres_docker_image_latest`"
msgstr ""

#: ../../../CHANGELOG.md:4289
msgid "2018-10-26"
msgstr ""

#: ../../../CHANGELOG.md:4291
msgid "Mautrix Whatsapp bridging support"
msgstr ""

#: ../../../CHANGELOG.md:4293
msgid "The playbook now supports bridging with [Whatsapp](https://www.whatsapp.com/) by installing the [mautrix-whatsapp](https://github.com/tulir/mautrix-whatsapp) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)."
msgstr ""

#: ../../../CHANGELOG.md:4295
msgid "Additional details are available in [Setting up Mautrix Whatsapp bridging](docs/configuring-playbook-bridge-mautrix-whatsapp.md)."
msgstr ""

#: ../../../CHANGELOG.md:4298
msgid "2018-10-25"
msgstr ""

#: ../../../CHANGELOG.md:4300
msgid "Support for controlling Matrix federation"
msgstr ""

#: ../../../CHANGELOG.md:4302
msgid "The playbook can now help you with [Controlling Matrix federation](docs/configuring-playbook-federation), should you wish to run a more private (isolated) server."
msgstr ""

#: ../../../CHANGELOG.md:4305
msgid "2018-10-24"
msgstr ""

#: ../../../CHANGELOG.md:4307
msgid "Disabling riot-web guests"
msgstr ""

#: ../../../CHANGELOG.md:4309
msgid "From now on, Riot's configuration setting `disable_guests` would be set to `true`. The homeserver was rejecting guests anyway, so this is just a cosmetic change affecting Riot's UI."
msgstr ""

#: ../../../CHANGELOG.md:4312
msgid "2018-10-21"
msgstr ""

#: ../../../CHANGELOG.md:4314
msgid "Self-check maintenance command"
msgstr ""

#: ../../../CHANGELOG.md:4316
msgid "The playbook can now [check if services are configured correctly](docs/maintenance-and-troubleshooting.md#how-to-check-if-services-work)."
msgstr ""

#: ../../../CHANGELOG.md:4319
msgid "2018-10-05"
msgstr ""

#: ../../../CHANGELOG.md:4321
msgid "Presence tracking made configurable"
msgstr ""

#: ../../../CHANGELOG.md:4323
msgid "The playbook can now enable/disable user presence-status tracking in Synapse, through the playbook's `matrix_synapse_use_presence` variable (having a default value of `true` — enabled)."
msgstr ""

#: ../../../CHANGELOG.md:4325
msgid "If users participate in large rooms with many other servers, disabling presence will decrease server load significantly."
msgstr ""

#: ../../../CHANGELOG.md:4328
msgid "2018-09-27"
msgstr ""

#: ../../../CHANGELOG.md:4330
msgid "Synapse Cache Factor made configurable"
msgstr ""

#: ../../../CHANGELOG.md:4332
msgid "The playbook now makes the Synapse cache factor configurable, through the playbook's `matrix_synapse_cache_factor` variable (having a default value of `0.5`)."
msgstr ""

#: ../../../CHANGELOG.md:4334
msgid "Changing that value allows you to potentially decrease RAM usage or to increase performance by caching more stuff. Some information on it is available here: https://github.com/element-hq/synapse#help-synapse-eats-all-my-ram"
msgstr ""

#: ../../../CHANGELOG.md:4337
msgid "2018-09-26"
msgstr ""

#: ../../../CHANGELOG.md:4339
msgid "Disabling Docker container logging"
msgstr ""

#: ../../../CHANGELOG.md:4341
msgid "`--log-driver=none` is used for all Docker containers now."
msgstr ""

#: ../../../CHANGELOG.md:4343
msgid "All these containers are started through systemd anyway and get logged in journald, so there's no need for Docker to be logging the same thing using the default `json-file` driver. Doing that was growing `/var/lib/docker/containers/…` infinitely until service/container restart."
msgstr ""

#: ../../../CHANGELOG.md:4345
msgid "As a result of this, things like `docker logs matrix-synapse` won't work anymore. `journalctl -u matrix-synapse` is how one can see the logs."
msgstr ""

#: ../../../CHANGELOG.md:4348
msgid "2018-09-17"
msgstr ""

#: ../../../CHANGELOG.md:4350
msgid "Service discovery support"
msgstr ""

#: ../../../CHANGELOG.md:4352
msgid "The playbook now helps you set up [service discovery](https://matrix.org/docs/spec/client_server/r0.4.0.html#server-discovery) using a `/.well-known/matrix/client` file."
msgstr ""

#: ../../../CHANGELOG.md:4354
msgid "Additional details are available in [Configuring service discovery via .well-known](docs/configuring-well-known.md)."
msgstr ""

#: ../../../CHANGELOG.md:4360
msgid "from `matrix_nginx_riot_web_data_path` to `matrix_riot_web_data_path`"
msgstr ""

#: ../../../CHANGELOG.md:4361
msgid "from `matrix_riot_web_default_identity_server_url` to `matrix_identity_server_url`"
msgstr ""

#: ../../../CHANGELOG.md:4364
msgid "2018-09-07"
msgstr ""

#: ../../../CHANGELOG.md:4366
msgid "Mautrix Telegram bridging support"
msgstr ""

#: ../../../CHANGELOG.md:4368
msgid "The playbook now supports bridging with [Telegram](https://telegram.org/) by installing the [mautrix-telegram](https://github.com/tulir/mautrix-telegram) bridge. This playbook functionality is available thanks to [@izissise](https://github.com/izissise)."
msgstr ""

#: ../../../CHANGELOG.md:4370
msgid "Additional details are available in [Setting up Mautrix Telegram bridging](docs/configuring-playbook-bridge-mautrix-telegram.md)."
msgstr ""

#: ../../../CHANGELOG.md:4372
msgid "Events cache size increase and configurability for Matrix Synapse"
msgstr ""

#: ../../../CHANGELOG.md:4374
msgid "The playbook now lets you configure Matrix Synapse's `event_cache_size` configuration via the `matrix_synapse_event_cache_size` playbook variable."
msgstr ""

#: ../../../CHANGELOG.md:4376
msgid "Previously, this value was hardcoded to `\"10K\"`. From now on, a more reasonable default of `\"100K\"` is used."
msgstr ""

#: ../../../CHANGELOG.md:4378
msgid "Password-peppering support for Matrix Synapse"
msgstr ""

#: ../../../CHANGELOG.md:4380
msgid "The playbook now supports enabling password-peppering for increased security in Matrix Synapse via the `matrix_synapse_password_config_pepper` playbook variable. Using a password pepper is disabled by default (just like it used to be before this playbook variable got introduced) and is not to be enabled/disabled after initial setup, as that would invalidate all existing passwords."
msgstr ""

#: ../../../CHANGELOG.md:4382
msgid "Statistics-reporting support for Matrix Synapse"
msgstr ""

#: ../../../CHANGELOG.md:4384
msgid "There's now a new `matrix_synapse_report_stats` playbook variable, which controls the `report_stats` configuration option for Matrix Synapse. It defaults to `false`, so no change is required to retain your privacy."
msgstr ""

#: ../../../CHANGELOG.md:4386
msgid "If you'd like to start reporting statistics about your homeserver (things like number of users, number of messages sent, uptime, load, etc.) to matrix.org, you can turn on stats reporting."
msgstr ""

#: ../../../CHANGELOG.md:4389
msgid "2018-08-29"
msgstr ""

#: ../../../CHANGELOG.md:4391
msgid "Changing the way SSL certificates are retrieved"
msgstr ""

#: ../../../CHANGELOG.md:4393
msgid "We've been using [acmetool](https://github.com/hlandau/acme) (with the [willwill/acme-docker](https://hub.docker.com/r/willwill/acme-docker/) Docker image) until now."
msgstr ""

#: ../../../CHANGELOG.md:4395
msgid "Due to the Docker image being deprecated, and things looking bleak for acmetool's support of the newer ACME v2 API endpoint, we've switched to using [certbot](https://certbot.eff.org/) (with the [certbot/certbot](https://hub.docker.com/r/certbot/certbot/) Docker image)."
msgstr ""

#: ../../../CHANGELOG.md:4397
msgid "Simply re-running the playbook will retrieve new certificates (via certbot) for you. To ensure you don't leave any old files behind, though, you'd better do this:"
msgstr ""

#: ../../../CHANGELOG.md:4399
msgid "`systemctl stop 'matrix*'`"
msgstr ""

#: ../../../CHANGELOG.md:4400
msgid "stop your custom webserver, if you're running one (only affects you if you've installed with `matrix_nginx_proxy_enabled: false`)"
msgstr ""

#: ../../../CHANGELOG.md:4401
msgid "`mv /matrix/ssl /matrix/ssl-acmetool-delete-later`"
msgstr ""

#: ../../../CHANGELOG.md:4402
msgid "re-run the playbook's [installation](docs/installing.md)"
msgstr ""

#: ../../../CHANGELOG.md:4403
msgid "possibly delete `/matrix/ssl-acmetool-delete-later`"
msgstr ""

#: ../../../CHANGELOG.md:4406
msgid "2018-08-21"
msgstr ""

#: ../../../CHANGELOG.md:4408
msgid "Matrix Corporal support"
msgstr ""

#: ../../../CHANGELOG.md:4410
msgid "The playbook can now install and configure [matrix-corporal](https://github.com/devture/matrix-corporal) for you."
msgstr ""

#: ../../../CHANGELOG.md:4412
msgid "Additional details are available in [Setting up Matrix Corporal](docs/configuring-playbook-matrix-corporal.md)."
msgstr ""

#: ../../../CHANGELOG.md:4415
msgid "2018-08-20"
msgstr ""

#: ../../../CHANGELOG.md:4417
msgid "Matrix Synapse rate limit control variables"
msgstr ""

#: ../../../CHANGELOG.md:4419
msgid "The following new variables can now be configured to control Matrix Synapse's rate-limiting (default values are shown below)."
msgstr ""

#: ../../../CHANGELOG.md:4426
msgid "Shared Secret Auth support via matrix-synapse-shared-secret-auth"
msgstr ""

#: ../../../CHANGELOG.md:4428
msgid "The playbook can now install and configure [matrix-synapse-shared-secret-auth](https://github.com/devture/matrix-synapse-shared-secret-auth) for you."
msgstr ""

#: ../../../CHANGELOG.md:4430
msgid "Additional details are available in [Setting up the Shared Secret Auth password provider module](docs/configuring-playbook-shared-secret-auth.md)."
msgstr ""

#: ../../../CHANGELOG.md:4433
msgid "2018-08-17"
msgstr ""

#: ../../../CHANGELOG.md:4435
msgid "REST auth support via matrix-synapse-rest-auth"
msgstr ""

#: ../../../CHANGELOG.md:4437
msgid "The playbook can now install and configure [matrix-synapse-rest-auth](https://github.com/kamax-io/matrix-synapse-rest-auth) for you."
msgstr ""

#: ../../../CHANGELOG.md:4439
msgid "Additional details are available in [Setting up the REST authentication password provider module](docs/configuring-playbook-rest-auth.md)."
msgstr ""

#: ../../../CHANGELOG.md:4441
msgid "Compression improvements"
msgstr ""

#: ../../../CHANGELOG.md:4443
msgid "Shifted Matrix Synapse compression from happening in the Matrix Synapse, to happening in the nginx proxy that's in front of it."
msgstr ""

#: ../../../CHANGELOG.md:4446
msgid "Additionally, `riot-web` also gets compressed now (in the nginx proxy), which drops the initial page load's size from 5.31MB to 1.86MB."
msgstr ""

#: ../../../CHANGELOG.md:4449
msgid "Disabling some unnecessary Synapse services"
msgstr ""

#: ../../../CHANGELOG.md:4451
msgid "The following services are not necessary, so they have been disabled:"
msgstr ""

#: ../../../CHANGELOG.md:4452
msgid "on the federation port (8448): the `client` service"
msgstr ""

#: ../../../CHANGELOG.md:4453
msgid "on the http port (8008, exposed over 443): the old Angular `webclient` and the `federation` service"
msgstr ""

#: ../../../CHANGELOG.md:4455
msgid "Federation runs only on the federation port (8448) now. The Client APIs run only on the http port (8008) now."
msgstr ""

#: ../../../CHANGELOG.md:4458
msgid "2018-08-15"
msgstr ""

#: ../../../CHANGELOG.md:4460
msgid "mxisd Identity Server support"
msgstr ""

#: ../../../CHANGELOG.md:4462
msgid "The playbook now sets up an [mxisd](https://github.com/kamax-io/mxisd) Identity Server for you by default. Additional details are available in [Setting up ma1sd Identity Server](docs/configuring-playbook-mxisd.md)."
msgstr ""

#: ../../../CHANGELOG.md:4465
msgid "2018-08-14"
msgstr ""

#: ../../../CHANGELOG.md:4467
msgid "Email-sending support"
msgstr ""

#: ../../../CHANGELOG.md:4469
msgid "The playbook now configures an email-sending service (postfix) by default. Additional details are available in [Adjusting email-sending settings](docs/configuring-playbook-email.md)."
msgstr ""

#: ../../../CHANGELOG.md:4471
msgid "With this, Matrix Synapse is able to send email notifications for missed messages, etc."
msgstr ""

#: ../../../CHANGELOG.md:4474
msgid "2018-08-08"
msgstr ""

#: ../../../CHANGELOG.md:4480
msgid "from `matrix_max_upload_size_mb` to `matrix_synapse_max_upload_size_mb`"
msgstr ""

#: ../../../CHANGELOG.md:4481
msgid "from `matrix_max_log_file_size_mb` to `matrix_synapse_max_log_file_size_mb`"
msgstr ""

#: ../../../CHANGELOG.md:4482
msgid "from `matrix_max_log_files_count` to `matrix_synapse_max_log_files_count`"
msgstr ""

#: ../../../CHANGELOG.md:4483
msgid "from `docker_matrix_image` to `matrix_docker_image_synapse`"
msgstr ""

#: ../../../CHANGELOG.md:4484
msgid "from `docker_nginx_image` to `matrix_docker_image_nginx`"
msgstr ""

#: ../../../CHANGELOG.md:4485
msgid "from `docker_riot_image` to `matrix_docker_image_riot`"
msgstr ""

#: ../../../CHANGELOG.md:4486
msgid "from `docker_goofys_image` to `matrix_docker_image_goofys`"
msgstr ""

#: ../../../CHANGELOG.md:4487
msgid "from `docker_coturn_image` to `matrix_docker_image_coturn`"
msgstr ""

#: ../../../CHANGELOG.md:4489
msgid "If you're overriding any of them in your `vars.yml` file, you'd need to change to the new names."
msgstr ""

#: ../../../CHANGELOG.md:4491
msgid "Renaming Ansible playbook tag"
msgstr ""

#: ../../../CHANGELOG.md:4493
msgid "The command for executing the whole playbook has changed. The `setup-main` tag got renamed to `setup-all`."
msgstr ""

#: ../../../CHANGELOG.md:4495
msgid "Docker container linking"
msgstr ""

#: ../../../CHANGELOG.md:4497
msgid "Changed the way the Docker containers are linked together. The ones that need to communicate with others operate in a `matrix` network now and not in the default bridge network."
msgstr ""
